1. 程式人生 > 程式設計 >pytorch多GPU並行運算的實現

pytorch多GPU並行運算的實現

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。