0%

配置 CentOS7 GPU 环境

基本配置

  1. 先装 wget
    1
    yum -y install wget
  2. 新建自己的文件夹
    1
    mkdir sunyan

    安装 Anoconda

  3. 下载 Anoconda。注意最新 Anoconda 的是 3.7 版本的,但是 tensorflow 还没有更新到 3.7,这里我们安装 2018 年 5 月发布的 python 3.6 版本。

    1
    wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.2.0-Linux-x86_64.sh
  4. 安装 bzip2

    1
    yum install -y bzip2
  5. 安装 Anoconda,一路 yes 即可。

    1
    bash Anaconda3-5.2.0-Linux-x86_64.sh
  6. 使能配置

    1
    source .bashrc
  7. 输入 Python,查看是否配置正确

Conda 安装 TesnorFlow GPU 版本

  1. 配置国内 conda 源。由于 cudnn 和 cuda 很大,conda 又在国外,容易导致下载中断,这里我们配置国内中科大的镜像。
    1
    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
  2. 安装
    1
    conda install tensorflow-gpu
    我的 cuda 版本是 9.0,cudnn 版本是 7.1.2,tensorflow-gpu 版本是 1.9.0。

安装 NVIDIA 驱动

  1. 安装 gcc

    1
    yum -y install gcc-c++
  2. 安装 Open JDK

    1
    yum  install  java-1.8.0-openjdk   java-1.8.0-openjdk-devel
  3. 检测显卡驱动及型号

    1
    2
    3
    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
    sudo yum install nvidia-detect


    这里显示的是 Tesla P4,410.66 NVIDIA driver

  4. 官网下载对应的驱动

    1
    wget http://cn.download.nvidia.com/tesla/384.145/NVIDIA-Linux-x86_64-384.145.run
  5. 屏蔽默认带有的 nouveau, 使用 su 命令切换到 root 用户下,然后修改 /etc/modprobe.d/blacklist.conf 文件,如果系统没有该文件需要新建一个。

    1
    2
    su root
    echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist.conf

    然后查看一下文件内容:

    1
    cat /etc/modprobe.d/blacklist.conf

  6. 重建 initramfs image

    1
    2
    mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
    dracut /boot/initramfs-$(uname -r).img $(uname -r)
  7. 修改运行级别为文本模式

1
systemctl set-default multi-user.target
  1. 重新启动,使用 root 用户登陆,这里需要等待一下,约 1 分钟。

    1
    2
    sudo iptables stop
    reboot
  2. 查看 nouveau 是否已经禁用,如果没有显示相关的内容,说明已禁用。

    1
    ls mod | grep nouveau
  3. 安装 kenel-devel
    1
    2
    wget ftp://ftp.riken.jp/Linux/cern/centos/7/updates/x86_64/Packages/kernel-devel-3.10.0-693.17.1.el7.x86_64.rpm
    yum install kernel-devel-3.10.0-693.17.1.el7.x86_64.rpm
  4. 安装 NVIDIA 驱动,一路 Enter 即可
    1
    2
    chmod +x NVIDIA-Linux-x86_64-384.145.run
    sh NVIDIA-Linux-x86_64-384.145.run

    测试

  5. nvidia-smi 测试和 TensorFlow 测试,显示 GPU 信息即可。报警告没有关系,是 TF 本身的警告,也可以通过 pip install h5py==2.8.0rc1 来解决。

    1
    2
    3
    4
    nvidia-smi
    python3
    import tensorflow as tf
    sess = tf.Session()


  6. 更换 PyPi 为国内源

    1
    2
    3
    pip install pqi
    pqi use tuna
    pqi show
  7. 更换 conda 源为国内源

    1
    2
    3
    4
    5
    6
    7
    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
    conda config --set show_channel_urls yes
支持一根棒棒糖!