簡單敘述一下如何在docker中運行tensorflow,並通過Pycharm連接docker進行開發,避免再次踩坑
1.安裝nvdia顯卡驅動
不一定需要安裝cuda,但可以通過安裝cuda來自動安裝顯卡驅動
2.安裝docker
這部分網上教程很多了,就不再贅述
3.設置docker鏡像加速(可選,此步驟的目的是為了加快pull鏡像的速度)
具體可參考:https://www.runoob.com/docker/docker-mirror-acceleration.html
4.安裝nvidia docker2
注意 根據nvidia docker的github頁面以及我自己的實驗,目前最新版本的docker已經原生支持nvidia gpu的調用,只需要在啟動鏡像時添加--gpus all參數即可。
看似無需額外安裝nvidia docker,但這種原生支持並不被Pycharm所支持,所以還是得安裝nvidia docker2。
5.修改docker daemon的配置文件
sudo vim /etc/docker/daemon.json
將其內容改為
{
"registry-mirrors":["https://registry.docker-cn.com"],
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
}
}
6.重啟daemon進程和docker服務
sudo systemctl daemon-reload
sudo systemctl restart docker
7.拉取tensorflow的鏡像
執行
docker pull tensorflow/tensorflow:2.0.1-gpu-py3
鏡像的tag可以不與上面的一致,可在https://hub.docker.com/r/tensorflow/tensorflow/tags選取適合自己的tag
8.運行tensorflow容器
docker run --rm -it tensorflow/tensorflow:2.0.1-gpu-py3 bash
可加上-v /example:/inner 將宿主機的/example文件夾掛載到容器的/inner,實現文件數據共享
9.安裝Pycharm Pro
后面的先挖坑,以后再填