【记录】linux20.04安装cuda、cudnn以及anaconda过程

1.安装cuda

1.1查看电脑驱动即更新驱动

 可以在系统中查看电脑附加驱动,然后应用更改,更改完成后重启电脑

dbfc766e31204699a4ffed1d777ae67e.png

查看是否安装成功

nvidia-smi

显示出现下列,即成功

3d97452ed620460aa4bcce14cb9b2e51.png

1.2下载cuda包

根据对应的驱动Driver Version: 535.183.06   CUDA Version: 12.2,本人选择安装  CUDA Version: 12.2.0版本。官网链接为:

https://developer.nvidia.com/cuda-12-2-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=runfile_local

6db817b5474a428db8888e18bb753583.png

下载:

wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.run

完成后,运行

sudo sh cuda_12.2.0_535.54.03_linux.run

出现下面,点击continue

8dfcb535c419408cb76d01c3b7218a4a.png

输如accept

 

006c45506335492b82ff11124e4d0b1a.png

空格可取消X,即表示不安装。选定好后install即可

7c63f789dca942e7bbe345d0c6e89ccf.png

安装完成后,配置环境变量:

961f3e7bdc43401a9e527d78f7f4cddb.png

source ~/.bashrc

检查是否安装成功:

9e1dd6e3e1f44ebaa18d3f9908d44009.png

1.3卸载coda

卸载.run(local)安装的CUDA

很方便,强烈推荐使用.run的方式安装CUDA

cd /usr/local/cuda-12.2/bin
sudo ./cuda-uninstaller

2.安装CODNN

codnn的安装需要自己注册账号,请自行解决,针对cuda-12.2,本人安装了对应的dodnn版本

链接:https://developer.nvidia.com/rdp/cudnn-archive#a-collapse897-120

c5b7501df0524eef84c52fe986489d87.png

安装,其中 cudnn-local-repo-$distro-8.x.x.x_1.0-1_amd64.deb为下载的deb包

sudo dpkg -i cudnn-local-repo-$distro-8.x.x.x_1.0-1_amd64.deb

安装过程可能会报错,请按照提示,运行类似代码

sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/

安装./cudnn/var/cudnn-local-repo-ubuntu2204-8.9.7.29中的这三个.deb文件

注意,有依赖需求,必须从上往下按顺序安装

cd ./cudnn/var/cudnn-local-repo-ubuntu2204-8.9.7.29
sudo dpkg -i libcudnn8_8.9.7.29-1+cuda12.2_amd64.deb
sudo dpkg -i libcudnn8-dev_8.9.7.29-1+cuda12.2_amd64.deb
sudo dpkg -i libcudnn8-samples_8.9.7.29-1+cuda12.2_amd64.deb

#更新源
sudo apt-get update

验证安装

    基础验证,仅验证可以访问并查询到对应版本信息

    # 先找到cudnn_version文件在哪
   

 $ whereis cudnn_version.h
   cudnn_version.h: /usr/include/cudnn_version.h

    # 打印cudnn_version.h中的信息(匹配到“CUDNN_MAJOR”后打印此行和后(After)2两行)
    # 我的版本号为CUDNN_MAJOR.CUDNN_MINOR.CUDNN_PATCHLEVEL=8.9.7

    $ cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
    #define CUDNN_MAJOR 8
    #define CUDNN_MINOR 9
    #define CUDNN_PATCHLEVEL 7
    #define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)



    /* cannot use constexpr here since this is a C-only file */

    基础验证,仅验证包被正确安装

    $ ldconfig -v | grep cudnn
            …………
            libcudnn_cnn_train.so.8 -> libcudnn_cnn_train.so.8.9.7
            libcudnn.so.8 -> libcudnn.so.8.9.7
            libcudnn_adv_infer.so.8 -> libcudnn_adv_infer.so.8.9.7
            libcudnn_ops_infer.so.8 -> libcudnn_ops_infer.so.8.9.7
            libcudnn_cnn_infer.so.8 -> libcudnn_cnn_infer.so.8.9.7
            libcudnn_ops_train.so.8 -> libcudnn_ops_train.so.8.9.7
            libcudnn_adv_train.so.8 -> libcudnn_adv_train.so.8.9.7

    官方的Sample_demo验证

    $ cd  /usr/src/cudnn_samples_v8/mnistCUDNN
    # 编译the mnistCUDNN sample,成功编译的文件为mnistCUDNN
    $ sudo make clean && make
    # 运行文件
    $ ./mnistCUDNN
    ……
    ……
    Test passed!

    # 说明cuDNN正常运行
      

  sudo make可能会报编译错误:fatal error: FreeImage.h: No such file or director

        $ sudo make
        CUDA_VERSION is 11010
        Linking agains cublasLt = true
        CUDA VERSION: 11010
        TARGET ARCH: x86_64
        HOST_ARCH: x86_64
        TARGET OS: linux
        SMS: 35 50 53 60 61 62 70 72 75 80 86
        test.c:1:10: fatal error: FreeImage.h: No such file or directory
            1 | #include "FreeImage.h"
              |          ^~~~~~~~~~~~~
        compilation terminated.

        解决:

        $ sudo apt install libfreeimage3 libfreeimage-dev
        # 重新编译,成功
        $ sudo make clean && make
        $ ./mnistCUDNN

