【深度学习环境搭建(一)】cuda和pytorch

深度学习环境搭建(一)cuda和pytorch

  • 系统配置
  • Python环境配置
  • CUDA环境配置
  • pytorch环境配置

系统配置

  1. 服务器型号:Dell PowerEdge R730
  2. 硬件:
    1. CPU:Intel® Xeon® CPU E5-2650 v4 @ 2.20GHz
    2. 显卡:Tesla K80
    3. 内存:16G * 4根 2400MHZ
    4. 硬盘:250G
  3. 系统:Ubuntu 16.04

Python环境配置

Ubuntu1604自带python3.5.2,然而,该版本不符合python pandas的最低版本要求。需要安装python3.7。安装步骤如下:

  1. 按照阿里云开源镜像站-ubuntu官方提示,将自带的apt源换成阿里源。
    https://developer.aliyun.com/mirror/pypi?spm=a2c6h.13651102.0.0.53322f70faPNLn
    
    并执行
    sudo apt-get update
    
  2. 按照Stack Overflow中的步骤建议使用apt安装新的python3.7,不改动原有python3.5的环境,具体地,执行:
    1. 将ppa添加至仓库
      sudo add-apt-repository  ppa:deadsnakes/ppa
      
      这步可能会提示gpg: keyserver timed out,多尝试几次则成功,成功后执行
      sudo apt-get update
      
    2. 安装python3.7
      sudo apt-get install build-essential libpq-dev openssl libffi-dev zlib1g-dev 
      sudo apt-get install python3-pip python3.7-dev
      
    3. 注意,当前Pip将并不适用python3.7,需要重新安装pip
      python3.7 -m pip install pip
      
    4. 此后在使用pip时,统一以
      python3.7 -m pip
      
      代替pip

pip 整体过程如果不使用sudo将会出现ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied的权限问题,这是因为当前用户没有相关路径的权限。

使用安装包安装python时可能会出现新版本的python代替系统内旧版本的python的问题,致使系统内一些组件无法正常运行。

CUDA环境配置

CUDA官方提供了完整的安装流程,然而官方的流程中也有模糊不清的地方。具体的安装步骤如下:

  1. 执行官方文档的安装前工作

    1. 检查当前显卡是否在CUDA支持显卡的列表中
    2. 检查Linux系统版本和GCC是否支持CUDA:
      uname -m && cat /etc/*release
      gcc --version
      
      对应是否支持cuda可以在官方文档-系统要求的表格中找到
    3. 检查内核头是否与当前版本对应(这步没有检查,感觉没更新系统应该没问题)。具体检查的方法在这篇文档中
  2. 屏蔽掉ubuntu nouveau显卡驱动

    1. 检查nouveau是否正在运行:

      	lsmod | grep nouveau
      

      如果有,执行如下步骤

    2. 根据官方文档-4.4屏蔽nouveau,首先建立黑名单文件

      sudo vim /etc/modprobe.d/blacklist-nouveau.conf
      

      输入如下内容:

      blacklist nouveau
      options nouveau modeset=0
      

      重建启动文件

      sudo /sbin/mkinitrd
      
    3. 重新启动

      sudo reboot
      

      重新启动可能带来图形界面无法进入的问题,这时需要进入文本界面。

      这里的现象是系统起不来,ssh连不上,必须按下服务器的硬重启键才能重新启动。重启后服务器仍然可以进入系统界面。

      重启后验证noveau 发现没有内容了

    4. 关闭图形显示

      后续需要安装CUDA包自带的NVIDIA显卡驱动,如果跳过此步,则报错。

      按照这篇文章执行:

      sudo sh /etc/init.d/lightdm stop
      

      也可以尝试按照这篇参考文档,执行:

      sudo service lightdm stop
      
  3. 以安装包方式安装cuda

    这里需要吐槽官方文档的问题,原文如下:

    $ sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
    

    你敢告诉我distro version architecture是啥、填啥么?

    实际安装中大致按照官方流程走,如下:

    1. 不下载最新版本,而在Archive目录中下载旧版本的.run包。

    2. 以10.0为例,在页面选择好选项,即可看到如下:
      【深度学习环境搭建(一)】cuda和pytorch_第1张图片

    3. 下载run包,并使用u盘拷贝进入服务器,更改权限为777并运行

    4. 运行过程中,提示是否安装NVIDIA驱动,选择yes

    5. 选择cuda sample路径时,将路径选择至/opt/cuda_sample,而非在某一用户的家目录下,个人认为这样比较合理

    6. 检查驱动文件是否成功安装:查看是否存在/dev/nvidia*文件。若没有,则执行官方文档中的脚本

      #!/bin/bash
      
      /sbin/modprobe nvidia
      
      if [ "$?" -eq 0 ]; then
        # Count the number of NVIDIA controllers found.
        NVDEVS=`lspci | grep -i NVIDIA`
        N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
        NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`
      
        N=`expr $N3D + $NVGA - 1`
        for i in `seq 0 $N`; do
          mknod -m 666 /dev/nvidia$i c 195 $i
        done
      
        mknod -m 666 /dev/nvidiactl c 195 255
      
      else
        exit 1
      fi
      
      /sbin/modprobe nvidia-uvm
      
      if [ "$?" -eq 0 ]; then
        # Find out the major device number used by the nvidia-uvm driver
        D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`
      
        mknod -m 666 /dev/nvidia-uvm c $D 0
      else
        exit 1
      fi
      

      执行过后将在/dev目录下看到带有nvidia的设备文件

  4. 执行安装后行动

    1. 配置环境变量

      官网的环境变量以10.2为例,并没有按照官网的步骤走,而是按照参考文档以如下方式配置环境变量:

      export CUDA_HOME=/usr/local/cuda-10.0
      export PATH=${PATH}:${CUDA_HOME}/bin
      export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CUDA_HOME}/lib64
      
    2. 其他要求的安装后行动本次环境搭建没有做

  5. 验证

    nvidia-smi
    

pytorch环境配置

pytorch最新版本不支持cuda10.0,也带来很多问题。可以下载旧版本

  1. 在先前的版本目录中找到V1.2.0
  2. 直接以pip安装
    python3.7 -m pip install torch==1.2.0 torchvision==0.4.0 -f https://download.pytorch.org/whl/torch_stable.html
    
  3. 验证 安装成功

你可能感兴趣的:(深度学习)