环境前提条件:安装NVIDIA® GPU driver
-
下载官方驱动程序 https://blog.csdn.net/tianrolin/article/details/52830422
-
禁止集成的nouveau驱动
Ubuntu系统集成的显卡驱动程序是nouveau,它是第三方为NVIDIA开发的开源驱动,我们需要先将其屏蔽才能安装NVIDIA官方驱动。
将驱动添加到黑名单blacklist.conf中,但是由于该文件的属性不允许修改。所以需要先修改文件属性。 -
查看属性
$sudo ls -lh /etc/modprobe.d/blacklist.conf
-
修改属性
$sudo chmod 666 /etc/modprobe.d/blacklist.conf
-
在该文件后添加一下几行
blacklist vga16fb blacklist nouveau blacklist rivafb blacklist rivatv blacklist nvidiafb
- 开始安装
先按Ctrl + Alt + F1到控制台,关闭当前图形环境
$sudo service lightdm stop
安装驱动程序
$sudo chmod a+x NVIDIA-Linux-x86_64-xxx.run $sudo ./NVIDIA-Linux-x86_64-xxx.run -no-x-check -no-nouveau-check -no-opengl-files
重新启动图形环境
$sudo service lightdm start
- 开始安装
-
查看显卡驱动版本(确认驱动是否正确安装)
$cat /proc/driver/nvidia/version
安装Doker维护的版本Docker CE:
- 快捷安装
$ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo sh get-docker.sh
- 测试docker安装成功
$ sudo docker run hello-world
安装Nvidia-docker2
- 如果有旧版本Nvidia-docker1,需要先行卸载
# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker
# Add the package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
GPU-support tensorflow
- 确认GPU可用
$ lspci | grep -i nvidia
- 确认nvidia-docker 已安装
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
- 下载并运行一个GPU-enabled TensorFlow
docker run --runtime=nvidia -it --rm tensorflow/tensorflow:latest-gpu \ python -c "import tensorflow as tf; print(tf.contrib.eager.num_gpus())"
- 进入TensorFlow GPU开启一个bash会话
docker run --runtime=nvidia -it tensorflow/tensorflow:latest-gpu bash
docker 中 Jupter 配置
- 指定端口映射
docker run --runtime=nvidia -it -p 8888:8888 tensorflow/tensorflow:latest-gpu
- 通过访问
http://server-ip:8888
访问Jupyter
希望对您有帮助,如有疑问欢迎留言探讨