pytorch cuda上tensor的定義 以及減少cpu的操作詳解
cuda上tensor的定義
a = torch.ones(1000,1000,3).cuda()
某一gpu上定義
cuda1 = torch.device('cuda:1')
b = torch.randn((1000,1000,1000),device=cuda1)
刪除某一變量
del a
在cpu定義tensor然后轉到gpu
torch.zeros().cuda()
直接在gpu上定義,這樣就減少了cpu的損耗
torch.cuda.FloatTensor(batch_size, self.hidden_dim, self.height, self.width).fill_(0)
補充知識:pytorch cuda.FloatTensor->FloatTensor
錯誤類型:
RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor)
定義殘差塊時定義在model的外面,在使用gpu進行訓練的時候,殘差塊的參數是torch.FloatTensor類型,
雖然使用了model.cuda(),但是只對model里面的參數在gpu部分,所以把殘差塊對應的操作都在model的__init__(),
重新定義,即可解決問題
以上這篇pytorch cuda上tensor的定義 以及減少cpu的操作詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python .py生成.pyd文件并打包.exe 的注意事項說明
這篇文章主要介紹了Python .py生成.pyd文件并打包.exe 的注意事項說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
django restframework序列化字段校驗規(guī)則
本文主要介紹了django restframework序列化字段校驗規(guī)則,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-05-05

