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还是不管用!报了这个错误:

ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory

定位到/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安装及问题解决(ImportError: libcudnn.so.7,module 'tensorflow.python.training.checkpointable'_第1张图片

这个问题在官网上看到的是tensorflow-gpu 1.8.0的问题,于是升级到1.9.0,再次实验,果然顺利成功。如上图。

你可能感兴趣的:(tensorflow)