终于安装配置完成了ubuntu+docker+tensorflow-gpu+jupyter的全部环境
总体过程挺曲折,花费了近一周的业余时间,但是边学边干,安装的过程也是学习的过程,收获很大
本文记录一下最杂乱的地方,就是nvidia-docker的安装,本身安装不难,杂乱是因为nvidia-docker有好几个版本,最新版nvidia-container-toolkit的资料相当少
最新版的nvidia-docker就是nvidia-container-toolkit,比nvidia-docker2更加优秀。官方的解释是"Usage of nvidia-docker2 packages are deprecated since NVIDIA GPUs are now natively supported as devices in the Docker runtime"。(机翻:不赞成使用nvidia-docker2包,因为nvidia GPU现在在Docker运行时本机作为可支持设备)
nvidia-container-toolkit需要主机已安装当前新版的docker 19.03
使用nvidia-container-toolkit的最大优点:linux主机不需要安装cuda和cudnn,仅安装显卡驱动即可(tensorflow和nvidia-docker官方均强调这一点)
我的系统配置:
OS:Ubuntu18.04 64 bit(直接用‘软件和更新’安装显卡驱动)
显卡:NVidia GTX 20**
docker ce v19.03
image:tensorflow/tensorflow:latest-gpu-py3(tf2.1-gpu,python3.6.9)
安装过程:
从终端运行docker
#Add the package
repositoriesdistribution=$(. /etc/os-release;echo$ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey|sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list|sudo tee /etc/apt/sources.list.d/nvidia-docker.listsudo
apt-get update&&sudo apt-get install -y nvidia-container-toolkitsudo
systemctl restart docker
#安装完毕
#新开tf-gpu容器
sudo docker run --gpus all -it ImageName bash
# --gpus all意思是使用所有gpu进行加速,很多深度学习的主机有多个gpu
#在python中验证gpu是否生效
>>> import tensorflow as tf
>>> tf.config.list_physical_devices('GPU')
输入如下:
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
安装完成
nvidia-docker官方github,特别值得参考:https://github.com/NVIDIA/nvidia-docker