ubuntu下tensorflow-gpu环境搭建(通过anaconda,手动安装或环境含有cuda和cudnn)

时间:2021-11-16 17:20:06

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))

结果如下:
ubuntu下tensorflow-gpu环境搭建(通过anaconda,手动安装或环境含有cuda和cudnn)
图片中成功检测到了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. 错误1
    ubuntu下tensorflow-gpu环境搭建(通过anaconda,手动安装或环境含有cuda和cudnn)
    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. 错误2
    缺少安装包numpy,
    解决方法:

conda install numpy

环境

  1. ubuntu64位
  2. anaconda, conda 4.3.30
  3. cuda8.0
  4. cudnn5.1
  5. GTX970M
  6. nvidia driver 384

参考资料

  1. Installing TensorFlow on Ubuntu
  2. ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory