当前位置:   article > 正文

Linux和Windows系统下:安装Anaconda、Paddle、tensorflow、pytorch,GPU[cuda12.4、cudnn]、CPU安装教学,多版本cuda11.2 自由切换_anaconda linux

anaconda linux

Linux和Windows系统下安装深度学习框架所需支持:Anaconda、Paddlepaddle、Paddlenlp、pytorch,含GPU、CPU版本详细安装过程

1.下载 Anaconda 的安装包

Anaconda安装:Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。使用Anaconda可以通过创建多个独立的Python环境,避免用户的Python环境安装太多不同版本依赖导致冲突。

Anaconda 是一个免费开源的 Python 和 R 语言的发行版本,用于计算科学,Anaconda 致力于简化包管理和部署。Anaconda 的包使用软件包管理系统 Conda 进行管理。Conda 是一个开源包管理系统和环境管理系统,可在 Windows、macOS 和 Linux 上运行。本文档为你介绍 Anaconda 安装方式。

1.1 Linux下载Anaconda

首先需要在官网上选择需要安装的版本。

https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh

在这里插入图片描述

然后下载该安装包。

下载命令
wget  https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
  • 1
  • 2
  1. 进入安装包所在目录,先对安装包进行赋权,再执行安装程序
#查看路径
pwd
赋权命令:
chmod +x Anaconda3-2024.02-1-Linux-x86_64.sh

安装命令:
sh Anaconda3-2024.02-1-Linux-x86_64.sh
#指定路径
# bash Anaconda3-2024.02-1-Linux-x86_64.sh -p /your/custom/path
# bash Anaconda3-2024.02-1-Linux-x86_64.sh -p /www/anaconda3
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  1. 出现如下画面:

  1. 点击 Enter(回车键),出现 More,继续按 Enter,一直按最后输入 yes 同意用户许可证就行。


此时光标处输入目标路径即为你要自定义的安装路径了:

在这里插入图片描述
注意:安装完成会有一个是否初始化,这里输入 yes ,这样就不需要手动添加环境变量了:

  1. 直至出现以下画面,就安装成功了!

这里需要关闭终端重新打开测试,不然是无效的:
在这里插入图片描述

#查看信息
conda info --envs
conda --version
  • 1
  • 2
  • 3

1.2 Windows下载Anaconda

参考文章:https://blog.csdn.net/sinat_39620217/article/details/115861876

  1. 第一步 下载
  • Anaconda官网 选择下载Windows Python3.8 64-Bit版本。

  • 确保已经安装Visual C++ Build Tools(可以在开始菜单中找到),如未安装,请点击 下载安装

  1. 第二步 安装

运行下载的安装包(以.exe为后辍),根据引导完成安装, 用户可自行修改安装目录(如下图)

  1. 第三步 使用

点击Windows系统左下角的Windows图标,打开:所有程序->Anaconda3/2(64-bit)->Anaconda Prompt在命令行中执行指令即可

后续框架库包安装同linux

2.环境变量配置

2.1 linux环境变量配置

!!!!

先关闭终端在打开,如果Linux上成功安装anaconda后-bash: conda: command not found

如题,出现这个问题可能是环境变量配置有问题。

省流请看这里:执行cat ~/.bashrc命令查看.bashrc文件内容,若文件中没有export PATH="XXX/anaconda3/bin:$PATH"说明是环境变量未配置,可以继续往下看了;若文件中有此路径,请退出本文,自行校对一下路径。

  1. 打开.bashrc文件
vim ~/.bashrc
  • 1
  1. 在最后一行新增 anaconda 路径
export PATH="XXX/anaconda3/bin:$PATH"
  • 1
  1. 保存文件(按esc后输入:wq回车)并使环境变量生效[打开文件后按i进入编辑模式,按Esc退出编辑模式,shift+冒号然后输入wq 保存文件并退出]

注意:这里是anaconda的安装路径,根据自己的安装路径即可

source ~/.bashrc
  • 1

执行以上三步后,便可在linux上使用conda命令了!

之前踩过小坑,不小心把Anaconda安装在系统盘了,后续导致资源不够,需要迁移

  1. 停止使用现有的Anaconda环境
    确保在迁移过程中不再使用现有的Anaconda环境或其中的虚拟环境。
  2. 备份现有Anaconda安装
    在进行任何迁移操作之前,首先备份你的Anaconda安装目录及其虚拟环境。这可以通过复制整个Anaconda安装目录到另一个位置来实现。
  3. 创建目标目录
    在/dev/vdb1对应的/www目录下创建一个新的目录来存放迁移后的Anaconda安装。
sudo mkdir -p /www/anaconda3
  • 1

注意:/dev/vdb1通常需要挂载到某个目录(如/www),如果还没有挂载,你需要先挂载它。

  1. 移动Anaconda安装
    将现有的Anaconda安装目录移动到新的位置。这通常涉及使用mv命令,但由于你正在移动的是系统级目录,因此可能需要使用sudo。
sudo mv /root/anaconda3 /www/anaconda3
  • 1

注意:这里的/root/anaconda3是你的Anaconda安装目录的示例路径,你需要替换为你实际的安装路径。

  1. 更新环境变量
    编辑你的shell配置文件(如/.bashrc、/.bash_profile或/etc/profile),将指向旧Anaconda安装目录的PATH和CONDA_PREFIX环境变量更新为新的路径。
export PATH="/www/anaconda3/anaconda3/bin:$PATH"  
export CONDA_PREFIX="/www/anaconda3/anaconda3"
  • 1
  • 2
  1. 找到并修改 shebang
    打开 /www/anaconda3/bin/conda 文件,并找到第一行(shebang)。这通常是一个以 #!/ 开头的行,指定了用于执行该脚本的 Python 解释器。 使用文本编辑器(如 nano、vim 或 gedit)打开文件:

    vim /www/anaconda3/anaconda3/bin/conda
    
    • 1

    然后,将 shebang 行的路径从 /root/anaconda3/anaconda3/bin/python 修改为 /www/anaconda3/anaconda3/bin/python。

    #!/root/anaconda3/anaconda3/bin/python
    
    #修改为
    #!/www/anaconda3/anaconda3/bin/python
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    之后,运行source命令使更改生效。

    source ~/.bashrc  # 或你编辑的相应配置文件
    
    • 1
  2. 修复虚拟环境
    对于每个虚拟环境,你可能需要修复它们的路径。你可以使用conda命令来重新初始化虚拟环境。

    conda --version #验证conda是否可用:
    conda init  bash
    source ~/.bashrc
    # 然后激活每个虚拟环境以确认它们工作正常  
    conda activate your_env_name
    
    • 1
    • 2
    • 3
    • 4
    • 5

