1
PyTorch的torch.transpose
函數僅轉換2D輸入。文檔是here。PyTorch中沒有N維轉錄
另一方面,Tensorflow的tf.transpose
函數允許您轉置張量N
任意尺寸。
有人可以請解釋爲什麼PyTorch不能/不能有N維轉置功能?這是由於PyTorch中計算圖構造的動態特性與Tensorflow的Define-then-Run範式相對應嗎?
PyTorch的torch.transpose
函數僅轉換2D輸入。文檔是here。PyTorch中沒有N維轉錄
另一方面,Tensorflow的tf.transpose
函數允許您轉置張量N
任意尺寸。
有人可以請解釋爲什麼PyTorch不能/不能有N維轉置功能?這是由於PyTorch中計算圖構造的動態特性與Tensorflow的Define-then-Run範式相對應嗎?
它在pytorch中簡單地被稱爲不同。 torch.Tensor.permute將允許您在pytorch中交換尺寸,例如TensorFlow中的tf.transpose。
作爲如何你一個4D圖像張量從NHWC轉換爲NCHW一個例子(未測試,因此可能包含bug):
>>> img_nhwc = torch.randn(10, 480, 640, 3)
>>> img_nhwc.size()
torch.Size([10, 480, 640, 3])
>>> img_nchw = img_nhwc.permute(0, 3, 1, 2)
>>> img_nchw.size()
torch.Size([10, 3, 480, 640])