ubuntu下tensorflow-gpu环境搭建(通过anaconda,手动安装或环境含有cuda和cudnn)
安装tensorflow-gpu之前,你需要先安装nvidia driver、接着安装cuda+cudnn、最后安装anaconda
第一步 创造一份conda环境
conda create -n tensorflow python=3.6
第二步 激活tensorflow环境
source activate tensorflow
第三步 安装tensorflow-gpu
安装代码格式如下
pip install –ignore-installed –upgrade tfBinaryURL(一个链接),其中 tfBinaryURL可以在此处获得 URL of the TensorFlow Python package.
for example
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.3.0-cp36-cp36m-linux_x86_64.whl
第四步 测试tensorflow gpu安装成功与否
测试代码如下:
import tensorflow as tf
a = tf.constant([1.,2.,3.,4.,5.,6.], shape=[2,3], name='a')
b = tf.constant([1.,2.,3.,4.,5.,6.], shape=[3,2], name='b')
c = tf.matmul(a,b)
with tf.Session(config= tf.ConfigProto(log_device_placement=True)) as sess:
print(sess.run(c))
结果如下:
图片中成功检测到了GPU GTX970M,表明tensorflow-gpu安装成功,且可以使用tensorflow-gpu可以调用GPU运行
GPU使用率:terminal下run:nvidia-smi -q -g 0 -d UTILIZATION -l
or run:watch -n 2 nvidia-smi
五、常见报错
-
错误1
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory这是因为我装了tensorflow-gpu 1.6版本,我之前的安装命令如下
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.6.0-cp36-cp36m-linux_x86_64.whl
所以安装的1.6版本,而我用的是cuda 8.0和cudnn5.1,1.6版本要求cuda 9.0. cuda8.0和cudnn5.1只支持tensorflow-gpu 1.2版本
我的解决方法是:
pip uninstall tensorflow-gpu==1.6.0 pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.2.0-cp36-cp36m-linux_x86_64.whl
移除tensorflow-gpu 1.6版本,安装1.2版本
错误2
缺少安装包numpy,
解决方法:
conda install numpy
环境
- ubuntu64位
- anaconda, conda 4.3.30
- cuda8.0
- cudnn5.1
- GTX970M
- nvidia driver 384