TensorFlow函數(shù):tf.stack

2018-03-19 10:36 更新

tf.stack函數(shù)

tf.stack(
    values,
    axis=0,
    name='stack'
)

定義在:tensorflow/python/ops/array_ops.py.

請參閱指南:圖層(contrib)>構建神經網絡圖層的更高級別操作,張量變換>分割和連接

將秩為 R 的張量列表堆疊成一個秩為 (R+1) 的張量.

將 values 中的張量列表打包成一個張量,該張量比 values 中的每個張量都高一個秩,通過沿 axis 維度打包.給定一個形狀為(A, B, C)的張量的長度 N 的列表;

如果 axis == 0,那么 output 張量將具有形狀(N, A, B, C).如果 axis == 1,那么 output 張量將具有形狀(A, N, B, C).

例如:

x = tf.constant([1, 4])
y = tf.constant([2, 5])
z = tf.constant([3, 6])
tf.stack([x, y, z])  # [[1, 4], [2, 5], [3, 6]] (Pack along first dim.)
tf.stack([x, y, z], axis=1)  # [[1, 2, 3], [4, 5, 6]]

這與 unpack 相反,numpy 相當于:

tf.stack([x, y, z]) = np.stack([x, y, z])

函數(shù)參數(shù):

  • values:具有相同形狀和類型的 Tensor 對象列表.
  • axis:一個 int,要一起堆疊的軸,默認為第一維,負值環(huán)繞,所以有效范圍是[-(R+1), R+1).
  • name:此操作的名稱(可選).

函數(shù)返回值:

  • output:與 values 具有相同的類型的堆疊的 Tensor.

可能引發(fā)的異常:

  • ValueError:如果 axis 超出范圍 [ - (R + 1),R + 1),則引發(fā)此異常.
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號