在使用pytorch搭建深度學習模型的時候,肯定會遇到對數(shù)據(jù)維度進行轉(zhuǎn)換的場景,比如輸入的原始數(shù)據(jù)和我們模型要求的形狀不一致時,就需要進行reshape到規(guī)定的形狀,才可以正確的輸入模型中,那么如何對pytorch中的tensor轉(zhuǎn)換其維度呢?下面我們來介紹一下。
查看tensor的維度:torch.Tensor.size()
舉例如下:
import torch? ? # 導入庫
a = torch.Tensor([[[1, 2], [3, 4], [5, 6]]])? # 創(chuàng)建tensor
a.size()? ? ?# 查看tensor形狀
輸出:torch.Size([1, 3, 2])
張量變形:torch.Tensor.view(*args)?
舉例如下:
a = torch.Tensor([[[1, 2], [3, 4], [5, 6]]])? # 創(chuàng)建tensor
b = a.view(3, 6)? ?# tensor 變形為 (3, 6)
b.size()? ? ? ? ? ? ? ? # 查看b的形狀
輸出: torch.Size([3, 6])
使用注意事項
需要保證tensor中的數(shù)據(jù)量是不變的,如(3, 6) -> (2,3,3)??