亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

pytorch 使用單個(gè)GPU與多個(gè)GPU進(jìn)行訓(xùn)練與測(cè)試的方法

 更新時(shí)間:2019年08月19日 16:41:59   作者:gaishi_hero  
今天小編就為大家分享一篇pytorch 使用單個(gè)GPU與多個(gè)GPU進(jìn)行訓(xùn)練與測(cè)試的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

如下所示:

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")#第一行代碼
model.to(device)#第二行代碼

首先是上面兩行代碼放在讀取數(shù)據(jù)之前。

mytensor = my_tensor.to(device)#第三行代碼

然后是第三行代碼。這句代碼的意思是將所有最開(kāi)始讀取數(shù)據(jù)時(shí)的tersor變量copy一份到device所指定的GPU上去,之后的運(yùn)算都在GPU上進(jìn)行。需要注意的是這句話并不像前面的兩行代碼一樣只需要寫(xiě)一遍,第三行代碼需要寫(xiě)的次數(shù)就等于需要保存到GPU上的tensor變量個(gè)數(shù);一般情況下這些tensor變量都是最開(kāi)始讀取數(shù)據(jù)時(shí)的tensor變量,后面所衍生的變量自然也都在GPU之上。

以上是使用單個(gè)GPU的情況。當(dāng)你擁有多個(gè)GPU時(shí),要想使用多個(gè)GPU進(jìn)行訓(xùn)練和測(cè)試,需要在第一二行代碼之間插上下面這樣一個(gè)判斷語(yǔ)句,其余的寫(xiě)法也都是一樣的。

if torch.cuda.device_count() > 1:
 model = nn.DataParallel(model)

使用多個(gè)GPU的原理就是通過(guò)上面這句代碼將model在每個(gè)GPU上分別保存一份,然后對(duì)model的輸入tensor進(jìn)行自動(dòng)的分割,每個(gè)GPU計(jì)算tensor的一部分,這樣就能實(shí)現(xiàn)計(jì)算量的平均分配。在每個(gè)model計(jì)算完成之后,DataParallel將這些結(jié)果進(jìn)行收集和融合,之后再將結(jié)果返回。

以上這篇pytorch 使用單個(gè)GPU與多個(gè)GPU進(jìn)行訓(xùn)練與測(cè)試的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論