在使用GPU來執行keras或tensorflow時,
在安裝環境的時候時常會遇到 :

“ ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory “

這個原因是因為tensorflow-gpu版本對應不上 cuda 的版本

有兩個可以解決的方法:

  1. 降低 tensorflow-gpu 版本 : pip install tensorflow-gpu==1.4.0
  2. 提高 cuda 的版本 : yum install cuda-8-0

Tensorflow-gpu, Cuda, CuDNN , 這些套件之間有版本上的限制, 以下為教導如何查詢這些套件在電腦上的版本, 以及說明其之間版本的對應, 再來看看如何確認是否安裝成功。


查詢套件在電腦上的版本

cuda version

1
$ nvcc --version

or

1
$ cat /usr/local/cuda/version.txt

CuDNN version

1
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

tensorflow-gpu version

1
$ pip list | grep tensorflow

相對應的版本清單

image


確認是否安裝成功

以下這段程式碼會列出tensorflow抓的到的 CPU 和 GPU 資源

#python
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

如下圖, 要是有順利抓到GPU,表示安裝成功,已經可以使用GPU來執行程式了~~~

image


Reference

[1] stackoverflow