不懂pytorch cuda對tensor的定義以及減少cpu的方法?其實(shí)想解決這個(gè)問題也不難,下面讓小編帶著大家一起學(xué)習(xí)怎么去解決,希望大家閱讀完這篇文章后大所收獲。
創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)廣饒,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108cuda上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然后轉(zhuǎn)到gpu
torch.zeros().cuda()
直接在gpu上定義,這樣就減少了cpu的損耗
torch.cuda.FloatTensor(batch_size, self.hidden_dim, self.height, self.width).fill_(0)
補(bǔ)充知識:pytorch cuda.FloatTensor->FloatTensor
錯(cuò)誤類型:
RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor)
定義殘差塊時(shí)定義在model的外面,在使用gpu進(jìn)行訓(xùn)練的時(shí)候,殘差塊的參數(shù)是torch.FloatTensor類型,
雖然使用了model.cuda(),但是只對model里面的參數(shù)在gpu部分,所以把殘差塊對應(yīng)的操作都在model的__init__(),
重新定義,即可解決問題
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享pytorch cuda對tensor的定義以及減少cpu的方法內(nèi)容對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!