出现下面即成功:

9f5290454b9e411b8768457fa297c966.png

2.1卸载codnn

卸载cuDNN

    查看已经安装的包有什么

   

 $ sudo dpkg -l | grep cudnn
    ii  cudnn-local-repo-ubuntu2204-8.9.7.29 1.0-1               amd64 cudnn-local repository configuration files
    ii  libcudnn8                            8.9.7.29-1+cuda12.2 amd64 cuDNN runtime libraries
    ii  libcudnn8-dev                        8.9.7.29-1+cuda12.2 amd64 cuDNN development libraries and headers
    ii  libcudnn8-samples                    8.9.7.29-1+cuda12.2 amd64 cuDNN samples

          卸载安装的libcudnn8相关包:

    # 卸载刚才手动安装的三个libcudnn8相关包,要按依赖顺序卸载
    sudo dpkg -P libcudnn8-samples
    sudo dpkg -P libcudnn8-dev
    sudo dpkg -P libcudnn8

          还需要删除安装时使用的本地cuDNN仓库文件:

    sudo dpkg -r cudnn-local-repo-ubuntu2204-8.9.7.29
    sudo rm -rf /var/cudnn-local-repo-ubuntu2204-8.9.7.29

         可以删除导入的GPG密钥:

sudo rm /usr/share/keyrings/cudnn-local-*-keyring.gpg

    清理APT缓存,确保系统不会再尝试使用已删除的仓库:

    sudo apt-get clean
    sudo apt-get update

           仍然报错,说明仍然没有在apt仓库中清理干净:

    $ sudo apt-get update
    Get:1 file:/var/cuda-repo-ubuntu2204-12-4-local  InRelease [1,572 B]
    Get:2 file:/var/cudnn-local-repo-ubuntu2204-8.9.7.29  InRelease
    Ign:2 file:/var/cudnn-local-repo-ubuntu2204-8.9.7.29  InRelease
    Get:1 file:/var/cuda-repo-ubuntu2204-12-4-local  InRelease [1,572 B]
    Get:3 file:/var/cudnn-local-repo-ubuntu2204-8.9.7.29  Release
    Err:3 file:/var/cudnn-local-repo-ubuntu2204-8.9.7.29  Release
      File not found - /var/cudnn-local-repo-ubuntu2204-8.9.7.29/Release (2: No such file or directory)
    Hit:4 https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy InRelease                                                                                               
    Hit:5 http://mirror.bizflycloud.vn/ubuntu jammy InRelease                                                                                                             
    Hit:6 http://mirror.bizflycloud.vn/ubuntu jammy-updates InRelease                                   
    Hit:7 http://security.ubuntu.com/ubuntu jammy-security InRelease                                    
    Hit:8 http://mirror.bizflycloud.vn/ubuntu jammy-security InRelease  
    Hit:9 https://packages.microsoft.com/repos/edge stable InRelease
    Reading package lists... Done
    E: The repository 'file:/var/cudnn-local-repo-ubuntu2204-8.9.7.29  Release' no longer has a Release file.
    N: Updating from such a repository can't be done securely, and is therefore disabled by default.
    N: See apt-secure(8) manpage for repository creation and user configuration details.
     

    解决:

    # 通过grep找到名为cudnn-local-repo-ubuntu2204-8.9.7.29的仓库在哪
    $ grep -r 'cudnn-local-repo-ubuntu2204-8.9.7.29' /etc/apt/sources.list /etc/apt/sources.list.d/
    /etc/apt/sources.list.d/cudnn-local-ubuntu2204-8.9.7.29.list:deb [signed-by=/usr/share/keyrings/cudnn-local-08A7D361-keyring.gpg] file:///var/cudnn-local-repo-ubuntu2204-8.9.7.29 /
    # 直接删掉
    $ sudo rm /etc/apt/sources.list.d/cudnn-local-ubuntu2204-8.9.7.29.list
    # 重试
    $ sudo apt-get update
    Get:1 file:/var/cuda-repo-ubuntu2204-12-4-local  InRelease [1,572 B]
    Get:1 file:/var/cuda-repo-ubuntu2204-12-4-local  InRelease [1,572 B]
    Hit:2 https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy InRelease                                                                                           
    Hit:3 http://security.ubuntu.com/ubuntu jammy-security InRelease                                                                                                  
    Hit:4 http://mirror.bizflycloud.vn/ubuntu jammy InRelease                                                      
    Hit:5 http://mirror.bizflycloud.vn/ubuntu jammy-updates InRelease                             
    Hit:6 http://mirror.bizflycloud.vn/ubuntu jammy-security InRelease
    Hit:7 https://packages.microsoft.com/repos/edge stable InRelease
    Reading package lists... Done

      再次验证:

    $ sudo dpkg -l | grep cudnn
    rc  cudnn-local-repo-ubuntu2204-8.9.7.29  1.0-1 amd64  cudnn-local repository configuration files
        

    rc 状态表示该包的程序文件已被删除,但配置文件仍然存在

    要彻底清除这个包及其残留的配置文件,可以用:sudo dpkg --purge cudnn-local-repo-ubuntu2204-8.9.7.29

    彻底删除完成。

