tensorflow-gpu的安装

安装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即可