pytorch實現(xiàn)Tensor變量之間的轉(zhuǎn)換
系統(tǒng)默認(rèn)是torch.FloatTensor類型
data = torch.Tensor(2,3)是一個2*3的張量,類型為FloatTensor
data.cuda()就轉(zhuǎn)換為GPU的張量類型,torch.cuda.FloatTensor類型
(1) CPU或GPU之間的張量轉(zhuǎn)換
在Tensor后加long(), int(), double(),float(),byte()等函數(shù)就能將Tensor進(jìn)行類型轉(zhuǎn)換type()函數(shù),
data為Tensor數(shù)據(jù)類型,data.type()為給出data的類型,
如果使用data.type(torch.FloatTensor)則強(qiáng)制轉(zhuǎn)換為torch.FloatTensor類型張量
(2) CPU張量轉(zhuǎn)化成GPU張量
data.cuda()
(3) GPU張量轉(zhuǎn)化成CPU張量
data.cpu()
(4) Variable變量轉(zhuǎn)換成普通的Tensor
Variable是一個Wrapper,裝在里面的data是tensor,如果Var是Variable變量,使用Var.data獲得Tensor變量
(5) Tensor與numpy array之間的轉(zhuǎn)換
Tensor->numpy 使用data.numpy(),data為Tensor變量
Numpy->Tensor 使用torch.from_numpy(data),data為numpy變量
(6) 分別獲取張量和數(shù)組的尺寸,注意size的使用
torch 張量
獲取張量的尺寸 a.size()
numpy 數(shù)組
獲取數(shù)組的尺寸 b.shape
獲取數(shù)組中元素的個數(shù): b.size (這里和張量中的屬性的size的含義不同)
(7) 升維和降維的問題
unsqueeze(N)升維到第N維
squeeze(N)降維第N維
需要做如下操作:
x = x.unsqueeze(0) 假如x=(3,1080,1920) 操作后 x = (1,3,1080,1920)
降維也是做同樣的操作
以上這篇pytorch實現(xiàn)Tensor變量之間的轉(zhuǎn)換就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python讀取txt文件并取其某一列數(shù)據(jù)的示例
今天小編就為大家分享一篇python讀取txt文件并取其某一列數(shù)據(jù)的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02
Python的Flask框架中實現(xiàn)分頁功能的教程
這篇文章主要介紹了Python的Flask框架中實現(xiàn)分頁功能的教程,文中的示例基于一個博客來實現(xiàn),需要的朋友可以參考下2015-04-04
Python 如何強(qiáng)制限定小數(shù)點位數(shù)
這篇文章主要介紹了Python 強(qiáng)制限定小數(shù)點位數(shù)的操作方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
通過Python的filestools庫給圖片添加全圖水印的示例詳解
這篇文章主要介紹了通過Python的filestools庫給圖片添加全圖水印,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04
Python如何使用__slots__實現(xiàn)節(jié)省內(nèi)存和性能優(yōu)化
你有想過,一個小小的 __slots__ 能讓你的 Python 類內(nèi)存消耗直接減半嗎,沒錯,今天咱們要聊的就是這個讓人眼前一亮的技巧,感興趣的小伙伴可以了解下2025-03-03

