Linux服务器安装pytorch的超详细流程

基本的环境

  1. 首先了解本身服务器的操做系统内核版本等信息:
    1. 查看本身操做系统的版本信息:cat /etc/issue 或者是 cat /etc/lsb-release 等命令 html

    2. 查看服务器显卡信息:python

      1. lspci | grep -i nvidia 查看所有显卡信息。
      2. nvidia-smi 若是已经安装了对应的显卡驱动的话能够采用这个命令。
      3. cat /proc/driver/nvidia/version 查看安装的显卡的驱动信息。

      显卡驱动的安装须要根据操做系统的版本进行选择。

多版本的gcc 和g++

gccg++是不少驱动安装过程当中须要使用的编译器,不少时候因为编译器版本的不对应会使得安装出现不少莫民奇妙的错误,根据经验,如今的CUDA 10.1的话,也可使用的是4.8,所以最好选择4.8-5.4之间的版本比较好,兼容一点。对于多版本的gccg++的安装进行详细的讲解:linux

  1. 查看本身的gccg++版本:gcc --version以及 g++ --version
  2. 安装新的或者安装多版本的gcc以及g++的流程:
    1. sudo add-apt-repository ppa:ubuntu-toolchain-r/test 首先加入一些更新的仓库,以便于更新。
    2. sudo apt-get update 以及sudo apt get update 对须要的软件包等进行必要的更新。
    3. sudo apt-get install gcc-4.9 以及sudo apt-get install g++-4.9用于安装对应版本的gcc以及g++。注意本身须要的版本本身修改。
    4. sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
      sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
      这两行用于将刚安装的gccg++相似于注册的操做加入到bin中,用于可选择操做。也就是说经过这个操做不断向系统注册新的gccg++版本。
    5. update-alternatives --config gcc
      update-alternatives --config g++用于对版本进行选择。进入以后根据提示完成选择便可。若是权限不够加 sudo
    6. 通常咱们是使用4.8-5.4之间的版本编译器便可。若是仍是出现错误的话,首选的操做应该是卸载显卡驱动重装显卡驱动。这个方法的成功率最高。

驱动安装

  若是须要安装显卡的话,须要先将旧版本的显卡驱动卸载:
  sudo apt-get remove --purge nvidia*
  此外,安装以前,须要先禁用一个东西。nouveau。
  sudo vim /etc/modprobe.d/blacklist.conf
  在文件的最后面加入如下的内容:
ubuntu

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
复制代码

  检查操做是否成功:lsmod | grep nouveau没显示即成功。
vim

  显卡驱动的安装比较简单,直接到官网进行对应的驱动的下载。点我下载 bash


  注意在驱动的下载那里,操做系统的选择直接选择LInux-xbit便可,这个是能够搜索获得的,若是选择ubuntu16等搜不到。亲测直接搜索Linux 64-bit安装有效可用!
  将下载好的显卡驱动上传到服务器进行安装。
   sudo ./NVIDIA-Linux-x86_64-430.34.run 采用该命令进行驱动的安装。安装完成以后,能够采用如下命令进行检查:
   nvidia-smi

CUDA安装以及cudnn安装

  CUDA是GPU进行计算的运算平台,根据须要安装对应版本的cuda。 服务器

这里须要注意的是,最好在安装显卡驱动的时候选择对应的 cuda版本,而后在安装 cuda的时候的版本保持一致,虽然高版本的驱动能够兼容低版本的 cuda

  1. 下载对应版本的cuda。cuda各个版本下载点我哦。因为这个网站的入口比较难找,你们最好保存起来哦。
    这是我本身下载的版本。将下载的版本也上传到服务器上进行安装。
    sudo sh cuda_10.0.130_410.48_linux.run 安装方式能够百度一哈。
    安装过程当中的选择项:
    1. nvidia accelerated graphics driver ,n 。由于咱们已经安装过。
    2. 其余的都选yes。
    3. 软链接的创建。注意还有一个选项是软链接的创建,会在/usr/local/下面创建一个软链接cuda该软链接链接到安装的真正的cuda-10.0的地址。软链接的创建能够用于多个版本的cuda的管理。
      如图所示的,黄色的cuda是一个软链接,红色的是多个安装好的CUDA修改软链接就能够修改cuda的版本。
      这是安装完成以后的内容。安装完成以后,采用

nvcc -V对安装进行检查。


若是提示没有找到对应的命令的话,须要进行环境变量的配置。这里咱们按照假设创建的cuda的软链接的方式进行配置:
sudo vim ~/.bashrc加入如下的内容:测试

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
复制代码

以后再使用nvidia-smi 网站

  1. 多版本的CUDA管理。其实很简单,就是那个软链接的管理,例如我须要其余版本的cuda,因为个人环境比变量直接指向的是一个软链接,所以我能够删除旧的软链接再创建新的软链接的方式来实现不一样版本的cuda的切换。
sudo rm -rf cuda # 删除旧版本的软链接
sudo ln -s /usr/local/cuda-9.1 /usr/local/cuda  # 创建新版本的软链接,前面的路径是须要的版本的cuda的安装路径。
复制代码
  1. 安装对应的cudnn。根据cuda版本选择对应的cudnn进行安装。点我进行下载
    进去以后花花绿绿的什么鬼一大堆,若是采用安装的方式的话,须要每一个版本的操做系统须要下载3个deb文件,就很烦。所以咱们直接下载箭头对应的版本,改文件的后缀是cudnn-10.0-linux-x64-v7.3.0.29.solitairetheme8这种也是也是tgz。将下载来的文件进行解压便可。
cp  cudnn-10.0-linux-x64-v7.3.0.29.solitairetheme8 cudnn-10.0-linux-x64-v7.3.0.29.tgz # 换后缀
tar -xvf cudnn-8.0-linux-x64-v5.1.tgz  # 解压
复制代码

解压以后获得一个 cuda文件夹。采用以下的操做进行cudnn的安装。(这时候的cudnn要直接安装到对应的版本的cuda的真实的安装路径中。这样创建软链接的时候才会读到cudnn文件)ui

sudo cp cuda/include/cudnn.h    /usr/local/cuda-xx.x/include # 填写对应的版本的cuda路径
sudo cp cuda/lib64/libcudnn*    /usr/local/cuda-xx.x/lib64   # 填写对应的版本的cuda路径
sudo chmod a+r /usr/local/cuda-xx.xx/include/cudnn.h   /usr/local/cuda-xx.xx/lib64/libcudnn*
复制代码

若是喜欢采用deb的安装方式的参见

以上流程若是走下来仍是出错的话,建议从新卸载显卡驱动再来一次。



Anaconda了解和安装

采用Anaconda进行python环境的管理是一个很高效的解决方案。从仓库下载对应版本的软件进行安装。点我下载

bash Anaconda3-5.0.1-Linux-x86_64.sh 安装。安装过程须要赞成将安装路径加入到环境变量的配置文件中。 source ~.bashrc使其生效。

  1. 创建本身新的环境 conda create-n your_name python=your_version
  2. 激活新的环境 source activate your_name

Pytorch安装

到pytorch官网下载对应版本的pytorch 便可。官网

根据生产的命令进行安装。安装完成以后测试:

python  # 进入python 环境
import torch  # 导入安装的pytorch包
torch.cuda.is_available()  # 检查cuda是否可使用
复制代码

若是torch.cuda.is_available()若是输出是false,那就表示前面的驱动或者cuda的安装有问题,最可能的就是驱动。直接卸载从新安装显卡驱动便可解决问题。

相关文章
相关标签/搜索