您好,登錄后才能下訂單哦!
不懂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的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。