Linux Ubuntu 配置Anaconda3+cuda+cuDNN+torch

办公室买了一台新电脑,又是安环境的一天……记录一下所有的过程。参考了很多很多很多的博客,已经很难找到链接了,感谢所有分享经验的大佬。

详细过程

安装 anaconda3

  1. 下载
    清华 anaconda 镜像源
    找到合适的版本,使用 wget 命令下载
    wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh
  2. 安装
    可以安装在 /opt/ 目录下。(该目录一般存放大型软件)
    bash Anaconda3-2021.11-Linux-x86_64.sh
  3. 配置环境变量
    vim ~/.bashrc
    在文末加上 anaconda3/bin 的绝对路径
    export PATH=$PATH:/home/software/anaconda3/bin
    保存退出,运行以下命令使其生效:
    source ~/.bashrc
  4. 验证
    conda -V

可能出现的问题

  • 切换用户之后 conda 命令不存在
    解决方法:在新用户下设置环境变量。

安装 cuda

安装 cuda 是一个艰难的过程……加油!
注意:版本选择问题:首先,务必先在官网确认你想下载的pytorch版本对应的cuda版本,再确定你的驱动的版本,有些cuda版本是没有对应的 torch 版本的(比如 cuda11.2)

安装前准备

  1. 确认显卡驱动安装无误
    nvidia-smi
    出现下图是正确的。下面的 CUDA Version 指的是该版本的驱动支持的最高cuda版本
    nvidia
    如果没有出现上图,说明显卡驱动装错了。换一个驱动。
    在 Ubuntu 下更换驱动的方法:软件和更新 -> 附加驱动 -> 选择你的心动驱动 -> 应用更改。如果提示重启生效,请重启,不要做无谓的挣扎
  2. 下载对应的安装文件
    前往官网下载对应的 cuda 文件。请注意,如果需要下载以前的版本,在网页下端 Resources 部分有 Archive of Previous CUDA Releases 链接,点进去可以下之前的版本。如下图:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ueN37MgK-1670298206967)(:/429b2e56152549958415b37bb13b03d0)]
    选好之后,下面会给出下载的链接,运行
    wget https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run
  3. 确认依赖包已安装
    在安装 CUDA Toolkit 前,要确保系统安装了 gcc 和 make。如果希望使用 C++ 进行 CUDA 编程,需要安装 g++。如果想要运行 CUDA 例程序,需要安装相应的依赖库。(一般运行第二句就行了)
    sudo apt update # 更新 apt
    sudo apt install gcc g++ make # 安装 gcc g++ make
    sudo apt install libglu1-mesa libxi-dev libxmu-dev libglu1-mesa-dev freeglut3-dev # 安装依赖库
  4. 确认nouveau已经禁用
    输入 lsmod | grep nouveau,无事发生则可以。一般正确安装了 nvidia 驱动这个就已经被禁掉了。
  5. 关闭图形界面
    sudo telinit 3
    (可以通过 sudo systemctl start gdm3 回到图形界面)
    如果输入该命令后,黑屏,没有图形界面也没有命令界面,就是显示屏失去信号,那也许是显卡驱动的问题,请更换显卡驱动。

正式开始安装

  1. 运行 cuda 文件
    sudo chmod a+x cuda_9.2_linux.run # 给cuda文件可执行权限
    sudo ./cuda_9.2_linux.run --no-opengl-libs # 运行
    cuda主要有以下参数:
    • --no-opengl-libs:表示只安装驱动文件,不安装OpenGL文件。必需参数,原因同上。注意:不是-no-opengl-files。
    • --uninstall (deprecated):用于卸载CUDA Driver(已废弃)。
    • --toolkit:表示只安装CUDA Toolkit,不安装Driver和Samples
    • --help:查看更多高级选项。
  2. 安装注意事项
    1. 会先有个阅读声明,一直按D即可,然后accept。
    2. 选项install nvidia accelerated Graphics Driver,输入n,因为我们已经安装了nvidia的驱动。
    3. 选项install the OpenGL libraries,如果双显卡(集显+独显)选择n,如果只有独显可以选择y,如果双显卡选择y的话,会出现黑屏或者循环登录的问题,如果加了上面的参数就不会出现这个选项了。
    4. 后面的可以都选择yes,最后一个选项我们可以选择n,也就是不复制Samples,因为安装目录下有samples。
    5. 安装过程结束后会有以下信息:
      Driver :Installed
      Toolkit :Installed in /usr/local/cuda-9.2
      Samples :Installed in /home/vincent
  3. 修改环境变量
    这里可能需要重启一下。然后进入终端,修改环境变量
    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
    保存退出,运行以下命令使其生效:
    source ~/.bashrc
    注意,我们这里写的环境变量是 /cuda 而不是 /cuda-11.2 之类的,这里可以通过软链接同时安装多个版本的 cuda 并进行管理。
    sudo rm -rf cuda # 删除之前的软链接
    sudo ln -s /usr/local/cuda-11.2 /usr/local/cuda # 创建新的软链接
  4. 验证是否安装成功
    nvcc -V

