在做深度学习之前,配环境时遇到了很多坑,各种各样的问题,在此记录一下,也为大家提供一种有效的方案。
一,准备工作
首先检查自己的电脑有没有相关的GPU:
sudo lshw -numeric -C display
之后有一步非常关键,便是安装相关显卡驱动,注意是在官网上的显卡驱动!虽然说CUDA里面也有相关的驱动,但是会出现各种各样的错误,所以还是推荐自己安装。
二,安装CUDA8
CUDA我选择的是8的版本。下载完之后,执行:
sudo sh cuda_8.0.44_linux.run --override
之后会进入安装界面,可以CTRL+C跳过,但是记住Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48? 要选择n,我们采用自己安装的驱动,不采用CUDA内置的驱动
注意:一定要选择runfile版本,不然会出现很多麻烦的事情。
这里面我也遇到了几个坑,尤其是版本对应问题,目前tensorflow不支持CUDA9,因此安装相关的CUDA和Cudnn会出现下列错误:
ImportError: libcudart.so.9.0: cannot open shared object file: No such file or directory
因此还是推荐大家安装CUDA8。之后遇到的一个问题便是CUDA和Cudnn版本的对应问题,CUDA8有两个版本:一个是16年的,一个是17年的,这时候注意,16年对应的Cudnn的版本是Cudnn6,而17年的对应的Cudnn7,不然也会出现上述类似的错误。
配置环境变量
首先输入:
vim ~/.bashrc
或者
vim /etc/profile
在里面写入下列CUDA环境变量
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
之后输入
nvidia-smi
出现对应GPU项,便说明安装成功。
三,Cudnn配置
注意版本!注意版本!!注意版本!!!
这个是这里面唯一的坑~我选择的是6.1的版本
下载好相应的cudnn,进入所在目录中,输入下列指令就可以了:
tar xvzf cudnn-8.0-linux-x64-v6.1.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
四,安装tensorflow-gpu
运行下面指令安装tensorflow
sudo pip install tensorflow-gpu
如果出现
o distributions at all found for tensorflow-gpu Storing debug log for failure in /home/zhouwan/.pip/pip.log
说明pip需要更新,执行下面指令即可
sudo pip install -U pip #更新pip