本文记录下在centos 7.5服务器下配置环境踩过的坑,配置的内容包括显卡驱动,多版本cuda,cudnn(由于不同版本的tensorflow-gpu对cuda和cudnn的版本有不同的需求。可能需要同时配置cuda8+cudnn5.1和cuda9+cudnn7,tensorflow-gpu版本和cuda/cudnn版本的对应关系见博客。)。tensorflow-gpu的安装
一 显卡驱动
显卡驱动的安装需要依赖kernel devel和gcc。所以要先安装kernel devel和gcc。同时要禁用centos7.5自带的显卡驱动nouveau。
1、kernel devel和gcc的安装
yum install kernel-devel-$(uname -r) gcc
如yun install过程中报错,则进行以下配置。yum的总统配置过程与pip和conda的配置差不多一样。都需要换国内源和加代理(如果服务器是公司内网需要使用代理的话)
1)yum增加代理
vim /etc/yum.conf
在该文件中增加一句代理设置,http://中设置为自己的代理即可。
proxy=http://x.x.x.x:5000
2)yum换源
(1)备份原有源
cd /etc/yum.repos.d
mv ./CentOS-Base.repo ./CentOS-Base-repo.bak
(2)下载国内的源(如163的源)
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
或者直接打开http://mirrors.163.com/.help/CentOS7-Base-163.repo网站下载
将下载后的源改名
mv CentOS7-Base-163.repo CentOS-Base.repo
yum clean all
yum makecache
至此yum换源和代理设置完成。可使用yum install安装 kernel devel和gcc了
2、禁用centos自带的显卡驱动nouveau
1)将nouveau加入黑名单
echo 'blacklist nouveau' >> /etc/modprobe.d/blacklist.conf
2)备份 initramfs 文件(系统内核镜像文件)
备份后重启
sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
sudo dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
sudo systemctl disable gdm
sudo reboot
3)验证nouveau是否关闭成功
执行以下命令如果没有输出则关闭成功
lsmod | grep nouveau
3、安装显卡驱动
1)下载符合自己显卡并且版本高于cuda要求的显卡驱动。
全部需要下载的文件如下:
cuda_8.0.61.2_linux-run cuda补丁
cuda_8.0.61_375.26_linux-run cuda8.0驱动
cudnn-8.0-linux-x64-v6.0.tgz cudnn6.0(针对cuda8.0)
NVIDIA-Linux-x86_64-410.78.run NVIDIA驱动
2、下载后运行安装
./NVIDIA-Linux-x86_64-384.69.run
systemctl enable gdm
reboot
3、验证是否安装成功:
执行以下命令有输出则安装成功
nvidia-smi
二、安装cuda/cudnn
1、安装cuda
./cuda_8.0.61_375.26_linux-run
2、安装cuda补丁
./cuda_8.0.61.2_linux-run
vim /etc/profile
#将以下加入到profile环境变量中
export PATH="/usr/local/cuda-8.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64"
export CUDA_HOME="/usr/local/cuda"
source /etc/profile
3、安装cudnn:
tar -xzvf cudnn-8.0-linux-x64-v6.0.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*
ps:如需要多版本的cuda/cudnn。可使用conda envs将不同版本的cuda/cudnn隔离即可。详细多版本安装操作参见我的另一篇博客。
三、tensorflow-gpu安装
直接使用pip install制定版本安装。(pip install也需要换源加代理可提升下载速度,自行百度 )
pip install --proxy=x.x.x.x:5000 tensorflow-gpu==1.12.0