python代码转换为pytorch_pytorch实现Tensor变量之间的转换
系統默認是torch.FloatTensor類型
data = torch.Tensor(2,3)是一個2*3的張量,類型為FloatTensor
data.cuda()就轉換為GPU的張量類型,torch.cuda.FloatTensor類型
(1) CPU或GPU之間的張量轉換
在Tensor后加long(), int(), double(),float(),byte()等函數就能將Tensor進行類型轉換type()函數,
data為Tensor數據類型,data.type()為給出data的類型,
如果使用data.type(torch.FloatTensor)則強制轉換為torch.FloatTensor類型張量
(2) CPU張量轉化成GPU張量
data.cuda()
(3) GPU張量轉化成CPU張量
data.cpu()
(4) Variable變量轉換成普通的Tensor
Variable是一個Wrapper,裝在里面的data是tensor,如果Var是Variable變量,使用Var.data獲得Tensor變量
(5) Tensor與numpy array之間的轉換
Tensor->numpy 使用data.numpy(),data為Tensor變量
Numpy->Tensor 使用torch.from_numpy(data),data為numpy變量
(6) 分別獲取張量和數組的尺寸,注意size的使用
torch 張量
獲取張量的尺寸 a.size()
numpy 數組
獲取數組的尺寸 b.shape
獲取數組中元素的個數: b.size (這里和張量中的屬性的size的含義不同)
(7) 升維和降維的問題
unsqueeze(N)升維到第N維
squeeze(N)降維第N維
需要做如下操作:
x = x.unsqueeze(0) 假如x=(3,1080,1920) 操作后 x = (1,3,1080,1920)
降維也是做同樣的操作
以上這篇pytorch實現Tensor變量之間的轉換就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
總結
以上是生活随笔為你收集整理的python代码转换为pytorch_pytorch实现Tensor变量之间的转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图形驱动程序和显卡驱动什么区别_什么是核
- 下一篇: 高斯消去法c++_高斯消去法的算法改进