pytorch多GPU并行運(yùn)算的實(shí)現(xiàn)
Pytorch多GPU運(yùn)行
設(shè)置可用GPU環(huán)境變量。例如,使用0號和1號GPU'
os.environ["CUDA_VISIBLE_DEVICES"] = '0,1'
設(shè)置模型參數(shù)放置到多個(gè)GPU上。在pytorch1.0之后的版本中,多GPU運(yùn)行變得十分方便,先將模型的參數(shù)設(shè)置并行
if torch.cuda.device_count() > 1: print("Let's use", torch.cuda.device_count(), "GPUs!") model = nn.DataParallel(model)
將模型參數(shù)設(shè)置使用GPU運(yùn)行
if torch.cuda.is_available(): model.cuda()
踩坑記錄
在訓(xùn)練中,需要使用驗(yàn)證集/測試集對目前的準(zhǔn)確率進(jìn)行測試,驗(yàn)證集/測試集的加載也會占用部分顯存,所以在訓(xùn)練開始時(shí),不要將所有顯存都幾乎占滿,稍微留一些顯存給訓(xùn)練過程中的測試環(huán)節(jié)
pytorch并行后,假設(shè)batchsize設(shè)置為64,表示每張并行使用的GPU都使用batchsize=64來計(jì)算(單張卡使用時(shí),使用batchsize=64比較合適時(shí),多張卡并行時(shí),batchsize仍為64比較合適,而不是64*并行卡數(shù))。
參考
https://www.zhihu.com/question/67726969
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)百度OCR圖片識別過程解析
這篇文章主要介紹了python實(shí)現(xiàn)百度OCR圖片識別過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01

詳解Pytorch自動(dòng)求導(dǎo)機(jī)制

Python 批量合并多個(gè)txt文件的實(shí)例講解