安装tensorflow-gpu的坑
推荐安装:CUDA9.0(注意不是9.1),cudnn7.1,tensorflow-gpu1.6.0
今天在WIN10上体验了以下tensorflow-gpu安装,感受是Windows做科研真心垃圾,安装软件贼烦。不信?那就请往下看
首先在官网下了CUDA9.1与Cudnn7.1,安装没问题,很舒畅。然后需要安装tensorflow-gpu。所以,通过
Conda create -n tensorflow python=3.5 创建tensorflow运算环境
Activate tensorflow 激活tensorflow运算环境
Conda list 查看该环境下的包
Pip install tensorflow-gpu 安装没问题
Import tensorflow
就是这里,真的是卧槽!!!!!!!!!这里出现各种bug,很明确自己环境变量设置都没有问题,查了很多资料,发现是版本兼容的问题。
我的预编译tensorflow-gpu版本与cuda的版本不兼容,所以找不到相关的文件比如:cudart80_64.dll等(报错找不到该文件),但在环境变量实际有指向cdart90_64.dll文件。好了,针对这个问题,原本想用tensorflow-gpu的源代码编译安装(通过Gcc和bazel),但是google了很多资料,在Windows下通过源代码编译安装的博客很少,给不了指导性的意见,教程一般是在Ubuntu环境下的。
那我怎么解决该问题的呢?
当然是重装cuda了,或者安装和CUDA9.1、Cudnn7.1兼容的tensorflow-gpu呀。这里我选的是第一种方式,Cuda8.0,Cudnn5.1,tensorflow-gpu1.1.0,安装后可以正常运行。
建议:
Windows下要安装tensorflow-gpu真的太烦了,选好版本最重要。要是Ubuntu就直接源代码编译安装吧,编译时可以指定你用的Cuda版本,轻松解决兼容问题。
另外,在安装过程中,conda的使用更清楚了
Conda create -n tensorflow python=3.5 创建一个名叫tensorflow的python3.5环境
Conda remove 删除创建的一个python环境
Conda/pip uninstall … 在已经activate的环境里卸载包
======================================================================================
Ubuntu安装Tensorflow-GPU
1.禁用Ubuntu自带驱动nouveau,禁用方法查看Linux操作博客
2.安装Nvida驱动,可以去Nvidia官网搜索合适的驱动程序
3.安装CUDA,使用deb安装。版本为9.0
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
sudo apt-get update sudo apt-get install cuda
上述程序将cuda默认安装在/usr/locale/cuda中,那么接下来配置环境变量
编辑~/.bashrc配置环境变量,运行source ~/.bashrc即可生效
exportPATH=/usr/local/cuda/bin${PATH:+:${PATH}}
exportLD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
exportCUDA_HOME=/usr/local/cuda
接下来测试GPU:nvcc –version nvidia-smi
4.安装cudnn,版本为7.0.5:即把从cudnn解压出的文件复制到CUDA安装目录对应位置中
tar -xzvfcudnn-9.0-linux-x64-v7.tgz
sudo cpcuda/include/cudnn.h /usr/local/cuda/include/
sudo cpcuda/lib64/libcudnn /usr/local/cuda/lib64/ -d
sudo chmod a+r/usr/local/cuda/include/cudnn.h
sudo chmod a+r/usr/local/cuda/lib64/libcudnn
5.安装tensorflow
创建conda环境
source activate环境
pip install tensorflow-gpu==1.8.0即可