Docker环境运行tensorflow

0 Docker容器!

看起来似乎和主机没什么区别...

Docker环境运行tensorflow_第1张图片


1 进入Docker并打开Jupyter

sudo nvidia-docker run -p 8888:8888 --privileged=true --device /dev/nvidia-uvm:/dev/nvidia-uvm --device /dev/nvidia0:/dev/nvidia0 --device /dev/nvidia1:/dev/nvidia1 --device /dev/nvidiactl:/dev/nvidiactl -it -v /home/test:/home/ghy -v /usr/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu / tensorflow/tensorflow:latest-gpu
注:

-p 8888:8888  打开Jupyter(端口号为8888),前面的8888为指定的本地端口号

-v /usr/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu 不这么写的话,在使用Tensorflow时会出现‘ ImportError: libcuda.so.1: cannot open shared object file: No such file or directory’

/ tensorflow/tensorflow:latest-gpu 下载的TensorFlow镜像

Docker环境运行tensorflow_第2张图片

2 查看正在运行的容器

sudo docker ps -a

Docker环境运行tensorflow_第3张图片


3 进入其中一个容器

48945e4a21b2为其中一个CONTAINER ID

sudo docker exec -it 48945e4a21b2 /bin/bash

4 运行代码

有三种方式:直接运行,运行.py文件,在Jupyter运行。


4.1 直接运行

依次输入命令:

python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print sess.run(hello)
Hello, TensorFlow!
结果如下图,

Docker环境运行tensorflow_第4张图片


4.2 运行.py文件

主机和Docker交换文件的方式如下图,

Docker环境运行tensorflow_第5张图片


由于docker环境中没有gedit,因此需要将程序在主机中写好,再拷贝到docker与主机映射的文件夹下。
sudo docker cp /home/ghy/test/test.py 48945e4a21b2:/home/ghy/

python test.py

运行结果同4.1


4.3  在Jupyter运行

选择new ->Python2

Docker环境运行tensorflow_第6张图片


打开Untitled.ipyn文件,并输入代码

Docker环境运行tensorflow_第7张图片


点Run,得到结果

Docker环境运行tensorflow_第8张图片


你可能感兴趣的:(tensorflow)