詳解tf.reshape
阿新 • • 發佈:2019-02-03
函式原型:
tf.reshape(
tensor,
shape,
name=None
)
功能改變張量(tensor)的形狀。
tensor
形參傳入一個tensor。shape
傳入一個向量,代表新tensor的維度數和每個維度的長度。如果傳入[3,4,5]
,就會返回一個內含各分量數值和原傳入張量一模一樣的3*4*5尺寸的張量。
如果shape
傳入的向量某一個分量設定為-1,比如[-1,4,5]
,那麼這個分量代表的維度尺寸會被自動計算出來。
- 用法一,一個尺寸為1*9的張量轉化為3*3的張量:
# tensor 't' is [1, 2, 3, 4, 5 , 6, 7, 8, 9]
# tensor 't' has shape [9]
reshape(t, [3, 3]) ==> [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
- 用法二,一個尺寸為3 * 2 * 3的張量,轉換為第二個維度尺寸為9的張量,即n*9的張量:
reshape(t, [-1, 9]) ==> [[1, 1, 1, 2, 2, 2, 3, 3, 3],
[4, 4, 4, 5, 5, 5, 6, 6, 6]]
顯然,n被計算為2。
- 用法三,僅含有單個元素的張量轉化為標量:
t
為張量[7]
reshape(t, []) ==> 7