运行完 conda init 后,你可能需要重新启动你的命令行工具或者重新加载你的shell配置文件(这取决于你的shell和操作系统) 即关掉终端,再打开就可以正常激活了

2.2 Windows 环境变量配置

其实,以上的环境变量配置,相当于在window环境下的环境变量加上环境变量。如在window环境下安装anaconda,安装过程中会提示是否将环境变量加入到path中,如果选上该选项,便可省去很多麻烦,安装完后直接在终端使用conda命令;

如果没有选上,是无法直接使用conda命令的,需要在系统的环境变量中加上安装路径才可以使用conda命令。自动添加的安装路径的步骤:此电脑–>属性–>高级系统设置–>环境变量–>系统变量–>Path添加anaconda的安装路径。

3.用 conda 创建虚拟环境

#1.创建指定python版本的环境
conda create --name paddlenlp python=3.8
#2. 激活环境
conda activate paddlenlp
#3.退出环境
conda deactivate
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3.1 -bash: /www/anaconda3/bin/pip: /root/anaconda3/bin/python: bad interpreter: No such file or directory

使用文本编辑器打开 /www/anaconda3/bin/pip 脚本(例如,使用 nano、vim 或 gedit),并检查第一行是否指向了错误的 Python 解释器路径。它应该指向 Anaconda 安装目录下的 python 可执行文件。

vim www/anaconda3/bin/pip
#修改信息
#www/anaconda3/bin/python
  • 1
  • 2
  • 3

在这里插入图片描述

4.安装项目依赖包&深度学习框架

4.0 其他环境检查

4.0.1 确认 Python 安装路径

确认您的 conda 虚拟环境和需要安装 PaddlePaddle 的 Python 是您预期的位置,因为您计算机可能有多个 Python。进入 Anaconda 的命令行终端,输入以下指令确认 Python 位置。

输出 Python 路径的命令为:

根据您的环境,您可能需要将说明中所有命令行中的 python3 替换为具体的 Python 路径

4.0.2 检查 Python 版本

使用以下命令确认版本

4.0.3 检查系统环境

确认 Python 和 pip 是 64bit,并且处理器架构是 x86_64(或称作 x64、Intel 64、AMD64)架构。下面的第一行输出的是”64bit”,第二行输出的是”x86_64(或 x64、AMD64)” 即可:

python3 -c "import platform;print(platform.architecture()[0]);print(platform.machine())"
  • 1

4.1安装项目依赖包

安装项目requirement.txt文件依赖:
pip install -r requirement.txt
生成requirement.txt文件:
pip freeze > requirements.txt
  • 1
  • 2
  • 3
  • 4

4.2 安装Paddle&Paddlenlp

4.2.1 安装paddle

官网:https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/pip/linux-pip.html

在这里插入图片描述

windows安装使用win下指令即可

根据版本进行安装 选择下面您要安装的 PaddlePaddle

安装完成后您可以使用 python3 进入 python 解释器,

输入import paddle ,
再输入 paddle.utils.run_check()
  • 1
  • 2

如果出现PaddlePaddle is installed successfully!,说明您已成功安装。

  • 相关报错,安装CUDA 12.0 版本 import paddle后报错libstdc++.so.6:version 'GLIBCXX_3.4.30‘ not found

解决方案:

  • 方案一
    首先查看:先查看是否存在GLIBCXX_3.4.30,如果没有就看不存在的处理办法,存在就看存在的处理办法
strings /lib64/libstdc++.so.6 | grep GLIBCXX
  • 1

在这里插入图片描述

conda install -c conda-forge gcc=12.2.0
  • 1

找到包含GLIBCXX_3.4.30的libstdc++.so.6,位于/usr/lib/x86_64-linux-gnu/,删除原链接,重新设置新软链接指向/usr/lib/x86_64-linux-gnu/libstdc++.so.6,能正常import paddle,并且utils.run_check()通过

经存在 GLIBCXX_3.4.30/ 31 /32 处理办法

(1)、通过下面命令查看是否已经建立过软连接

ls -l /usr/lib64/libstdc++.so*
  • 1

在这里插入图片描述

(2)、如果没有看到自己需要的版本连接,可以通过下面命令建立软件列

ln -sf /usr/lib64/libstdc++.so.6.0.32 /usr/lib64/libstdc++.so.6
  • 1

如果失败了,可以按 三、不存在 GLIBCXX_3.4.30/ 31 /32 处理办法 试一试

不存在 GLIBCXX_3.4.30/ 31 /32 处理办法

先执行下面的命令看下自己系统内有没有 libstdc++.so=6.0.30 / 31 / 32

 ls -l /usr/lib64/libstdc++.so*
  • 1

在这里插入图片描述

如果列表中没有 libstdc++.so=6.0.30 / 31 / 32

_(1)、_执行下面的命令去下载

conda install -c conda-forge libstdcxx-ng
  • 1

_(2)_执行 ls -l /usr/lib64/libstdc++.so* 去查看列表中是否有 GLIBCXX_3.4.30/ 31 /32

    如果有就可以进行 下面的 **2. 如果存在 libstdc++.so=6.0.30 / 31 / 32** 的内容了
  • 1
如果存在 libstdc++.so=6.0.30 / 31 / 32

(1) 挑选一个自己需要的版本复制到指定目录下

cp /data/anaconda3/lib/libstdc++.so.6.0.32  /usr/lib64/
  • 1

我这里选择的是 /data/anaconda3/lib/libstdc++.so.6.0.32,复制到 /usr/lib64/ 目录下这个目录一般是固定的

(2) 复制之后执行下面命令 创建软连接

ln -sf /usr/lib64/libstdc++.so.6.0.32 /usr/lib64/libstdc++.so.6
  • 1

(3) 执行成功之后,可以通过这个命令查看已经建立过的软连接

ls -l /usr/lib64/libstdc++.so*
  • 1

这是输出结果,可以看到 6.0.32 已经建立了连接

在这里插入图片描述

(4) 可以通过下面查看列表中是否存在 GLIBCXX_3.4.30 / 31 / 32

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
  • 1
  • linstdc++.so.6 和 gcc 版本对应关系

参考链接:GCC 版本对应的 libstdc++ 库版本 - Freelancy - 博客园 (cnblogs.com)

    需要注意 linstdc++.so.6 和 gcc 的版本对应关系  非常重要

    GLIBCXX_3.4.30 需要  GCC 12.1.0

    GLIBCXX_3.4.31  需要 GCC 13.1.0

    通过这个命令可以查看系统的 gcc 版本     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
gcc -v
  • 1
4.2.1.1添加清华源(可选)

对于国内用户无法连接到 Anaconda 官方源的可以按照以下命令添加清华源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

  • 1
  • 2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  • 1
conda config --set show_channel_urls yes
  • 1
4.2.1.2 CPU 版的 PaddlePaddle

如果您的计算机没有 NVIDIA® GPU,请安装 CPU 版的 PaddlePaddle

conda install paddlepaddle==2.4.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
  • 1
4.2.1.3 GPU 版的 PaddlePaddle
  • 对于 CUDA 10.2,需要搭配 cuDNN 7.6.5(多卡环境下 NCCL>=2.7),安装命令为:
conda install paddlepaddle-gpu==2.4.2 cudatoolkit=10.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/


  • 1
  • 2
  • 3
  • 对于 CUDA 11.2,需要搭配 cuDNN 8.2.1(多卡环境下 NCCL>=2.7),安装命令为:
conda install paddlepaddle-gpu==2.4.2 cudatoolkit=11.2 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge

  • 1
  • 2
  • 对于 CUDA 11.6,需要搭配 cuDNN 8.4.0(多卡环境下 NCCL>=2.7),安装命令为:
conda install paddlepaddle-gpu==2.4.2 cudatoolkit=11.6 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge

  • 1
  • 2
  • 对于 CUDA 11.7,需要搭配 cuDNN 8.4.1(多卡环境下 NCCL>=2.7),安装命令为:
conda install paddlepaddle-gpu==2.4.2 cudatoolkit=11.7 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge

  • 1
  • 2

您可参考 NVIDIA 官方文档了解 CUDA 和 CUDNN 的安装流程和配置方法,请见 CUDAcuDNN

4.2.1.4 pip安装
pip install paddlepaddle-gpu==2.4.2.post112 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
  • 1

4.2.2CUDA安装

4.2.2.1 超简易安装方案

conda官网里有一键下载cuda版本包的命令:下载链接
在这里插入图片描述

如果不行请安装下述方案继续安装

CUDA Toolkit 12.1 官网下载

在这里插入图片描述

其余流程参考11.8安装即可

CUDA Toolkit 11.8 官网下载

cuda-toolkit官网链接 https://developer.nvidia.com/cuda-downloads
在这里插入图片描述
https://developer.nvidia.com/cuda-toolkit-archive
在这里插入图片描述
在这里插入图片描述

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2004-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2004-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

CUDA的安装文件有两种主要类型:deb文件和runfile文件。

  • deb文件:deb文件是用于Debian和Ubuntu系统的软件包格式。deb文件是由NVIDIA官方提供的,可直接用于在Ubuntu上安装CUDA。deb文件利用系统的包管理器(如apt)进行安装,可以自动处理依赖关系,并将CUDA安装到系统中。

    • deb文件相对较简单,适用于大多数普通用户。它们提供了一种方便的方式来安装和管理CUDA,而无需手动配置和处理依赖关系。deb文件还可以与系统的软件包管理器进行集成,使升级和删除CUDA更为方便。
  • runfile文件:runfile文件是NVIDIA CUDA官方提供的独立安装程序。它是一个自解压归档文件,其中包含CUDA的安装程序和相关文件。您可以通过运行runfile文件来手动安装CUDA,并根据需要进行配置。

    • runfile文件通常用于高级用户或需要进行更高级配置的情况。它们提供了更多的灵活性和自定义选项。使用runfile文件,您可以手动安装CUDA,并根据需要选择不同版本或组件。

需要注意的是,deb文件和runfile文件适用于不同的安装场景。如果您是一个普通用户,并且只想简单地安装CUDA并开始使用它,那么deb文件可能是更好的选择。如果您是一个高级用户,需要进行更高级的配置或需要特定版本的CUDA,则可以选择runfile文件。

  • 设置环境变量
vim ~/.bashrc

#插入
export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

#退出后
source ~/.bashrc
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

安装完成:输入 nvidia-smi 验证 显示

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 520.61.05    Driver Version: 520.61.05    CUDA Version: 11.8     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla V100-SXM2...  On   | 00000000:00:08.0 Off |                    0 |
| N/A   28C    P0    24W / 300W |      0MiB / 32768MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
apt install nvidia-cuda-toolkit

nvcc -V
  • 1
  • 2
  • 3
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243
  • 1
  • 2
  • 3
  • 4

参考链接:https://blog.csdn.net/peachofchangan/article/details/132674137

(补充)CUDA、CUDA toolkit、CUDNN、NVCC关系

  • CUDA:为“GPU通用计算”构建的运算平台。
  • cudnn:为深度学习计算设计的软件库。
  • CUDA Toolkit (nvidia): CUDA完整的工具安装包,其中提供了 Nvidia 驱动程序、开发 CUDA 程序相关的开发工具包等可供安装的选项。包括 CUDA 程序的编译器、IDE、调试器等,CUDA 程序所对应的各式库文件以及它们的头文件。
  • CUDA Toolkit (Pytorch): CUDA不完整的工具安装包,其主要包含在使用 CUDA 相关的功能时所依赖的动态链接库。不会安装驱动程序。
  • (NVCC 是CUDA的编译器,只是 CUDA Toolkit 中的一部分)

注:CUDA Toolkit 完整和不完整的区别:在安装了CUDA Toolkit (Pytorch)后,只要系统上存在与当前的 cudatoolkit 所兼容的 Nvidia 驱动,则已经编译好的 CUDA 相关的程序就可以直接运行,不需要重新进行编译过程。如需要为 Pytorch 框架添加 CUDA 相关的拓展时(Custom C++ and CUDA Extensions),需要对编写的 CUDA 相关的程序进行编译等操作,则需安装完整的 Nvidia 官方提供的 CUDA Toolkit。

  • CUDA Toolkit具体组成
    一般的结构中,include 包含头文件,bin 包含可执行文件,lib 包含程序实现文件编译生成的library,src包含源代码,doc或help包含文档,samples包含例子。

    • Compiler:NVCC
    • Tools:分析器profiler、调试器debuggers等
    • Libraries:科学库和实用程序库
    • CUDA Samples:CUDA和library API的代码示例
    • CUDA Driver:驱动,需要与“有CUDA功能的GPU”和“CUDA”都兼容。CUDA工具包都对应一个最低版本的CUDA Driver,CUDA Driver向后兼容。

参考链接:https://blog.csdn.net/qq_41094058/article/details/116207333

nvcc -V无法显示?nvcc和nvidia-smi显示的版本不一致(解决方案)

问题描述:nvcc -V版本是11.5 ,nvidia-smi的版本是12.2

情况一:

上面如果能显示版本,所以是已经有驱动,首先要删除之前的驱动:

  1. 执行以下命令,删除旧版本的驱动

    sudo apt-get purge nvidia*
    
    • 1

    此时执行nvidia-smi,会提示Command ‘nvidia-smi’ not found,下面显示的是未安装显卡,按照提示安装即可(推荐自己重新安装cuda即可)
    在这里插入图片描述
    安装成功后,再次执行nvidia-smi,成功,显示cuda版本为12.2

  • **值得注意** 博主执行上述指令安装还是会失败,那就进入第二个环节

直接按照CUDA安装教程重新安装即可

情况二

此时再次执行,nvcc -V提示,Command ‘nvcc’ not found,……,不要按照提示安装nvidia-cuda-toolkit,否则,前面的白费了,此时只需要配置环境变量:

找到cuda-toolkit安装路径!一般都在路径:/usr/local 下

可以看到,cuda-12.2是cuda-toolkit的安装文件夹,cuda文件夹是对应的软连接!
在这里插入图片描述

  • 执行:vim ~/.bashrc,打开文件:
    增加(此处要根据自己的目录对应修改):
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64
export PATH=$PATH:/usr/local/cuda-12.2/bin
  • 1
  • 2
  • 执行:source ~/.bashrc,立即生效
  • 再次执行:nvcc -V,成功

参考链接:https://blog.csdn.net/su_xiao_wei/article/details/133954722

4.2.2.2 CUDA Toolkit 11.2 官网下载

cuda-toolkit官网链接

CUDA Toolkit 11.2 Downloads 链接

在这里插入图片描述

wget https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux.run
sudo sh cuda_11.2.0_460.27.04_linux.run
  • 1
  • 2

在这里插入图片描述
ubuntu环境下需额外注意:

┌──────────────────────────────────────────────────────────────────────────────┐
│  End User License Agreement                                                  │
│  --------------------------                                                  │
│                                                                              │
│  The CUDA Toolkit End User License Agreement applies to the                  │
│  NVIDIA CUDA Toolkit, the NVIDIA CUDA Samples, the NVIDIA                    │
│  Display Driver, NVIDIA Nsight tools (Visual Studio Edition),                │
│  and the associated documentation on CUDA APIs, programming                  │
│  model and development tools. If you do not agree with the                   │
│  terms and conditions of the license agreement, then do not                  │
│  download or use the software.                                               │
│                                                                              │
│  Last updated: Nov 2, 2020.                                                  │
│                                                                              │
│                                                                              │
│  Preface                                                                     │
│  -------                                                                     │
│                                                                              │
│  The Software License Agreement in Chapter 1 and the Supplement              │
│  in Chapter 2 contain license terms and conditions that govern               │
│  the use of NVIDIA software. By accepting this agreement, you                │
│──────────────────────────────────────────────────────────────────────────────│
│ Do you accept the above EULA? (accept/decline/quit):                         │
│ accept                                                                       │
└──────────────────────────────────────────────────────────────────────────────┘
输入accept

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
┌──────────────────────────────────────────────────────────────────────────────┐
│ CUDA Installer                                                               │
│ - [ ] Driver                                                                 │
│      [ ] 460.27.04                                                           │
│ + [X] CUDA Toolkit 11.2                                                      │
│   [X] CUDA Samples 11.2                                                      │
│   [X] CUDA Demo Suite 11.2                                                   │
│   [X] CUDA Documentation 11.2                                                │
│   Options                                                                    │
│   Install                                                                    │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│ Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options │
└──────────────────────────────────────────────────────────────────────────────┘
#把默认选中的driver取消选中 然后install

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
4.2.1.6 设置环境变量
 vim ~/.bashrc
 #复制
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.2/lib64
export PATH=$PATH:/usr/local/cuda-11.2/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.2

source ~/.bashrc
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

安装完成:输入 nvcc -V 验证 显示

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Mon_Nov_30_19:08:53_PST_2020
Cuda compilation tools, release 11.2, V11.2.67
Build cuda_11.2.r11.2/compiler.29373293_0
  • 1
  • 2
  • 3
  • 4
  • 5
4.2.1.7验证安装(安装paddle遇到问题)

安装完成后您可以使用 python3 进入 python 解释器,输入import paddle ,再输入 paddle.utils.run_check()

import paddle
paddle.utils.run_check()
  • 1
  • 2

如果出现PaddlePaddle is installed successfully!,说明您已成功安装。

报错:ImportError: libcudart.so.11.0: cannot open shared object file: No such file or directory

尝试玩下面步骤,如果没效果,请重新安装一下paddle

解决办法

  • 简约版(省流)
    在激活后执行export LD_LIBRARY_PATH="$CONDA_PREFIX/lib"将包括libcudart.so.11.0如果你想让它自动化,将此内容添加到env-prefix/etc/conda/activate.d/env_vars.sh,这将在conda activate上运行脚本并设置LD_LIBRARY_PATH
cd $CONDA_PREFIX
mkdir -p ./etc/conda/activate.d
touch ./etc/conda/activate.d/env_vars.sh

#写入 并保存
vim ./etc/conda/activate.d/env_vars.sh
export LD_LIBRARY_PATH="$CONDA_PREFIX/lib"

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 详细版

    1. activate你的虚拟环境,查看虚拟环境路径
    echo $CONDA_PREFIX
    
    
    • 1
    • 2
    1. 去这个路径下建立这些文件夹和文件。在activate的时候,会自动运行activate.d/env_vars.sh,deactivate的时候,会自动运行deactivate.d/env_vars.sh。你可以设置任何你想设置的变量,这里我们更改LD_LIBRARY_PATH
    cd $CONDA_PREFIX
    mkdir -p ./etc/conda/activate.d
    mkdir -p ./etc/conda/deactivate.d
    touch ./etc/conda/activate.d/env_vars.sh
    touch ./etc/conda/deactivate.d/env_vars.sh
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    1. 编辑activate.d/env_vars.sh,注意换成你的名字,注意=前后不能有空格哦
    export OLD_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
    export LD_LIBRARY_PATH=anaconda3/envs/your_name/lib64
    
    
    • 1
    • 2
    • 3

    编辑deactivate.d/env_vars.sh,这样deactivate的时候,会恢复设置

    export LD_LIBRARY_PATH=${OLD_LD_LIBRARY_PATH}
    unset OLD_LD_LIBRARY_PATH
    
    
    • 1
    • 2
    • 3
    1. deactivate虚拟环境,再次activate你的虚拟环境,再查看
    echo $CONDA_PREFIX
    
    
    • 1
    • 2

    可以看到已经变成了anaconda3/envs/your_name/lib64。如果这个路径下的gcc已经含有了GLIBCXX_3.4.20,那么就不再会报错了。

ImportError: libssl.so.1.1: cannot open shared object file: No such file or directory
  1. 原因介绍:PR50791之前为了在镜像里打入python3.10,python3.11,将镜像里的Openssl从1.0.2升级到1.1.1会导致一些本地openssl不是1.1.1的用户在import paddle时候报错如下:

在这里插入图片描述

  1. 导致的问题:升级之后libpaddle.so依赖了libssl.so1.1.1和libcrypto.so

    第三方库第三方库brpc.cmake中find_package(OPENSSL)在openssl1.0.2时得到的是静态库,升级为1.1.1后得到的是动态库libssl.so,故导致libpaddle.so link了libssl.so

CentOS 7 安装paddle develop之后 libssl.so.1.1: cannot open shared object file

该问题出现在paddle2.5.1版本
* 解决方案1:

> 降低paddlepaddle的版本。亲测有效,错误libssl.so.1.1: cannot open shared object
> file: No such file or directory消失了 我用的是paddlepaddle==2.4.0

	**或者使用paddle develop也可以**
  • 1
  • 2
  • 3
  • 4

当然推荐解决方案中:安装paddle-GPU /CPU 2.5.2 版本 develop是2.6.0版本了把fliud相关老的算子都删除了,跑比较老的项目会出bug。

不推荐:paddlepaddle-gpu==5.2.1.post112 别加.post112

python -m pip install paddlepaddle-gpu==2.5.2 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

硬件信息:Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 11.2, Runtime API Version: 11.8 device: 0, cuDNN Version: 8.4.
  • 1
  • 2
  • 3
* **解决方案二:**
  <font color=red>解除依赖,用find_library找到libssl.a和libcrypto.a代替libssl.so和libcrypto.so</font>
  
	解决方案中的命令行指令应该如下:首先,你需要使用find_library命令来找到libssl.a和libcrypto.a的位置。这可以通过CMake的find_library函数完成。示例代码如下:
	
	cmake
	
	```bash
	find_library(LIBSSL_STATIC_LIBRARY NAMES ssl libssl PATHS /path/to/your/libssl)  
	find_library(LIBCRYPTO_STATIC_LIBRARY NAMES crypto libcrypto PATHS /path/to/your/libcrypto)
	```
	
	>上述代码将会查找并设置LIBSSL_STATIC_LIBRARY和LIBCRYPTO_STATIC_LIBRARY变量为静态库的位置。
	
	然后,你需要链接这些静态库到你的目标库或可执行文件。在CMake中,可以使用target_link_libraries函数来完成。示例代码如下:
	

	
	```bash
	target_link_libraries(your_target ${LIBSSL_STATIC_LIBRARY} ${LIBCRYPTO_STATIC_LIBRARY})
	```
	
	上述代码将会把找到的libssl.a和libcrypto.a静态库链接到你的目标your_target。
	
	>请注意替换/path/to/your/libssl和/path/to/your/libcrypto为你的实际库文件路径,并将your_target替换为你实际的目标名称。这些代码应该放在你的CMakeLists.txt文件中适当的位置。

相关错误提示:-bash: syntax error near unexpected token `LIBCRYPTO_STATIC_LIBRARY'
这个错误通常意味着在bash环境中,你尝试运行了CMake语法,而bash并不能正确解析这种语法。**LIBCRYPTO_STATIC_LIBRARY是CMake中的一个变量,如果你在bash命令行中直接运行这个变量,会导致bash无法解析并报错。**

你应该在CMakeLists.txt文件中使用这些变量,而不是直接在bash命令行中使用。如果你需要在bash命令行中查看这个变量的值,你可以使用cmake -P命令,创建一个小的CMake脚本打印这个变量的值。

例如,创建一个文件名为print_vars.cmake的文件,内容如下:


```bash
message(${LIBCRYPTO_STATIC_LIBRARY})

```
然后在bash命令行中运行以下命令:

	

```bash
cmake -P print_vars.cmake
```
这样就可以在bash命令行中打印出LIBCRYPTO_STATIC_LIBRARY变量的值了。记住,CMake变量和命令应该在CMake上下文中使用,而不是直接在bash命令行中使用。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46

参考链接:

ubuntu下libssl.so.1.1: cannot open shared object file: No such file or directory
  • 解决方案

Use the following command to download the necessary .deb package:

wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.19_amd64.deb
  • 1

After downloading, you can install the package using apt-get as shown below:

sudo apt-get install ./libssl1.1_1.1.1f-1ubuntu2.19_amd64.deb
  • 1

参考链接:

解决方案参考链接

4.2.2+ 多版本cuda自由切换

NVIDIA的显卡驱动与CUDA的版本并不是严格的一一对应关系,CUDA实际上也只是一个工具包,我们可以根据自己的需求进行安装,即可以安装多个CUDA版本。同时CUDNN是一个SDK,专门用于神经网络的加速包,它与CUDA也没有严格的一一对应关系,可以选择多个版本的CUDNN进行安装。虽然说不是严格的对应,不过还是要服从大版本的对应,即安装之前查看GPU驱动版本与CUDA版本的对应关系,选择对应的版本进行安装,避免不兼容而报错的错误。
在这里插入图片描述

  • Runtime API

    Runtime API是一组函数,用于在编写CUDA程序时执行核函数之前分配和释放设备上的内存、将数据从主机复制到设备并执行核函数等任务。CUDARuntime API被打包放在CUDAArt包里,其中的函数都有CUDA 前缀。CUDA运行时没有专门的初始化函数,它将在第一次调用函数时自动完成初始化。对使用运行时函数的CUDA程序测试时要避免将这段初始化的时间计入。CUDARuntime API的编程较为简洁,通常都会用这种API进行开发。

  • Driver API

    Driver API允许开发人员更详细地控制GPU的行为,包括访问GPU硬件资源、配置GPU寄存器和指令流等。CUDA Driver API是一种基于句柄的底层接口(式多对象通过句柄被引用),可以加载二进制或汇编形式的内核函数模块,指定参数,并启动计算。CUDA Driver API的编程复杂,但有时能通过直接操作硬件的执行实行一些更加复杂的功能键,或者获得更高的性能。由于它使用的设备端代码是二进制或者汇编代码,因此可以在各种语言中调用。CUDA Driver API被放在nvCUDA包里,所有函数前缀为cu。

runtime和driver API在很多情况非常相似,也就是说用起来的效果是等价的,但是你不能混合使用这两个API,因为二者是互斥的。也就是说在开发过程中,你只能选择其中一种API。简单理解二者的区别就是:runtime是更高级的封装,开发人员用起来更方便,而driver API更接近底层,速度可能会更快

nvidia-smi版本大于nvcc -V的版本不会有什么问题,如果版本小了,可以去官网:https://www.nvidia.cn/geforce/drivers/ 下载高版本的

开始配置
  • 方式一,无版本说明只安装一个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
  • 1
  • 2
  • 3
  • 方式二 安装多个cuda (需要有版本说明)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64
export PATH=$PATH:/usr/local/cuda-11.8/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.8
  • 1
  • 2
  • 3

在这里插入图片描述

添加完之后,需要更新配置文件

source ~/.bashrc
  • 1

一般来说,单cuda直接说明版本就可以了,不需要配置其他的,但是也可以通过软链的方法把安装的版本连接过去,二者的作用是一样的,因为系统加载是靠加载bashrc文件的

sudo ln -s /usr/local/cuda-12.2 /usr/local/cuda
  • 1
命令行配置

需要注意的是,命令行的配置也需要文件配置的基础,只是需要知道,默认情况下的配置并不带版本号,所以修改软连接有用的的原因就在于这

多版本cuda来回切换,例如从cuda12.2切换到11.2

  • 第一步查看cuda版本:
nvcc -V
  • 1

在这里插入图片描述

  • 第二步 修改软连接
删除已经存在的软链
sudo rm -rf cuda
重新建立软链
sudo ln -s /usr/local/cuda-11.3 /usr/local/cuda
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
在这里插入图片描述

4.2.3 cuDNN

NVIDIA cuDNN官网链接
在这里插入图片描述

cuDNN下载链接

在这里插入图片描述

NVIDIA CUDA® 深度神经网络库 (cuDNN) 是一个 GPU 加速的深度神经网络基元库,能够以高度优化的方式实现标准例程(如前向和反向卷积、池化层、归一化和激活层)。

全球的深度学习研究人员和框架开发者都依赖 cuDNN 来实现高性能 GPU 加速。借助 cuDNN,研究人员和开发者可以专注于训练神经网络及开发软件应用,而不必花时间进行低层级的 GPU 性能调整。cuDNN 可加速广泛应用的深度学习框架,包括 Caffe2、Chainer、Keras、MATLAB、MxNet、PaddlePaddle、PyTorch 和 TensorFlow。
在这里插入图片描述

  • cuDNN 的主要特性
    • 为各种常用卷积实现了 Tensor Core 加速,包括 2D 卷积、3D 卷积、分组卷积、深度可分离卷积以及包含 NHWC 和 NCHW 输入及输出的扩张卷积
    • 为诸多计算机视觉和语音模型优化了内核,包括 ResNet、ResNext、EfficientNet、EfficientDet、SSD、MaskRCNN、Unet、VNet、BERT、GPT-2、Tacotron2 和 WaveGlow
    • 支持 FP32、FP16、BF16 和 TF32 浮点格式以及 INT8 和 UINT8 整数格式
    • 4D 张量的任意维排序、跨步和子区域意味着可轻松集成到任意神经网络实现中
    • 能为各种 CNN 体系架构上的融合运算提速

部分提示:Linux系统:CentOS7:sudo: apt-get:找不到命令”的解决方法

原因分析:这是由于CentOS的软件安装工具不是apt-get,而是yum,使用yum命令代替apt-get即可。

4.2.3.0 cudnn 最新安装

在这里插入图片描述

在这里插入图片描述

wget https://developer.download.nvidia.com/compute/cudnn/9.1.1/local_installers/cudnn-local-repo-ubuntu2004-9.1.1_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2004-9.1.1_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2004-9.1.1/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn
# To install for CUDA 11, perform the above configuration but install the CUDA 11 specific package:
sudo apt-get -y install cudnn-cuda-11

#To install for CUDA 12, perform the above configuration but install the CUDA 12 specific package:
sudo apt-get -y install cudnn-cuda-12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 低版本安装
    在这里插入图片描述
wget https://developer.nvidia.com/downloads/compute/cudnn/secure/8.9.7/local_installers/11.x/cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz/
  • 1
  • 文件上传可以考虑用oss
wget https://gosspublic.alicdn.com/ossutil/1.7.16/ossutil-v1.7.16-linux-amd64.zip
unzip ossutil-v1.7.16-linux-amd64.zip
chmod 755 ossutil-v1.7.16-linux-amd64/ossutil
cp ossutil-v1.7.16-linux-amd64/ossutil /usr/local/bin/
vim ~/.ossutilconfig 
[Credentials]
language=EN
endpoint=https://oss-cn-zhangjiakou.aliyuncs.com
accessKeyID=xxx
accessKeySecret=xxxx
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
ossutil cp -r oss://cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz ./
tar -xf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz
然后解压文件。等待解压完成后,在下载文件夹中右键打开终端。执行如下命令:

  • 1
  • 2
  • 3
  • 4

上述方案承接4.2.3.1 Linux 压缩包安装

4.2.3.1 Linux下安装

在这里插入图片描述

  • 准备文件

下载后解压:tar vxf cudnn-10.1-linux-x64-v8.0.5.39.tgz
解压后得到 cuda 的文件夹,重命名为 cudnn_8.0.5, 并拷贝到/usr/local/下:

mv cudnn-linux-x86_64-8.9.7.29_cuda11-archive cudnn_8.9.7
sudo cp -r -d root/cudnn_8.9.7 usr/local/
  • 1
  • 2

把 / usr/local/cudnn_8.9.7 中的内容复制到 /usr/local/cuda/include 中

sudo cp /usr/local/cudnn_8.9.7/include/* usr/local/cuda/include/
  • 1

重置读写权限

sudo chmod a+r /usr/local/cuda/include/cudnn.h
  • 1
  • 添加软链接环境变量

/usr/local/cudnn__8.9.7/lib64添加到环境变量 LD_LIBRARY_PATH 中

vim ~/.bashrc
  • 1

在最后添加:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cudnn___8.9.7/lib64
  • 1

使环境变量生效:

source ~/.bashrc
  • 1
  • 检验cudnn是否安装成功(torch要安装)
#验证cuDNN安装
from torch.backends import cudnn
print(cudnn.is_available())  #返回True说明已经安装了cuDNN

  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

4.2.3.1 ubuntu下安装

在这里插入图片描述
自行根据实际情况选择:ubuntu 20.04 、ubuntu 16.04 ubuntu 18.04 版本

#依次安装
sudo dpkg -i libcudnn8_8.1.1.33-1+cuda11.2_amd64.deb
sudo dpkg -i libcudnn8-dev_8.1.1.33-1+cuda11.2_amd64.deb
sudo dpkg -i libcudnn8-samples_8.1.1.33-1+cuda11.2_amd64.deb
  • 1
  • 2
  • 3
  • 4
  • 验证cuDNN可用
    #官方说法:To verify that cuDNN is installed and is running properly, compile the mnistCUDNN sample located in the /usr/src/cudnn_samples_v8 directory in the debian file.
# 将cuDNN例子复制到可写路径中
cp -r /usr/src/cudnn_samples_v8/ $HOME
​
# 转到可写路径
cd  ~/cudnn_samples_v8/mnistCUDNN
​
# 编译文件。
sudo make clean 
sudo make
​
# 运行样例程序。
sudo ./mnistCUDNN
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

如果成功运行,会显示下列信息:

bai@ubuntu:~/cudnn_samples_v8/mnistCUDNN$ sudo ./mnistCUDNN
Executing: mnistCUDNN
cudnnGetVersion() : 8101 , CUDNN_VERSION from cudnn.h : 8101 (8.1.1)
Host compiler version : GCC 9.3.0

There are 2 CUDA capable devices on your machine :
device 0 : sms 30  Capabilities 6.1, SmClock 1582.0 Mhz, MemSize (Mb) 12196, MemClock 5705.0 Mhz, Ecc=0, boardGroupID=0
device 1 : sms 30  Capabilities 6.1, SmClock 1582.0 Mhz, MemSize (Mb) 12192, MemClock 5705.0 Mhz, Ecc=0, boardGroupID=1
Using device 0

Testing single precision
Loading binary file data/conv1.bin
Loading binary file data/conv1.bias.bin

......

Resulting weights from Softmax:
0.0000000 0.0000008 0.0000000 0.0000002 0.0000000 0.9999820 0.0000154 0.0000000 0.0000012 0.0000006 

Result of classification: 1 3 5

Test passed!

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
#查看cudnn版本
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

  • 1
  • 2
  • 3
4.2.3.1 centos下安装

在这里插入图片描述

#依次安装
yum install libcudnn8-8.1.1.33-1.cuda11.2.x86_64.rpm
yum install libcudnn8-devel-8.1.1.33-1.cuda11.2.x86_64.rpm
yum install libcudnn8-samples-8.1.1.33-1.cuda11.2.x86_64.rpm
  • 1
  • 2
  • 3
  • 4

即可

cudnn多版本切换

切换 cudnn,准确的说切换 cudnn 的过程就是重新安装一遍 cudnn,因为 cudnn 的安装本身就是 copy 一些文件到 cuda 中,然后创建软链接。

# 解压cudnn文件
cd ~/Downloads
tar zxvf cudnn-9.0-linux-x64-v7.tgz

# 拷贝头文件
cd cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/

# 拷贝库文件
cd cuda/lib64/
sudo cp lib* /usr/local/cuda/lib64/

# 重新建立软链接
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7
sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7  #注意版本对应
sudo ln -s libcudnn.so.7 libcudnn.so

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

参考链接:https://blog.csdn.net/kuweicai/article/details/106296239

1、下载对应的 cudnn 版本

可用如下指令先查看自己已安装的cudnn版本:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
  • 1

去官网下载需要的 cudnn,注意要与自己的 cuda 版本以及平台相对应,我下载的是 linux 平台的对应 cuda9.0 的 7.3.1 版本的 cudnn,下载文件为 .tar 压缩包即可。

cudnn 官网网址:https://developer.nvidia.com/rdp/cudnn-archive

下载完后,拷贝到自己服务器上,并解压。

2、 删除原来版本
sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*
  • 1
  • 2
3、 复制新版本

在解压后的文件夹(解压后的文件名一般是 cuda)中,找到 include 和 lib64 文件夹,将里边的文件拷贝到 cuda 目录中。

sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/lib* /usr/local/cuda/lib64/
  • 1
  • 2
4、 建立软连接

替换完成后,建立新版本 cudnn 的软链接,注意要与自己版本的链接一致

cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.7.3.1
sudo ln -sf libcudnn.so.7.3.1 libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so   
sudo ldconfig    
  • 1
  • 2
  • 3
  • 4
  • 5

至此完成了 cudnn 的更换

更换完成后可查看cudnn版本,如下图片显示的是cudnn7.3.1版本:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
  • 1

4.2.4 安装paddlenlp

  • 环境依赖

    • python >= 3.7
    • paddlepaddle >= 2.3
  • pip安装

#创建名为my_paddlenlp的环境,指定Python版本为3.8
conda create -n my_paddlenlp python=3.8
#进入my_paddlenlp环境
conda activate my_paddlenlp

#安装PaddleNLP

pip install --upgrade paddlenlp>=2.0.0rc -i https://pypi.org/simple

pip install --upgrade paddlenlp>=2.0.0rc -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

github代码会跟随开发进度不断更新:或者可通过以下命令安装最新 develop 分支代码:

pip install --pre --upgrade paddlenlp -f https://www.paddlepaddle.org.cn/whl/paddlenlp.html
  • 1

按如上方式配置后,即可在环境中使用PaddleNLP了,命令行输入python回车后,import paddlenlp试试吧,之后再次使用都可以通过打开’所有程序->Anaconda3/2(64-bit)->Anaconda Prompt’,再执行conda activate my_paddlenlp进入环境后,即可再次使用PaddleNLP。

问题一: 相关pip问题默认镜像问题(trusted-host问题),安装设定清华源即可

进入虚拟环境,查看pip安装路径

whereis pip


pip: /usr/bin/pip3.8 /etc/pip.conf /root/anaconda3/envs/paddlenlp/bin/pip

  • 1
  • 2
  • 3
  • 4
  • 5
#查看pip.conf,修改成清华源,:wq 保存即可
vim /etc/pip.conf
  • 1
  • 2
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn

  • 1
  • 2
  • 3
  • 4
  • 5
问题二:报错提示:pip install --use-pep517
pip isntall --use-pep517 -U paddlenlp
  • 1
  • 代码安装
git clone https://github.com/PaddlePaddle/PaddleNLP.git
cd PaddleNLP
git checkout develop
  • 1
  • 2
  • 3

如果遇到:github 报错 Failed to connect to github.com port 443:connection timed out、一般原因:电脑里开启了代理,例如开启了翻墙软件等,就会造成这个原因

取消全局代理:
git config --global --unset http.proxy
 
git config --global --unset https.proxy
  • 1
  • 2
  • 3
  • 4

4.3 安装pytorch

在这里插入图片描述

4.3.1 GPU版本安装

方法一:
  • cuda 12.1

官方轮子下载网址:https://download.pytorch.org/whl/torch_stable.html

在这里插入图片描述
在这里插入图片描述

wget https://download.pytorch.org/whl/cu121/torchvision-0.18.0%2Bcu121-cp311-cp311-linux_x86_64.whl

wget https://download.pytorch.org/whl/cu121/torch-2.3.0%2Bcu121-cp311-cp311-linux_x86_64.whl

  • 1
  • 2
  • 3
  • 4

下载结束后使用pip install 安装包名字.whl 进行安装

pip install torchvision-0.18+cu121-cp311-cp311-linux_x86_64.whl
pip install torch-2.3.0+cu121-cp311-cp311-linux_x86_64.whl
  • 1
  • 2
pip list
  • 1

在这里插入图片描述
检查安装情况、若出现版本号且输出True即为成功!

import torch
 
print(torch.__version__)
print(torch.cuda.is_available())
  • 1
  • 2
  • 3
  • 4

这里选择使用下载.whl安装包的形式。在这个网站上选择相应版本的torch。我选择的是第一个,即torch2.3版本+cuda11.8+python3.11,并且是linux系统的。(win_amd64指的是windows系统)
在这里插入图片描述

wget https://download.pytorch.org/whl/cu118/torch-2.3.0%2Bcu118-cp311-cp311-linux_x86_64.whl#sha256=4888984f292c2dfa12e49b951356c692a096a9c4790efab7fdbfc8db8cd8f13f
  • 1

下载结束后使用pip install 安装包名字.whl 进行安装

pip install torch-2.3.0+cu118-cp311-cp311-linux_x86_64.whl
  • 1

查询是否成功:输入python进入python环境,输入torch.__version__进行查询

import torch
print(torch.__version__)
print(torch.cuda.is_available()) #返回True则说明已经安装了cuda
  • 1
  • 2
  • 3

在这里插入图片描述

  • 检验cudnn是否安装成功(torch要安装)
#验证cuDNN安装
from torch.backends import cudnn
print(cudnn.is_available())  #返回True说明已经安装了cuDNN

  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

方法二:

安装 pytorch 需要注意 torch 与 torchvision 的版本对应,参照以下网址对照:

https://github.com/pytorch/vision

windows安装使用win下指令即可

从官网上找到适合自己版本的安装pytorch的指令 https://pytorch.org/get-started/locally/

在这里插入图片描述
在这里插入图片描述

  1. 创建虚拟环境,参考3.用 conda 创建虚拟环境

  2. 安装pytorch

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
  • 1
方法三

先在以下三个网站下载需要的安装包(根据自己的驱动选择):

  1. Index of /anaconda/cloud/pytorch/linux-64/ | 清华大学开源软件镜像站 | Tsinghua Open Source
  2. Mirror https://download.pytorch.org/whl/cu100/torch_stable.html
  3. https://download.pytorch.org/whl/torch_stable.html

在这里插入图片描述
在conda环境下安装:

conda activate pytorch1.10.0 # 进入conda环境,这个是我之前创建好的
cd Download
pip install torchaudio-0.8.0-cp38-cp38m-linux_x86_64.whl
pip install torchvision-0.8.0-cp38-cp38m-linux_x86_64.whl
pip install torchvision-0.9.0+cu111-cp38-cp38m-linux_x86_64.whl
  • 1
  • 2
  • 3
  • 4
  • 5

4.3.2 CPU版本安装

参考:https://blog.csdn.net/sinat_39620217/article/details/115483807

pip install torch torchvision torchaudio
  • 1

4.4 安装tensorflow2.6.0-gpu(conda环境下)

根据TensorFlow 官网,我们选取CUDA11.2搭配cuDNN8.1安装,NVIDIA驱动版本尽量选460系列
在这里插入图片描述

conda activate tensorflow2.6.0 # 进入conda环境,这个是我之前创建好的
pip install tensorflow-gpu==2.6.0
  • 1
  • 2

其他加速库安装参考前面

5.Linux查看CPU、GPU内存使用

5.1 查看 CPU 内存使用情况

1、输入命令:top,显示如下

top - 17:09:22 up 12 days, 23:10, 12 users,  load average: 1.69, 1.43, 1.27
Tasks: 885 total,   3 running, 877 sleeping,   4 stopped,   1 zombie
%Cpu(s):  2.9 us,  0.6 sy,  0.0 ni, 95.3 id,  1.2 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 13150492+total, 11463488 free, 20194752 used, 99846680 buff/cache
KiB Swap:  4194300 total,  4088316 free,   105984 used. 11051801+avail Mem 
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                         
  65593 root      20   0  161460   6120   4368 S   1.7  0.0   2:51.34 sshd                            
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2、输入命令:htop,显示如下

在这里插入图片描述

若没有该命令,需要先安装,ubuntu 安装命令为:

sudo apt-get install htop
  • 1

centos 安装命令为:

yum install htop
  • 1
  • Linux服务器查看CPU详细信息命令
    SSH登录到你的Linux服务器后,执行命令:cat /proc/cpuinfo 即可查询CPU处理器详细信息,返回结果如下:
Linux服务器查看CPU命令:cat /proc/cpuinfo
  • 1

5.2 查看 GPU 内存使用情况

1、输入命令: nvidia-smi,显示如下,该命令只能显示一次。

在这里插入图片描述

2、实时显示
1)使用 watch 命令, 按照指定间隔刷新,例如下面命令是每隔 1s 刷新一次

watch -n 1 nvidia-smi
  • 1

2)watch 每个时间周期开启一个进程 (PID),查看后关闭进程,会影响 cuda 操作,建议使用 nvidia-smi -l n 或者 nvidia-smi --loop=n,这个命令执行期间一直是一个进程 PID。例如下面命令是每隔 1s 刷新一次。

nvidia-smi -l 1
  • 1

5.3 NVIDIA驱动失效简单解决方案:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver.

https://blog.csdn.net/sinat_39620217/article/details/131730619

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/1003453
推荐阅读
相关标签
  

闽ICP备14008679号