• Ubuntu 18.04 + CUDA 11.3.0 + CUDNN 8.2.1 + Anaconda + Pytorch 1.10


    写在最前面

    Ubuntu 18.04 + CUDA 11.3.0 + CUDNN 8.2.1 + Anaconda + Pytorch 1.10

    不需要有外网,也不需要虚拟机的图形化界面

    下载安装都是本机去阿里镜像网站下载whl,然后通过xftp传输,失败率降到最低

    若报错,可参考完整流程:https://blog.csdn.net/wtyuong/article/details/127877543

    参考

    https://blog.csdn.net/TU_Dresden/article/details/121049141
    https://blog.csdn.net/weixin_43491255/article/details/118549032
    https://blog.csdn.net/a563562675/article/details/119458550
    https://blog.csdn.net/a563562675/article/details/119458550
    https://blog.csdn.net/qq_44315987/article/details/106314054
    (下面这个链接内含各种报错)
    https://blog.csdn.net/Williamcsj/article/details/123523087
    https://blog.csdn.net/A496608119/article/details/123455529
    https://blog.csdn.net/qq_51570094/article/details/124148671

    Xshell常用命令

    Ctrl + Shift 复制
    Insert + Shift 粘贴

    Ubantu

    Ctrl+Alt+T打开终端

    检查系统的各项配置

    查看ubuntu系统的版本信息和gcc版本

    cat /proc/version
    
    • 1

    Linux version 5.4.0-131-generic (buildd@lcy02-amd64-092) linux内核版本号
    gcc version 7.5.0 gcc编译器版本号7.5
    Ubuntu 7.5.0-3ubuntu1~18.04 Ubuntu版本号18.04

    在这里插入图片描述

    查看Linux的内核版本和系统是多少位的

    uname -a
    
    • 1

    在这里插入图片描述

    显示正在使用的内核为5.4.0-131-generic。
    X86_64代表系统是64位的。

    验证机器是否具有n卡

    lspci | grep -i nvidia
    
    • 1

    在这里插入图片描述

    验证内核

    sudo apt-get install linux-headers-$(uname -r)
    
    • 1

    在这里插入图片描述

    查看原有的显卡版本和CUDA支持(如果安装了跳过安装显卡nvidia)

    nvidia-smi
    
    • 1

    在这里插入图片描述

    各种配置(建议不要省略)

    安装vim

    sudo apt-get install vim
    
    • 1

    增加pip镜像源

    安装pip

    apt install pip
    
    • 1

    检查pip源

    pip config list
    
    • 1

    增加镜像源

    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simpleWriting
    
    • 1

    禁用nouveau

    sudo vim /etc/modprobe.d/blacklist.conf 
    
    • 1

    打开上述文档添加这两行保存

    blacklist nouveau
    options nouveau modeset=0
    
    • 1
    • 2

    刷新

     sudo update-initramfs -u
    
    • 1

    重启电脑,一定要重启。

    sudo reboot
    
    • 1

    然后输入这个命令

     lsmod | grep nouveau
    
    • 1

    如果啥也没输出,就是成功关闭了。

    开启SSH服务

    https://blog.csdn.net/qq_42130526/article/details/119972366

    检查是否开启SSH服务

    因为Ubuntu默认是不安装SSH服务的,所以在安装之前可以查看目前系统是否安装,通过以下命令:

    ps -e |grep ssh
    
    • 1

    输出的结果ssh-agent表示ssh-client启动,sshd表示ssh-server启动。我们是需要安装服务端所以应该看是否有sshd,如果没有则说明没有安装。

    启动SSH服务

    sudo /etc/init.d/ssh start
    
    • 1

    在这里插入图片描述

    安装显卡驱动

    卸载显卡驱动

    sudo apt-get remove --purge nvidia*
    sudo apt autoremove
    
    • 1
    • 2

    请添加图片描述

    安装显卡驱动

    加入PPA,然后更新库

    sudo apt-get update
    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt-get update
    
    • 1
    • 2
    • 3

    直接装系统推荐显卡驱动,出错几率小(但需要注意:cuda11.3要求465以上!!!)

    会自动安装推荐的版本(一般是最高的版本)

    sudo ubuntu-drivers autoinstall
    
    • 1

    报警告且不动时,再等一会就开始自己安装了
    警告类似于:

    WARNING:root:_pkg_get_support nvidia-driver-510-server: package has invalid Support n model

    在这里插入图片描述

    最后的界面显示
    在这里插入图片描述

    测试安装状态

    查看状态后需要重启!!!

    sudo reboot
    
    • 1

    使用nvidia-smi 查看是否已经读取到安装的驱动,如果提示没有找到命令重启后再试

    nvidia-smi
    
    • 1

    会出现显卡版本和CUDA支持

    例子:
    | NVIDIA-SMI 430.26 Driver Version: 430.26 CUDA Version: 10.2 |
    这个表示:显卡P106-100,显存6G,驱动430.26,CUDA10.2

    在这里插入图片描述

    CUDA

    选择

    下载前仔细看这张图
    在这里插入图片描述

    Table 1. CUDA Toolkit and Compatible Driver Versions
    CUDA Toolkit	Linux x86_64 Driver Version	Windows x86_64 Driver Version
    CUDA 10.2.89	>= 440.33	>= 441.22
    CUDA 10.1 (10.1.105 general release, and updates)	>= 418.39	>= 418.96
    CUDA 10.0.130	>= 410.48	>= 411.31
    CUDA 9.2 (9.2.148 Update 1)	>= 396.37	>= 398.26
    CUDA 9.2 (9.2.88)	>= 396.26	>= 397.44
    CUDA 9.1 (9.1.85)	>= 390.46	>= 391.29
    CUDA 9.0 (9.0.76)	>= 384.81	>= 385.54
    CUDA 8.0 (8.0.61 GA2)	>= 375.26	>= 376.51
    CUDA 8.0 (8.0.44)	>= 367.48	>= 369.30
    CUDA 7.5 (7.5.16)	>= 352.31	>= 353.66
    CUDA 7.0 (7.0.28)	>= 346.46	>= 347.62
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    上图给出了不同版本所要求的的最低驱动要求,尽量选择相同的进行安装。
    编译cuda samples会报错,例如 chrono模块、gcc版本过高等提示。

    与之前的gcc版本进行比对

    gcc --version
    
    • 1

    cuda的gcc依赖版本在官方文档的安装指南上会给出
    在这里插入图片描述
    在这里插入图片描述
    我是Ubuntu18.04.6,gcc7.5.0

    下载+安装

    进入官网
    https://developer.nvidia.com/cuda-toolkit-archive
    普通机器:x86_64 服务器 power architecture

    选择需要的CUDA安装包(runfile格式)
    可以创建一个文件夹保存下载的文件,然后在终端切换到那个目录下,进行相应的命令行 (如下图末尾箭头所指)
    一定要注意版本!!!
    网上推荐CUDA 11.3.0 + CUDNN 8.2.1 + Pytorch 1.10
    这三者的组合非常麻烦,这套亲测成功,别的搭配不敢保证。

    例子:
    在这里插入图片描述
    实际:
    在这里插入图片描述

    不用wget下载,容易因为网不好报错

    下载axel + 将com改为cn

    Tensorflow官网下载东西也是无法直接访问的,但是可以通过镜像访问。微软的官网直接访问速度很慢,可是把网站的后缀.com改成.cn后速度就很快了。
    访问确实快了,但是下载的连接改为cn后是404页面,需要进一步操作

    参考:https://blog.csdn.net/yxt916/article/details/109402650

    1.下载axel(wget的哥哥):
    终端输入:

    sudo apt install -y axel
    
    • 1

    2.看图,复制底下的下载链接:(以下是cuda11.3.0的下载链接,做个示范,你需要复制对应自己的)

    http://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
    
    • 1

    3.把.com改成.cn,使用axel下载cuda11.1:
    终端输入:

    axel -n 50 http://developer.download.nvidia.cn/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
    
    • 1

    (注意这里网址里的.com已经改成了.cn)(具体参数 -n 50作用:狡兔50窟)

    效果:不断线,不降速,已经是成了

    在这里插入图片描述

    执行结束

    sudo sh cuda_11.3.0_465.19.01_linux.run
    
    • 1

    上述命令执行结束出现一个框
    在这里插入图片描述

    通过方向键下移光标,选择continue
    在这里插入图片描述
    打字输入accept

    然后就是下面这个了
    由于已经安装了驱动 按方向键,使得光标在driver上,再按回车,之后通过方向键使光标移动到install
    此时下图里需要将第一行的Driver CUDA 11.0去掉。(注意:回车键作用是将 [X] 就会变成[ ],[X]代表有,[ ]代表无)

    应该将[X] 就会变成[ ]

    在这里插入图片描述

    成功了
    在这里插入图片描述

    配置环境

    装好之后打开环境变量

    vim ~/.bashrc
    
    • 1

    i键进入编辑模式,esc退出,写:wq保存退出
    加入这两行保存,注意我这里是11.3,你如果是别的版本,要改成自己的

    export PATH="/usr/local/cuda-11.3/bin:$PATH"
    export LD_LIBRARY_PATH="/usr/lcoal/cuda-11.3/lib64:$LD_LIBRARY_PATH"
    
    • 1
    • 2

    在这里插入图片描述

    刷新环境变量生效

    source ~/.bashrc
    
    • 1

    测试CUDA

    1、查看版本

    nvcc -V
    
    • 1

    在这里插入图片描述
    2、终端输入

    cd /usr/local/cuda-11.3/samples/1_Utilities/deviceQuery
    sudo make
    sudo ./deviceQuery
    
    • 1
    • 2
    • 3

    输出Result=pass代表成功了,里面显示了CUDA可用的设备信息。

    CUDNN

    下载+安装

    参考:https://blog.csdn.net/avideointerfaces/article/details/104793245

    进入网址下载,要把cudnn版本与cuda版本对应正确
    https://developer.nvidia.com/rdp/cudnn-archive
    上述网址需要注册登录,按照要求完成即可

    tgz易错,但deb卸载麻烦(本文下载tgz文件)
    本机翻墙下载cudnn-11.3-linux-x64-v8.2.1.32,然后Xftp传过去

    在这里插入图片描述
    查看传过去后的文件名

    ls
    
    • 1

    在这里插入图片描述

    进入下载后的文件夹解压后,就可以看见cuda文件夹

    在解压后的文件夹中输入一下命令

    重命名,然后再解压缩。命令如下所示。

    mv cudnn-11.3-linux-x64-v8.2.1.32.tgz cudnn-11.3.tgz
    tar -xvzf cudnn-11.3.tgz
    
    • 1
    • 2

    因为下载的是库,不是源代码,所以不需要编译了。只需要将解压缩出来的so库和头文件拷贝到系统目录下即可。

    在这里插入图片描述

    将cudnn解压后的include和lib64文件夹复制到cuda中

    cuda-11.3 此处是自己版本号 。

    一行行复制,因为要输密码

    sudo cp cuda/include/cudnn.h /usr/local/cuda-11.3/include/  #解压后的文件夹名字为cuda-11.3 
    sudo cp cuda/include/cudnn_version.h /usr/local/cuda-11.3/include/
    sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.3/lib64/ 
    sudo chmod a+r /usr/local/cuda-11.3/include/cudnn.h 
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    最后安装一下依赖

    sudo apt-get install libfreeimage3 libfreeimage-dev
    
    • 1

    查看cudnn版本

    之前网上提供的方式cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2已经不能用了,因为cudnn.h文件里内容修改了,不再存放版本信息。

    使用命令

    cat /usr/local/cuda/include/cudnn.h | grep cudnn
    
    • 1

    查看,发现里面导入了cudnn_version.h文件,版本信息就存放在这个文件里
    在这里插入图片描述

    Anaconda

    下载+安装

    方法1:Anaconda3官网下载
    方法2:清华大学开源软件镜像站下载
    https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

    里面有新旧版本,我下载的是Anaconda3-2021.05-Linux-x86_64.sh版本,如果大家需要其它版本,把这个后缀换成你想下的版本即可;

    wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.05-Linux-x86_64.sh
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    1、运行.sh文件

    bash Anaconda3-2021.05-Linux-x86_64.sh
    
    • 1

    2.进入安装,输入yes
    3.进入阅读注册手册,按 Enter 键
    4.注册手册阅读完, 输入yes进行安装,然后会安装成功

    环境配置

    5.安装成功后,用vim打开环境变量:

    sudo vim ~/.bashrc
    
    • 1

    添加下列语句,保存并退出
    注意: “/home/sc/anaconda3/bin:$PATH” 的 sc是自己的用户名称,每个人都不一样,不知道可以看上面的打开的环境变量有个样本

    export PATH="/home/sc/anaconda3/bin:$PATH"
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    更新环境变量
    在终端输入:

    source ~/.bashrc
    
    • 1

    添加清华源

    将anaconda换一下源(加入清华源)

    参考:https://blog.csdn.net/qq_31878083/article/details/122069771

    vi ~/.condarc
    
    • 1

    把channels里面的https改成http
    这个是网络安全的原因,https协议是有安全性的ssl加密传输协议,是浏览器和服务器之间的通信加密,这样来确保传输的安全。

    auto_activate_base: false
    channels:
      - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
      - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
      - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
      - defaults
    show_channel_urls: true
    default_channels:
      - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
      - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
      - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
    custom_channels:
      conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    为了保证用的是镜像站提供的索引,清除索引缓存,输入:

    conda clean -i 
    
    • 1

    根据不同要求得到命令后,要把-c pytorch去掉,才会去自己添加的镜像源下载

    在这里插入图片描述

    此时,Anaconda3的基础设置弄完了

    Pytorch

    创建conda虚拟环境

    创建一个虚拟环境,用来安装pytorch

    conda create -n pytorch1.12_gpu
    
    or,可以选择Python版本
    
    conda create -n pytorch1.12_gpu python==3.8
    
    这样就创建了一个名字为pytorch1.12_gpu,基于python版本3.8的一个虚拟环境了
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    激活环境

    conda activate pytorch1.12_gpu
    
    或
    
    source activate pytorch1.12_gpu
    
    • 1
    • 2
    • 3
    • 4
    • 5

    安装

    进入官网,查看你的版本对应的安装命令

    https://pytorch.org/get-started/locally/
    在这里插入图片描述

    大家根据自己的情况从上面选一个

    安装文件非常大,因此我选择本机下载,然后传过去

    安装cpu版本

    参考:https://blog.csdn.net/ke996/article/details/112761228

    去官网查看目前的稳定版本为1.13.0
    在这里插入图片描述
    pytorch的whl下载地址.
    https://download.pytorch.org/whl/torch_stable.html

    也就是需要下载这两个包
    cu113/torchvision-0.13.0%2Bcu113-cp39-cp39-linux_x86_64.whl
    cu113/torch-1.12.0%2Bcu113-cp39-cp39-linux_x86_64.whl

    注意cu才是cpu版本,我是cuda11.3,所以选择了这个
    在这里插入图片描述
    特别重要的是cp后面跟着是python版本这个也要下载相应版本
    在这里插入图片描述
    下载到本地后:进入conda环境激活对应的python36

    conda env list
    conda activate pytorch1.12_gpu
    
    • 1
    • 2

    下载python3.9

    conda install python=3.9.0
    
    • 1

    pip install+ whl文件位置
    比如我的

    pip install --no-index --find-links=file:/home/tjh/torch-1.12.0+cu113-cp39-cp39-linux_x86_64.whl(需要替换文件位置)
    
    • 1

    安装gpu版本

    参考:https://blog.csdn.net/weixin_46415031/article/details/114809650

    官网查看配套安装包(但是不要直接安装,而是去镜像网站找,然后下载配套的安装包)
    在这里插入图片描述

    (下面这个不要执行)
    conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.3 -c pytorch
    
    • 1
    • 2

    pytorch的whl下载地址.
    https://download.pytorch.org/whl/torch_stable.html

    比如:torch-1.8.0+cu111-cp36-cp36m-win_amd64.whl
    torchvision-0.9.0+cu111-cp36-cp36m-win_amd64.whl
    在这里插入图片描述

    下载后通过Xftp上传
    在这里插入图片描述

    下载到本地后:进入conda环境激活对应的python36

    conda env list
    conda activate pytorch1.12_gpu
    
    • 1
    • 2

    下载python3.9

    conda install python=3.9.0
    
    • 1

    pip install+ whl文件位置
    比如我的

    pip install --no-index --find-links=file:/home/tjh/torch-1.12.0+cu113-cp39-cp39-linux_x86_64.whl(需要替换文件位置)
    
    • 1

    测试

    进入虚拟环境,输入命令测试,大功告成!

    python3
    
    • 1
    import torch
    torch.cuda.is_available()
    
    • 1
    • 2
    print(torch.__version__) #输出PyTorch版本
    print(torch.__path__) #输出PyTorch的路径
    
    • 1
    • 2

    退出虚拟环境的命令:

    conda deactivate
    
    • 1
    conda env list
    
    • 1

    cpu only测试

    环境名称为pytorch11.3_cpu
    在这里插入图片描述
    查看torchvision 版本

    conda list torchvision
    
    • 1

    在这里插入图片描述

    gpu测试

    在这里插入图片描述
    在这里插入图片描述
    pytorch下载:由于通过命令行下载的pytorch版本是cpu版本,导致后期测试torch测试是否可以使用GPU 时,torch.cuda.is_available()一直返回False.

  • 相关阅读:
    【大数据技术】搭好的集群使用Spark-SQL连接Hive后,无法再次正常使用hive查询数据
    算法金 | 详解过拟合和欠拟合!性感妩媚 VS 大杀四方
    GBase 8c V3.0.0数据类型——范围操作符
    电脑D盘格式化会有什么影响?电脑D盘格式化了怎么恢复数据
    设计数据库表
    Halo升级(Docker Compose安装版本)
    解决js加减乘除精度丢失问题
    Swift 是 C++ 的最佳继任者
    go-fastdfs分布式文件存储集群搭建和测试
    devops-4:Jenkins基于k8s cloud和docker cloud动态增减节点
  • 原文地址:https://blog.csdn.net/wtyuong/article/details/128100101