1. 程式人生 > >tensorflow-gpu安裝及問題解決(ImportError: libcudnn.so.7,module 'tensorflow.python.training.checkpointable'

tensorflow-gpu安裝及問題解決(ImportError: libcudnn.so.7,module 'tensorflow.python.training.checkpointable'

最近需要用GPU來進行tensorflow進行訓練,發現需要安裝cuda 9.0版本才可以,因為tensorflow預設的就是cuda 9.0,為了減少對tensorflow原始碼進行重構的時間,將之前的cuda8.0版本進行了解除安裝,然後再安裝cuda 9.0

安裝過程如下:

# instructions from https://developer.nvidia.com/cuda-downloads (linux -> x86_64 -> Ubuntu -> 16.04 -> deb)
CUDA_REPO_PKG="cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb"
wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/${CUDA_REPO_PKG}
sudo dpkg -i ${CUDA_REPO_PKG}
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda-9-0

不過安裝完成之後,發現tensorflow-gpu還是不管用!報了這個錯誤:

定位到/usr/local/cuda目錄下,才發現沒有這個檔案。

在查詢相關資料後,可以安裝單獨的libcudnn 的包,其處理如下:

CUDA_PATCH1="cuda-repo-ubuntu1604-9-0-local-cublas-performance-update_1.0-1_amd64-deb"
wget https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/1/${CUDA_PATCH1}
sudo dpkg -i ${CUDA_PATCH1}
sudo apt-get update

安裝完成後,發現/usr/local/cuda目錄下,仍然沒有這個檔案。

才發現安裝後目錄到了/usr/lib/x86_64-linux-gnu這個路徑下。

於是進行拷貝:sudo cp libcud* /usr/local/cuda/lib64

再次進入tensorflow,發現報錯如下:

這個問題在官網上看到的是tensorflow-gpu 1.8.0的問題,於是升級到1.9.0,再次實驗,果然順利成功。如上圖。