在Docker Ubuntu镜像中安装tensorflow-gpu

需要在一个Ubuntu的docker镜像中配置tensorflow-gpu环境,按照官网的instruction来一步一步做(安装CUDA的地方有点不同):https://www.tensorflow.org/get_started/os_setup

Step 1 安装Anaconda(python 2.7)
官方网站:https://www.continuum.io/downloads#linux
右键复制下载地址:https://repo.continuum.io/archive/Anaconda2-4.3.0-Linux-x86_64.sh
用wget将安装包下载到当前目录。
刚刚下载下来这个文件不是可执行文件,先加权限,在终端输入命令:sudo chmod +x xxxx.sh
加了权限以后,直接运行 ./xxxx.sh
安装包会自动将anaconda的相关路径加到全局环境变量PATH中。

Step 2 安装CUDA(8.0)
官方网站:https://developer.nvidia.com/cuda-downloads
查看了一下系统的版本号cat /etc/issue,然后根据版本不同来选择下载,然后发现在镜像里面下载不了被墙了,就在外面下好,然后拷贝到镜像里面(可以用winscp这个软件)。
安装包里面有三个文件:Nvidia toolkit,CUDA-samples和CUDA安装包。
先解压安装包sudo sh cuda-xxx.run -extract=/保存的绝对路径,然后只运行解压后的cuda-xxx.run就可以了,没必要安装那么多。
一般会自动给/usr/local/cuda-x.0文件夹建一个symbolic link为/usr/local/cuda,两个地址是等价的。

Step 3 安装加速库cuDNN
官方网址:https://developer.nvidia.com/cudnn
要下载压缩包需要先注册一个账号,然后下载。
只需要解压压缩包,然后将里面的文件拷贝到cuda路径下面。
tar xvzf cudnn-8.0-linux-x64-v5.1-ga.tgz
sudo cp -P cuda/include/cudnn.h /usr/local/cuda/include
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

接着环境变量LD_LIBRARY_PATH里面将CUDA动态链接库的路径加上,一般是/usr/local/cuda/lib64
(加到用户自己的环境中,编辑/home/user/.bashrcsudo vim /home/user/.bashrc,在末尾加一行export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH。保存退出后,让环境立即生效source /home/user/.bashrc。)

Step 4 安装tensorflow(GPU版本)
首先创建一个虚拟环境conda create -n tensorflow python=2.7,会在这个环境里面另外安装一个python 2.7和相关的库。
打开虚拟环境source activate tensorflow
设置好要tensorflow下载的地址:
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-0.12.1-cp27-none-linux_x86_64.whl
安装tensorflow:
pip install --ignore-installed --upgrade $TF_BINARY_URL

Step 5 测试tensorflow
$ python
\> import tensorflow as tf
\> hello = tf.constant('Hello, TensorFlow!')
\> gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.1)
\> sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
\> print(sess.run(hello))
Hello, TensorFlow!
\> a = tf.constant(10)
\> b = tf.constant(32)
\> print(sess.run(a + b))
42
\>

如果配置GPU环境成功,可以用nvidia-smi来查看测试前后GPU内存的变化。我这里设置了使用GPU内存的10%。

到此,环境配置完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值