生命在于编程

生命不息,编程不止

0%

CentOS 7 安装Docker Tensorflow GPU

安装docker-ce

1
2
3
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install yum-utils device-mapper-persistent-data lvm2
yum install docker-ce docker-ce-cli containerd.io

需要的话

1
systemctl start docker

安装nvidia驱动

1
2
3
4
sudo yum-config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
sudo yum clean all
sudo yum -y install nvidia-driver-latest-dkms cuda
sudo yum -y install cuda-drivers

有可能需要重启服务器

安装nvidia-docker

1
2
3
4
5
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo

sudo yum install -y nvidia-container-toolkit
sudo systemctl restart docker

测试docker gpu

1
2
3
docker run --gpus all nvidia/cuda:10.0-base nvidia-smi  
docker run --gpus 2 nvidia/cuda:10.0-base nvidia-smi
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

运行tensorflow gpu简单例子

## docker pull tensorflow/tensorflow:2.0.1-gpu-py3

Tensorflow 1.X

1
2
3
docker run -it --rm tensorflow/tensorflow:1.15.2-gpu-py3 \
python -c "import tensorflow as tf; tf.enable_eager_execution();
print(tf.reduce_sum(tf.random_normal([1000, 1000])))"

Tensorflow 2.X

1
2
3
4
docker run -it --gpus all tensorflow/tensorflow:2.0.1-gpu-py3\
python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))" #OK

docker run --gpus all -it tensorflow/tensorflow:2.0.1-gpu-py3 bash #OK