链接:CUDA与cuDNN在linux / Ubuntu22.04上的安装与卸载,包含CUDA的.run安装与.deb安装,cuDNN的.tar安装与.deb安装_cudnn卸载-CSDN博客

 

3.安装Anaconda3

官网链接:Download Now | Anaconda

c67d7e5c25fd407b80b59f48d3262990.png

 Anaconda3-2024.06-1-Linux-x86_64.sh为下载的版本,不用的用户下载的不相同,具体以自己下载本文为主

bash Anaconda3-2024.06-1-Linux-x86_64.sh

一直回车或者yes,q可以快速滑动,配置环境可以yes

conda -V

aacf14b2770d4c849c9fc6f7375ff3d3.png

5e566a38502145428975c9b2361908e7.png

例子验证:

linux下anaconda下安装pythorch

在Linux下使用Anaconda安装PyTorch的步骤如下:

  1. 打开终端。

  2. 确保你的Anaconda已经安装。如果没有安装,请先安装Anaconda。

  3. 创建一个新的conda环境(可选,但建议这样做以避免依赖冲突):

conda create -n pytorch-env python=3.8

conda activate pytorch-env
  1. 访问PyTorch官方网站的安装指南页面:https://pytorch.org/get-started/locally/, 使用它的安装命令。对于CUDA版本,如果你不需要GPU支持,可以选择“None”。如果你需要特定版本的CUDA,请选择相应的版本号。

例如,如果你不需要GPU支持,可以使用以下命令安装PyTorch:

conda install pytorch torchvision torchaudio cpuonly -c pytorch

如果你需要特定版本的CUDA支持(例如CUDA 10.2),可以使用以下命令:

Previous PyTorch Versions | PyTorch

conda install pytorch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 pytorch-cuda=12.1 -c pytorch -c nvidia

请根据你的系统配置选择正确的命令。

  1. 等待conda下载并安装PyTorch及其依赖。

    安装完成后,可以通过运行Python并尝试导入PyTorch来测试安装:

  2. 如果没有错误,并且能打印出版本号,说明PyTorch已经成功安装。

import torch

print(torch.__version__)

链接参考:

CUDA与cuDNN在linux / Ubuntu22.04上的安装与卸载,包含CUDA的.run安装与.deb安装,cuDNN的.tar安装与.deb安装_cudnn卸载-CSDN博客

Ubuntu 20.04(linux) cuda(12)+cudnn的deb方式安装以及验证(宝宝也适用哟)_ubuntu cudnn deb安装-CSDN博客

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值