centos7服务器cuda9.0深度学习环境搭建笔记

硬件篇

centos7服务器cuda9.0深度学习环境搭建笔记_第1张图片

  • 首先是进入BIOS,这里要选择u盘启动,但不能使用uefi启动
    centos7服务器cuda9.0深度学习环境搭建笔记_第2张图片
  • 这里按下tab键修改引导的镜像文件的硬盘盘符。这里要记下centos7镜像u盘的label是什么,可以事先重命名好u盘的名字,这里删掉原本的hd:LABEL={}quiet 然后在花括号范围内填上u盘的名字就好了。![在这里插入图片描述](https://img-blog.csdnimg.cn/20181119140456727.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxOTY1MTk0NzQ1,size_16,color_FFFFFF,t_70
    centos7服务器cuda9.0深度学习环境搭建笔记_第3张图片
  • 然后是喜闻乐见的装系统了
  • 装好要能ping通,注意防火墙,然后用putty开始干活吧

NVIDIA驱动篇

首先是禁用nouveau

centos自带的显卡驱动,这不是机器学习环境想要的驱动
  1. 在配置文件中禁用nouveau
 vi /etc/modprobe.d/blacklist.conf 添加:blacklist nouveau
    CentOS 7:
     vim /usr/lib/modprobe.d/dist-blacklist.conf
    或
     vim /lib/modprobe.d/dist-blacklist.conf
     并且在加上blacklist nouveau之后还要加上一行options nouveau modeset=0
  1. 备份原来的 initramfs nouveau image镜像
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img  
  1. 创建新的 initramfs image镜像
dracut /boot/initramfs-$(uname -r).img $(uname -r)  

重新启动机器后驱动禁用完成

下载NVIDIA驱动

检测显卡驱动及型号

  ##添加ELPepo源
$ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
$ sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
  ##安装NVIDIA驱动检测
$ sudo yum install nvidia-detect
$ nvidia-detect -v
  • 检查是否安装了GPU:
   lspci | grep -i nvidia  
  • 然后去官网下载对应的NVIDIA驱动,runfile形式
  • 安装gcc、g++编译器
   yum install gcc    
   yum install gcc-c++
  • 安装kernel-devel
    centos7服务器cuda9.0深度学习环境搭建笔记_第4张图片
yum install kernel-devel kernel-headers

这里可能要重启一下才能生效
安装完后可以通过nvdia-smi查看显卡使用情况
centos7服务器cuda9.0深度学习环境搭建笔记_第5张图片

cuda9.0

  • 之后去官网下载cuda9.0
    这里一定要注意,并不是越新越好,比如tensorflow的最新的版本是基于cuda9.0安装的。Cuda10没有,cuda9.2只能使用旧版的tensorflow
  • 建议下载runfile版本的cuda。亲测rpm的大坑。
    centos7服务器cuda9.0深度学习环境搭建笔记_第6张图片centos7服务器cuda9.0深度学习环境搭建笔记_第7张图片centos7服务器cuda9.0深度学习环境搭建笔记_第8张图片
  • 安装完成后会在/usr/local目录下生成一个软连接,cuda的路径配置都用这个软连接了。

设置全局的path,这样其他用户也能享受到cuda

vim /etc/bashrc
#gpu driver 
export CUDA_HOME=/usr/local/cuda
export PATH=/usr/local/cuda/bin:$PATH 
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH 
export LD_LIBRARY_PATH="/usr/local/cuda/lib:${LD_LIBRARY_PATH}"

cudnn

  • 这个也要去官网下载对应cuda9.0的版本的cudnn
  • 然后解压,把库拷贝过去
tar -zxvf cudnn-9.0-linux-x64-v7.4.1.5.tgz
cd cuda
cp include/* /usr/local/cuda/include/
cp lib64/lib* /usr/local/cuda/lib64/

运行cuda自带的测试可以发现更多问题

检查 CUDA Toolkit是否安装成功

nvcc -V

编译samples例子

进入到Samples安装目录,然后在该目录下终端输入make,等待十来分钟。 
编译完成后测试 
可以在Samples里面找到bin/x86_64/linux/release/目录,并切换到该目录 
运行deviceQuery程序,sudo ./deviceQuery 
查看输出结果,重点关注最后一行,Pass表示通过测试 

若出现cudaGetDeviceCount returned 30/35的错误,说明是显卡的驱动版本和cuda的版本不匹配,需要重新下载一个NVIDIA驱动的runfile重新安装显卡驱动


tensorflow

  • 这里使用tensorflow测试cuda情况
  • 只安装tensorflow-gpu版本,不安装cpu版本,这样若显卡调用失败可以看到debug信息
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

centos7服务器cuda9.0深度学习环境搭建笔记_第9张图片

你可能感兴趣的:(机器视觉,centos,cuda,tensorflow)