1. 程式人生 > >ubuntu下tensorflow-gpu環境搭建(通過anaconda,需預先手動安裝(或環境含有)cuda和cudnn)

ubuntu下tensorflow-gpu環境搭建(通過anaconda,需預先手動安裝(或環境含有)cuda和cudnn)

第一步 創造一份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. 錯誤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. 錯誤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

參考資料