pytorch多GPU並行運算的實現
阿新 • • 發佈:2020-01-09
Pytorch多GPU執行
設定可用GPU環境變數。例如,使用0號和1號GPU'
os.environ["CUDA_VISIBLE_DEVICES"] = '0,1'
設定模型引數放置到多個GPU上。在pytorch1.0之後的版本中,多GPU執行變得十分方便,先將模型的引數設定並行
if torch.cuda.device_count() > 1: print("Let's use",torch.cuda.device_count(),"GPUs!") model = nn.DataParallel(model)
將模型引數設定使用GPU執行
if torch.cuda.is_available(): model.cuda()
踩坑記錄
在訓練中,需要使用驗證集/測試集對目前的準確率進行測試,驗證集/測試集的載入也會佔用部分視訊記憶體,所以在訓練開始時,不要將所有視訊記憶體都幾乎佔滿,稍微留一些視訊記憶體給訓練過程中的測試環節
pytorch並行後,假設batchsize設定為64,表示每張並行使用的GPU都使用batchsize=64來計算(單張卡使用時,使用batchsize=64比較合適時,多張卡並行時,batchsize仍為64比較合適,而不是64*並行卡數)。
參考
https://www.zhihu.com/question/67726969
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。