“100% 成功的 PyTorch CUDA GPU 支持” 安装攻略
#工作记录
一、总述
在深度学习领域,PyTorch 凭借其灵活性和强大的功能,成为了众多开发者和研究者的首选框架。而 CUDA GPU 支持能够显著加速 PyTorch 的计算过程,大幅提升训练和推理效率。然而,安装带有 CUDA GPU 支持的 PyTorch 常常会遇到各种问题,如版本不兼容、安装失败等。
经过反复实践和总结,要想 100% 成功安装带有 CUDA GPU 支持的 PyTorch,强烈建议仅采用 PyTorch 官方网站生成的( 或 查找到的 旧版安装命令)进行安装。
因为官方命令能够确保 torch
、torchvision
和 torchaudio
三个包的版本兼容性,避免因版本冲突导致安装失败或 CUDA GPU 支持无法启用的情况。
下面将详细介绍具体的安装方案。
二、先决条件
2.1 硬件要求
- 计算机需配备 NVIDIA GPU,且该 GPU 支持 CUDA。你可以前往 NVIDIA 官方网站 查看具体的 GPU 支持列表。
2.2 软件要求
- NVIDIA 驱动:安装与你的 GPU 型号和 CUDA 版本兼容的 NVIDIA 驱动。你可以通过在命令行输入
nvidia-smi
查看当前驱动版本和 GPU 信息。 - CUDA Toolkit:安装适合你系统的 CUDA Toolkit 版本。可从 NVIDIA CUDA 下载页面 获取。安装完成后,使用
nvcc --version
命令验证安装是否成功。 - cuDNN:从 NVIDIA cuDNN 下载页面 下载与你 CUDA 版本匹配的 cuDNN 库,并按照官方文档进行安装。
2.3 网络要求
确保你的网络连接稳定,能够流畅访问 PyTorch 官方网站和相关下载源。
三、100% 成功方案实操
3.1 访问 PyTorch 官方网站
打开浏览器,在地址栏输入 PyTorch 官方安装页面,进入该页面后,我们将看到一个用于生成安装命令的配置界面。
3.2 确定安装需求
3.2.1 项目需求判断
- 情况一:
requirements.txt
未罗列torch
,但项目需要torch
加速
若requirements.txt
文件中没有列出torch
,但项目实际需要torch
进行 GPU 加速,此时我们需要根据系统的 CUDA 12.8 版本号来选择安装torch
的版本。 - 如果我们的 CUDA 12.8 版本支持且我们希望尝试最新特性,可以选择安装最新的 Preview (Nightly) 版;若追求稳定性,建议安装最新的 Stable 版本。
- 情况二:罗列了
torch
版本,但未罗列关联的torchvision
和torchaudio
包
当requirements.txt
文件中列出了torch
的具体版本,却没有列出关联的torchvision
和torchaudio
这两个包时,仅安装torch
是无法实现完整的 CUDA GPU 加速支持的。 - 我们需要手动修改
requirements.txt
文件的内容,从 PyTorch 官方网站查找出与requirements.txt
文件中指定的torch
版本相匹配的torchvision
和torchaudio
版本,并添加到requirements.txt
中。 - 具体查找方法为:在 PyTorch 官方网站的 Previous PyTorch Versions 页面,找到对应
torch
版本且适配 CUDA 12.8 的安装命令,从中获取torchvision
和torchaudio
的版本信息。
- 情况三:列出了
torch
,但未指定版本号,且未列出torchvision
和torchaudio
包
若requirements.txt
文件列出了torch
,但没有指定其版本号,同时也没有列出torchvision
和torchaudio
这两个包,同样需要我们修改requirements.txt
文件。 - 手动添加上
torchvision
和torchaudio
这两个包,并根据项目需求和系统 CUDA 版本,从 PyTorch 官方网站获取合适的版本信息添加到文件中。
- 情况四:
torch
、torchvision
和torchaudio
三个包都列出,但未指定版本号
当requirements.txt
文件中列出了torch
、torchvision
和torchaudio
三个包,但都没有指定版本号时,默认会安装最新的 PyTorch 版本。 - 然而,由于没有明确版本号,在安装
requirements.txt
文件中的其他包时,与其相关的依赖有可能会被卸载重装或变更,从而导致版本不兼容问题。 - 为避免这种情况,最好我们找到 PyTorch 官网适配 CUDA 的最新稳定版的安装命令,提前进行安装或者在其他包安装完成后进行重装。
- 以下是相关命令示例:
- 安装命令:
- 使用
conda
:
conda install pytorch torchvision torchaudio -c pytorch -c nvidia
- 使用
pip
:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
- 卸载命令:
- 使用
conda
:
conda remove pytorch torchvision torchaudio
- 使用
pip
:
pip uninstall torch torchvision torchaudio
- 清除缓存命令:
- 使用
pip
:
- 使用
pip cache purge
- 使用
conda
:
conda clean --all
- 安装命令:从 PyTorch 官方网站获取适合我们系统和 CUDA 12.8 版本的安装命令,例如使用
pip
安装 CUDA 12.8 版本的 PyTorch: - 稳定版
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
- 预览版
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128
- 情况五:
torch
、torchvision
和torchaudio
三个包都列出且指定了版本号,但版本号不兼容
当requirements.txt
文件中torch
、torchvision
和torchaudio
三个包都已列出并且指定了版本号,但这些版本号之间不兼容时,无法实现完整的 CUDA GPU 支持。此时,我们需要访问 PyTorch 官方网站的 Previous PyTorch Versions(以前的 PyTorch 版本)页面。在该页面中,查找与
requirements.txt
文件中torch
版本一致且适配 CUDA的安装命令。 - 根据查找到的命令,对
requirements.txt
文件中的相关包版本信息进行修正,以确保版本兼容性。
- 情况六:
torch
、torchvision
和torchaudio
三个包,只罗列了其中的两个
当requirements.txt
文件中只罗列了torch
、torchvision
和torchaudio
三个包中的其中两个时,无法保证实现完整的 CUDA GPU 支持。这种情况下,我们需要访问 PyTorch 官方网站的安装页面(Start Locally | PyTorch)或以前的 PyTorch 版本页面(Previous PyTorch Versions | PyTorch)。
- 根据已罗列的包及其版本信息(若有指定版本),以及系统的 CUDA 12.8 版本等条件,查找合适的 PyTorch 安装命令。
- 然后根据该命令,对
requirements.txt
文件进行补充和修正,添加缺失的包及其对应的版本信息,以确保三个包都能正确安装且版本兼容。
- 情况七:其他因篇幅有限未举例的情形
- 当出现其他安装失败的情形时,请优先排查相关组件,然后用PyTorch 官方网站上生成或找到的旧版安装命令重试,可切换不同的CUDA版本命令逐一重试后验证安装。
3.2.2 配置安装选项
- PyTorch 版本:
- 若
requirements.txt
文件指定了torch
版本号,在官方安装页面的 “PyTorch Build” 下拉菜单中,通过滚动查找或手动输入的方式选择对应的版本。 - 若为新项目,我们选择 “Stable”(稳定版)。
- 若
- 操作系统:根据我们的计算机操作系统,在 “Your OS” 下拉菜单中选择相应选项,如 Windows、Linux 或 macOS。
- 包管理器:根据我们之前创建虚拟环境所使用的工具,在 “Package” 下拉菜单中选择合适的包管理器。如果我们使用
conda
创建了虚拟环境,选择conda
;若使用venv
或不打算使用conda
,选择pip
。 - CUDA 版本:我们选择 “CUDA 12.8”。
3.3 获取安装命令
完成上述配置后,页面下方会自动生成相应的安装命令。该命令包含了安装 torch
、torchvision
和 torchaudio
所需的所有信息,并且确保了这三个包的版本兼容性,以支持 CUDA 12.8 GPU 加速。
3.4 执行安装命令
3.4.1 激活虚拟环境
如果我们创建了虚拟环境,需要先激活它:
- 使用 conda 创建的虚拟环境:在命令行输入
conda activate <虚拟环境名称>
,例如conda activate pytorch_env
。 - 使用 venv 创建的虚拟环境:
- 在 Linux/Mac 系统中,输入
source <虚拟环境路径>/bin/activate
,如source pytorch_env/bin/activate
。 - 在 Windows 系统中,输入
<虚拟环境路径>\Scripts\activate
,如pytorch_env\Scripts\activate
。
- 在 Linux/Mac 系统中,输入
3.4.2 执行安装命令
将之前从 PyTorch 官方网站获取的安装命令复制到命令行中,并按下回车键执行。安装过程可能需要一些时间,具体取决于我们的网络速度和系统性能。
3.5 验证安装
安装完成后,需要我们验证 PyTorch 是否成功安装并支持 CUDA 12.8 GPU。
- 打开命令行,使用 Python 3.13 解释器,输入
python3.13
进入 Python 解释器。 - 在 Python 解释器中输入以下代码:
import torch # 导入 PyTorch 库print("PyTorch 版本:", torch.__version__) # 打印 PyTorch 的版本号# 检查 CUDA 是否可用,并设置设备("cuda:0" 或 "cpu")
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print("设备:", device) # 打印当前使用的设备
print("CUDA 可用:", torch.cuda.is_available()) # 打印 CUDA 是否可用
print("cuDNN 已启用:", torch.backends.cudnn.enabled) # 打印 cuDNN 是否已启用# 打印 PyTorch 支持的 CUDA 和 cuDNN 版本
print("支持的 CUDA 版本:", torch.version.cuda)
print("cuDNN 版本:", torch.backends.cudnn.version())# 创建两个随机张量(默认在 CPU 上)
x = torch.rand(5, 3)
y = torch.rand(5, 3)# 将张量移动到指定设备(CPU 或 GPU)
x = x.to(device)
y = y.to(device)# 对张量进行逐元素相加
z = x + y# 打印结果
print("张量 z 的值:")
print(z) # 输出张量 z 的内容
代码输出解释
print("PyTorch 版本:", torch.__version__)
:输出当前安装的 PyTorch 版本号,帮助我们确认所使用的 PyTorch 版本。此处应输出:PyTorch 版本
。
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
和print("设备:", device)
:检查 CUDA 是否可用。若可用,设备设置为第一个 GPU(cuda:0
);若不可用,设置为 CPU。输出当前使用的设备,让我们知道计算将在哪个设备上进行。此处应输出:cuda:0。
print("CUDA 可用:", torch.cuda.is_available())
:明确输出 CUDA 是否可用,判断系统是否具备 GPU 加速的条件。此处应输出:CUDA 可用
。
print("cuDNN 已启用:", torch.backends.cudnn.enabled)
:输出 cuDNN 是否已经启用。cuDNN 是 NVIDIA 提供的深度神经网络库,启用后可加速深度学习计算。此处应输出:cuDNN 已启用
。
print("支持的 CUDA 版本:", torch.version.cuda)
:输出当前 PyTorch 支持的 CUDA 版本,确保 CUDA 版本与 PyTorch 兼容。此处应输出:支持的 CUDA 版本:XX.XX
。
print("cuDNN 版本:", torch.backends.cudnn.version())
:输出当前使用的 cuDNN 版本,确认 cuDNN 版本是否符合要求。此处应输出:cuDNN 版本:XXXXX
。
x = torch.rand(5, 3)
和y = torch.rand(5, 3)
:创建两个形状为(5, 3)
的随机张量,这些张量默认在 CPU 上创建。x = x.to(device)
和y = y.to(device)
:将创建的随机张量移动到之前确定的设备(CPU 或 GPU)上,保证后续计算在指定设备进行。此处应被移动到设备'cuda:0'。
z = x + y
:对两个张量进行逐元素相加操作,得到结果张量z
。print("张量 z 的值:")
和print(z)
:输出结果张量z
的内容,确认张量计算是否正常执行。此处应输出:[*****,device='cuda:0']。
通过以上输出,我们可以全面了解 PyTorch 的安装情况、CUDA 和 cuDNN 的配置情况,以及张量计算是否能在指定设备上正常进行。
验证PyTorch深度学习环境Torch和CUDA还有cuDNN是否正确配置的命令_验证pytorch和cuda的命令-CSDN博客
四、PyTorch 的安装方法
4.1 pip 安装(从 PyTorch 官网命令)
按照前面步骤从 PyTorch 官方网站获取适合我们系统和 CUDA 12.8 版本的 pip
安装命令,然后在激活的虚拟环境中执行该命令即可完成安装。
这种方法简单方便,且能保证安装的是官方推荐的版本。
4.2 conda 安装(从 PyTorch 官网命令)
同样从 PyTorch 官方网站获取 conda
安装命令,在激活的 conda
虚拟环境中执行该命令。
conda
可以更好地管理包的依赖关系,适合对环境管理有较高要求的我们。
4.3 下载包后从本地安装(从镜像源 不推荐)
我们可以从镜像源下载 torch
、torchvision
和 torchaudio
的安装包,然后通过本地安装的方式进行安装。
但这种方法不推荐,因为镜像源的包可能不是最新版本,且版本兼容性难以保证,容易导致安装失败或 CUDA 12.8 GPU 支持出现问题。
五、总结
通过严格按照上述步骤操作,特别是使用 PyTorch 官方网站生成的安装命令,我们能够确保 torch
、torchvision
和 torchaudio
三个包的版本兼容性,从而 100% 成功安装带有 CUDA 12.8 GPU 支持的 PyTorch。在安装过程中,要仔细检查每个步骤,根据不同的项目需求准确判断并配置安装选项,确保满足先决条件。同时,优先选择 pip
或 conda
从官方网站获取命令进行安装,避免使用不推荐的本地安装方式。希望这份攻略能够帮助我们顺利搭建起高效的深度学习开发环境。