可能出现的问题

  • 切换用户之后 nvcc 命令不存在
    解决方法:在新用户下设置环境变量。
  • nvcc 命令不存在并且建议通过 apt 安装
    解决方法:这种很可能是因为环境变量没设置好,你已经安装过 cuda 了,所以不要再安一次。设置好环境再试试。记得设置好后用 source 命令使其生效。

安装 cudnn

  1. 下载文件
    根据 cuda 版本,在官网找到对应的 cuDNN 版本。
    需要账号。自己申请一个就行,没什么限制。
    复制cuDNN库的链接,使用 wget下载或者下载。
  2. 解压
    tar -xvf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz
  3. 复制,授权
    cd cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive
    sudo cp lib/* /usr/local/cuda-11.2/lib64/
    sudo cp include/* /usr/local/cuda-11.2/include/
    sudo chmod a+r /usr/local/cuda-11.2/lib64/*
    sudo chmod a+r /usr/local/cuda-11.2/include/*
  4. 验证安装成功
    通过下面的命令查看安装情况,如果结果如下图逐行显示版本号,则安装成功。
    旧版为 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2,新版为 cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
    在这里插入图片描述

安装 pytorch

  1. 新建并进入虚拟环境
    conda create env_name python=3.9
    conda activate env_name
  2. 获得下载链接并下载安装
    官网获取对应版本的下载链接。如果用 conda 命令下载,一直卡在检查环境那里,可能是版本对应不完美,就算了别纠结,换成 pip 命令下载。
  3. 验证安装成功
    进入 python,import torch
    torch.cuda.is_available()

可能出现的问题

如果报错 "ERROR: Could not find a version that satisfies the requirement … (from versions: …) "版本找不到,但是下载连接是从官网复制的,那么大概率是你的 python 版本太低或者太高,用 conda 命令改下 python 版本(至于改到哪个版本,你看你要下载的 pytorch 版本和报错信息中提供的版本,如果报错信息中有的版本比你要下载的基本都低,那就升高 python,具体升高到多少不确定,+0.2试试,不行再改):

  • python3 --version # 查看目前 python 版本
  • conda install python=x.x # 更新 python 版本

快速查询

官网网址

清华 anaconda 镜像源
nvidia cuda 官网
nvidia cudnn 官网
pytorch 官网

版本选择

首先,务必先在官网确认你想下载的pytorch版本对应的cuda版本,再确定你的驱动的版本,有些cuda版本是没有对应的 torch 版本的(比如 cuda11.2)
其次,如果想装 detectron2,先去官网看看目前有哪些可以下载。如果你的 torch 版本或者 cuda 版本过高,可能会没有适配的 detectron2。

环境变量

切换用户之后无法使用:暂时我也没搞清为什么,所以每个用户都是设置的单独的环境配置文件。

  1. vim ~/.bashrc
  2. 使用 export 加入对应的环境,保存退出。
  3. source ~/.bashrc

注意,最后这句不运行的话不起效

  • conda 环境变量
    export PATH=$PATH:/home/software/anaconda3/bin
  • cuda 环境变量
    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
  • 切换 cuda 版本软链接
    sudo rm -rf cuda # 删除之前的软链接
    sudo ln -s /usr/local/cuda-11.2 /usr/local/cuda # 创建新的软链接

验证

  • 验证 conda
    conda --version
  • 验证显卡驱动
    nvidia-smi
    如果没有打印表,说明显卡驱动装错了。换一个驱动,如果提示重启生效,请重启,不要做无谓的挣扎。
  • 验证 cuda
    nvcc -V
    注意,这里如果显示无此命令,建议用 apt 安装,别信他的,这是因为没有配置好环境变量的原因,请按照环境变量那一节配置。
  • 验证 cudnn
    旧版为 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
    新版为 cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
  • 验证 pytorch
    torch.cuda.is_available()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值