Ubuntu配置PyTorch环境

可按照以下流程来配置Ubuntu的PyTorch环境.

一些基本命令

查看Ubuntu版本:

cat /etc/issue

apt更新:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove --purge

查看已经安装的软件

apt list --installed

搜索软件列表

apt-cache search nvidia

安装Anaconda 或 Miniconda

AnacondaMiniconda 下载. wget ...

bash ... 安装,不需要sudo权限.

conda update --all

检查Nvidia Driver

关于不同版本的cuda对driver最低version的要求, 参见 Nvidia doc - Table 2. 比如: CUDA 10.2.89 >= 440.33

更新driver

  1. 首选通过 apt-get 安装

    sudo add-apt-repository ppa:graphics-drivers/ppa + sudo apt-get update
    

    搜索列表, 查看是否有需要的版本

    apt-cache search nvidia
    

    安装

    sudo apt-get install nvidia-440
    
  2. 若apt-get安装失败, 可以通过下载cuda.run文件自带的driver安装, 注意在这之前可能需要:

    • 卸载已有cuda
        apt list --installed | grep nvidia
        sudo apt-get --purge autoremove packagename
      
    • 可能需要禁用lightdm服务
        sudo service lightdm stop
      
  3. 若仍有问题, 请参考安装指南.

添加配置, 提高性能

These commands can be added to /etc/rc.local for executing at system boot.

sudo nvidia-smi -pm 1
sudo nvidia-smi -e 0

最终确认nvidia driver是否成功:

nvidia-smi

安装cuda

如果不需要编译带.cu的源文件,可以不需要安装cuda. 因为PyTorch安装的时候,依赖就把runtime的库给安装了.

下载.run文件安装 sudo bash .run.

[!NOTE] 若有补丁, sudo bash cuda_9.1.85.1_linux.run.

安装cudnn

安装cudnn只要copy即可:

sudo cp -r cuda/lib64/* /usr/local/cuda-10.0/lib64/
sudo cp -r cuda/include/* /usr/local/cuda-10.0/include/

[!TIP] 下载cudnn文件需要先注册

新建Anaconda环境

以 pt15 (pytorch 1.5) 为例:

conda create -n pt15 python=3.8

多个cuda版本

如果环境中有多个cuda版本,可以指定conda环境指向的cuda版本.

修改pt15启动环境

  1. activate

    mkdir -p ~/anaconda3/envs/pt15/etc/conda/activate.d
    cd ~/anaconda3/envs/pt15/etc/conda/activate.d
    vim activate.sh
    

    写入以下内容:

    #!/bin/sh
    ORIGINAL_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
    ORIGINAL_PATH=$PATH
    ORIGINAL_CPATH=$CPATH
    export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:/usr/local/cuda-10.2/extras/CUPTI/lib64:/lib/nccl/cuda-10.2:$LD_LIBRARY_PATH
    export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
    export CPATH=/usr/local/cuda-10.2/include${CPATH:+:${CPATH}}
    # (option) export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/libnccl.so:$LD_LIBRARY_PATH
    # you can find the nccl path by ``find /usr -name '*nccl*'``
    
    chmod +x activate.sh
    
  2. deactivate

    mkdir -p ~/anaconda3/envs/pt15/etc/conda/deactivate.d
    cd ~/anaconda3/envs/pt15/etc/conda/deactivate.d
    vim deactivate.sh
    

    写入以下内容:

    #!/bin/sh
    export LD_LIBRARY_PATH=$ORIGINAL_LD_LIBRARY_PATH
    unset ORIGINAL_LD_LIBRARY_PATH
    export PATH=$ORIGINAL_PATH
    unset ORIGINAL_PATH
    export ORIGINAL_CPATH=$ORIGINAL_CPATH
    unset ORIGINAL_CPATH
    
    chmod +x deactivate.sh
    

安装PyTorch

参见 官网 命令 (要确定安装的PyTorch版本, 以及cuda版本).

e.g. conda install pytorch torchvision cudatoolkit=10.2 -c pytorch

验证:

python
import torch
print(torch.__version__)
print(torch.version.cuda)
print(torch.backends.cudnn.version())
print(torch.cuda.is_available())
Copyright © Xintao all right reserved,powered by Gitbook修改时间: 2021-10-28 00:50:45

results matching ""

    No results matching ""