在docker容器下pytorch分布式訓練環境搭建


在docker容器下pytorch分布式訓練環境搭建

docker鏡像的選擇

開始我選擇的是anaconda的鏡像,想根據conda自己構建出pytorch分布式的訓練,后來根據pytorch官方指令

conda install pytorch torchvision torchaudio cudatoolkit=10.1 -c pytorch安裝成功了。

也檢測了GPU可用

print(torch.__version__)
print(torch.cuda.is_available())
print(torch.version.cuda)

但是出現錯誤RuntimeError: NCCL Error 2: unhandled system error經過查詢資料發現應該是NCCL包有問題。但由於我用的學校的服務器,沒有sudo權限,無法安裝,就放棄了。

然后選擇了docker中的pytorch/pytorch鏡像

容器的建立

docker run -itd --gpus all -v /home/tianll:/root/ --name pt -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all pytorch/pytorch:latest

采用的守護式容器建立,能夠把宿主機的文件和容器映射起來,還有GPU硬件的掛載這樣就創建好容器了

程序測試

發現報錯,CUDA的驅動程序太久了,然后理由同上,我無法更新驅動。然后重新利用conda按照官方conda install pytorch torchvision torchaudio cudatoolkit=10.1 -c pytorch重新指定了版本,就能夠使用了

至於分布式訓練代碼的改變

可以查看pytorch的官方代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM