Ubuntu20.04 深度学习环境配置(持续完善)
文章目录
- 常用的一些命令
- 安装 Anaconda
- 创建conda虚拟环境
- 查看虚拟环境大小
- 安装显卡驱动
- 安装CUDA
- 安装cuDNN
- 官方仓库安装 cuDNN
- 安装 cuDNN 库
- 验证 cuDNN 安装
- 确认 CUDA 和 cuDNN 是否匹配:
- TensorRT
- 下载 TensorRT
- 安装 TensorRT 本地仓库
- 配置 GPG 签名密钥
- 安装 TensorRT
- 配置环境变量
- 验证安装
- 安装pytroch
- 选择Pytorch版本
- 在官网查找conda命令
- 验证pytorch是否安装成功
- 参考
常用的一些命令
更新 Conda
conda update conda -y
检查 NVIDIA 驱动版本
在本地机器上,确保已安装合适版本的 NVIDIA 驱动和 CUDA Toolkit,否则 GPU 无法正常工作。
nvidia-smi
通过 nvcc 命令查看 CUDA Toolkit 版本
如果您的系统安装了 CUDA Toolkit,可以运行以下命令查看版本:
nvcc --version
您会看到类似以下输出:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Feb_14_23:09:47_PST_2023
Cuda compilation tools, release 12.1, V12.1.105
其中 release 12.1 表示当前的 CUDA Toolkit 版本是 12.1。
1.查看当前安装的 torch 版本
python -c "import torch; print(torch.__version__)"
2.4.1.post100 # 若返回这个,表明仅安装的CPU版本
2.确认当前安装的 PyTorch 是否支持 GPU 加速
python -c "import torch; print(torch.cuda.is_available())"
- 输出 True 表示 GPU 可用。
- 输出 False 表示未启用 GPU,可能是因为没有安装支持 CUDA 的版本或系统未检测到 GPU。
3.查看 PyTorch 使用的 CUDA 版本
python -c "import torch; print(torch.version.cuda)"
4.验证 GPU 信息
如果 GPU 可用,您还可以检查当前的 GPU 信息:
python -c "import torch; print(torch.cuda.get_device_name(0))"
安装 Anaconda
创建conda虚拟环境
conda create --name xxx python=3.11.9
查看虚拟环境大小
du -sh /home/damon/anaconda3 # base环境大小
du -sh /home/damon/anaconda3/envs/* # 虚拟环境大小
安装显卡驱动
使用 nvidia-smi 来查看 NVIDIA GPU 的使用情况和显存信息:
如果系统上安装了 NVIDIA 驱动程序,该命令会显示 GPU 的型号、显存使用情况、温度等信息。
nvidia-smi
安装CUDA
查看当前cuda版本为11.3,也可以离理解成cuda的运行API
nvcc -V
安装cuDNN
官方仓库安装 cuDNN
下载 cuDNN 包(.deb 文件):cuDNN
1.安装 cuDNN 本地仓库配置文件:
sudo dpkg -i cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb
damon@damon-System-Product-Name:~$ sudo dpkg -i cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb
(正在读取数据库 ... 系统当前共安装有 332813 个文件和目录。)
准备解压 cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb ...
正在解压 cudnn-local-repo-ubuntu2004-8.9.7.29 (1.0-1) 并覆盖 (1.0-1) ...
正在设置 cudnn-local-repo-ubuntu2004-8.9.7.29 (1.0-1) ...
damon@damon-System-Product-Name:~$
第一次安装的时候,还会有这个
The public cudnn-local-repo-ubuntu2004-8.9.7.29 GPG key does not appear to be installed.
To install the key, run this command:
sudo cp /var/cudnn-local-repo-ubuntu2004-8.9.7.29/cudnn-local-30472A84-keyring.gpg /usr/share/keyrings/
2.将 cuDNN 的 GPG 密钥复制到 /usr/share/keyrings/:
sudo cp /var/cudnn-local-repo-ubuntu2004-8.9.7.29/cudnn-local-30472A84-keyring.gpg /usr/share/keyrings/
3.更新 apt 包管理器的源列表:
sudo apt-get update
安装 cuDNN 库
一旦配置了本地仓库,您可以安装 cuDNN 的运行时和开发文件:
sudo apt-get install libcudnn8 libcudnn8-dev -y
- libcudnn8:这是 cuDNN 运行时库。
- libcudnn8-dev:这是 cuDNN 开发库,包括头文件和符号链接,供开发使用。
验证 cuDNN 安装
1.检查 cuDNN 库是否安装成功:
使用 dpkg 命令检查 cuDNN 安装情况:
dpkg -l | grep libcudnn
如果安装成功,您将看到类似如下的输出:
damon@damon-System-Product-Name:~$ sudo dpkg -l | grep cudnn
ii cudnn-local-repo-ubuntu2004-8.9.7.29 1.0-1 amd64 cudnn-local repository configuration files
ii cudnn-local-repo-ubuntu2004-9.5.1 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
damon@damon-System-Product-Name:~$
上面还有其他版本,可以通过一下命令卸载:
sudo apt-get remove cudnn-local-repo-ubuntu2004-9.5.1
2.验证 cuDNN 头文件和版本:
确保头文件存在:
damon@damon-System-Product-Name:~$ ls /usr/include/cudnn.h
/usr/include/cudnn.h
damon@damon-System-Product-Name:~$
然后查看 cuDNN 版本信息:
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
确认 CUDA 和 cuDNN 是否匹配:
确保 cuDNN 与 CUDA 版本兼容。运行以下命令确认当前的 CUDA 版本:
damon@damon-System-Product-Name:~$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Feb__7_19:32:13_PST_2023
Cuda compilation tools, release 12.1, V12.1.66
Build cuda_12.1.r12.1/compiler.32415258_0
damon@damon-System-Product-Name:~$
对应的 cuDNN 版本应与您安装的 CUDA 版本兼容。您可以在 NVIDIA 官网 查找兼容的版本列表。
TensorRT
在已经安装好 CUDA 和 cuDNN 的前提下,安装 TensorRT 的详细步骤如下所示:
下载 TensorRT
前往NVIDIA TensorRT 8.x Download,选择最新的 TensorRT 进行下载,推荐下载适合自己 CUDA 版本的 GA 版:
注意
TensorRT 的 GA 版是稳定的生产版本,适用于正式环境,而 EA 版是包含新功能的早期访问版本,适合开发和测试。
wget https://developer.nvidia.com/downloads/compute/machine-learning/tensorrt/secure/8.6.1/local_repos/nv-tensorrt-local-repo-ubuntu2004-8.6.1-cuda-12.0_1.0-1_amd64.deb
安装 TensorRT 本地仓库
下载完 .deb 文件后,使用 dpkg 命令来安装 TensorRT 的本地仓库:
damon@damon-System-Product-Name:/opt$ sudo dpkg -i nv-tensorrt-local-repo-ubuntu2004-8.6.1-cuda-12.0_1.0-1_amd64.deb
[sudo] damon 的密码:
(正在读取数据库 ... 系统当前共安装有 332863 个文件和目录。)
准备解压 nv-tensorrt-local-repo-ubuntu2004-8.6.1-cuda-12.0_1.0-1_amd64.deb ...
正在解压 nv-tensorrt-local-repo-ubuntu2004-8.6.1-cuda-12.0 (1.0-1) 并覆盖 (1.0-1) ...
正在设置 nv-tensorrt-local-repo-ubuntu2004-8.6.1-cuda-12.0 (1.0-1) ...
damon@damon-System-Product-Name:/opt$
这将安装 TensorRT 的本地仓库文件。
配置 GPG 签名密钥
将 TensorRT 本地仓库的 GPG 签名密钥复制到系统的 /usr/share/keyrings/ 目录,确保软件包来源可信:
sudo cp /var/nv-tensorrt-local-repo-ubuntu2204-8.6.1-cuda-12.0/nv-tensorrt-local-42B2FC56-keyring.gpg /usr/share/keyrings/
安装 TensorRT
然后,使用 apt-get 安装 TensorRT 包:
sudo apt-get install tensorrt
配置环境变量
安装完成后,你可能还需要配置一些环境变量以确保 TensorRT 和 CUDA 能够正常工作。
编辑 .bashrc 文件,然后添加以下行到文件末尾:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/TensorRT/lib
export PATH=$PATH:/usr/local/cuda/bin
保存文件并使更改生效:
source ~/.bashrc
验证安装
安装完成后,你可以通过以下命令检查 TensorRT 是否正确安装:
dpkg -l | grep tensorrt
输出应该类似于以下内容,确认 TensorRT 安装正确:
damon@damon-System-Product-Name:~$ dpkg -l | grep tensorrt
ii nv-tensorrt-local-repo-ubuntu2004-8.6.1-cuda-12.0 1.0-1 amd64 nv-tensorrt-local repository configuration files
ii tensorrt 8.6.1.6-1+cuda12.0 amd64 Meta package for TensorRT
damon@damon-System-Product-Name:~$
安装pytroch
选择Pytorch版本
nvcc -V #查看Pytorch对应的cuda版本,显示release 11.3, V11.3.58
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Feb__7_19:32:13_PST_2023
Cuda compilation tools, release 12.1, V12.1.66
Build cuda_12.1.r12.1/compiler.32415258_0
在官网查找conda命令
pytorch官网
# CUDA 12.1
conda install pytorch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 pytorch-cuda=12.1 -c pytorch -c nvidia
我们在安装显卡驱动时会安装cudatoolkit,在安装pytorch时也会安装cudatoolkit?安装显卡驱动时,cudatoolkit是一个完整安装包,而安装pytorch时安装的cudatoolkit只会安装pytorch会使用的部分,两个cudatoolkit是独立的,都在工作在显卡驱动上,所以我们还需要安装cudnn。cudatoolkit和cuda版本必须一样。
验证pytorch是否安装成功
1.通过 Python 代码验证 PyTorch 版本
import torch
print(torch.__version__)
2.使用命令行验证 PyTorch 版本
python -c "import torch; print(torch.__version__)"
3.使用 pip 查看 PyTorch 版本
pip show torch
Name: torch
Version: 2.4.1
Summary: Tensors and Dynamic neural networks in Python with strong GPU acceleration
Home-page: https://pytorch.org/
Author: PyTorch Team
Author-email: packages@pytorch.org
License: BSD-3
Location: /home/damon/anaconda3/envs/qhzpl/lib/python3.11/site-packages
Requires: filelock, fsspec, jinja2, networkx, sympy, typing-extensions
Required-by: torchaudio, torchvision
4.使用 conda 查看安装的 PyTorch 版本
如果你使用的是 conda 环境,可以通过以下命令查看安装的 PyTorch 版本:
conda list pytorch
输出类似如下:
# packages in environment at /path/to/anaconda/envs/yourenv:
#
# Name Version Build Channel
pytorch 2.4.1 py3.11_cuda12.1_cudnn9.1.0_0 pytorch
pytorch-cuda 12.1 ha16c6d3_6 pytorch
pytorch-mutex 1.0 cuda pytorch
参考
Ubuntu20.04 更新Nvidia驱动 + 安装CUDA12.1 + cudnn8.9.7
安装cudnn
Ubuntu 20.04 pytorch 环境搭建 深度学习 | 图文安装流程