在低版本 CUDA 环境下安装高 CUDA 版本的 PyTorch 及 DGL

devtools/2024/12/28 12:41:49/

项目中,代码环境需要 PyTorch 1.12.0 以上版本,但服务器上的 CUDA 版本仅为 10.1,官方支持的 PyTorch 最高版本为 1.7.0。导致无法直接使用所需的 PyTorch 版本。而且,DGL 也需要 0.9.1 版本,而 CUDA 10.1 不支持该版本。

遇到的错误:

尝试在 CUDA 10.1 环境下安装 PyTorch 1.12.0 及其相关组件时,发现官方的安装包不支持当前的 CUDA 版本,导致无法满足项目的依赖需求。

解决方案:

尽管系统 CUDA 版本为 10.1,但通过以下步骤,我们成功在 Python 3.8 的 Conda 环境中安装了兼容的 PyTorch 和 DGL 版本,而无需升级系统的 CUDA 版本。

1. 创建并激活 Conda 环境

python">conda create -n pytorch python=3.8
conda activate pytorch

2. 安装 PyTorch 1.12.0 及其 CUDA 11.6 版本

尽管系统的 CUDA 版本是 10.1,但我们可以通过 Conda 环境安装特定 CUDA 版本的 PyTorch,这些版本的 CUDA 库是与 PyTorch 捆绑的,不依赖系统的 CUDA 安装。
使用以下命令安装 PyTorch 1.12.0 及其 CUDA 11.6 版本:

python">pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu116 --timeout 2000

3. 验证 PyTorch 安装

python">import torchprint("PyTorch version:", torch.__version__)
print("CUDA available:", torch.cuda.is_available())
print("CUDA version (PyTorch):", torch.version.cuda)

预期输出

PyTorch version: 1.12.0+cu116 CUDA available: True CUDA version
(PyTorch): 11.6

4. 安装 DGL 0.9.1 的 CUDA 11.6 版本

由于我们已经安装了支持 CUDA 11.6 的 PyTorch,可以安装 DGL 0.9.1 的 CUDA 11.6 版本。即使系统 CUDA 版本为 10.1,只要 Conda 环境中安装了 CUDA 11.6,DGL 应该能够正常工作。

python">pip install dgl-cu116==0.9.1 -f https://data.dgl.ai/wheels/repo.html

5. 验证 DGL 安装

python">import dgl
import torchprint("DGL version:", dgl.__version__)
print("DGL backend:", dgl.backend.name)
print("CUDA available:", torch.cuda.is_available())
print("CUDA version (PyTorch):", torch.version.cuda)
print("PyTorch version:", torch.__version__)

成功运行!


http://www.ppmy.cn/devtools/145460.html

相关文章

8K+Red+Raw+ProRes422分享5个影视级视频素材网站

Hello,大家好,我是后期圈! 在视频创作中,电影级的视频素材能够为作品增添专业质感,让画面更具冲击力。无论是广告、电影短片,还是品牌宣传,高质量的视频素材都是不可或缺的资源。然而&#xff…

设置postgreSQL字段自增

CREATE SEQUENCE ai_mirror_opcode_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; nextval(ai_mirror_opcode_seq) 手动创建序列并设置默认值: 如果你需要更细粒度的控制,可以手动创建一个序列,并将其设置为某个字段的…

Y3编辑器教程8:资源管理器与存档、防作弊设置

文章目录 一、资源管理器简介1.1 界面介绍1.2 资源商店1.3 AI专区1.3.1 AI文生图1.3.2 AI图生图1.3.3 立绘头像 二、导入导出2.1 文件格式2.2 模型导入2.2.1 模型制作后导出2.2.2 模型文件导入Y3编辑器2.2.3 Y3编辑器角色、装饰物模型要求 2.3 纹理导入2.4 材质贴图2.4.1 材质支…

网络安全加密

介绍 一个认证和密钥交换系统,它用来在不可靠的网络中保护口令和交换密钥。通过消除了在网络上发送明文口令的需要,并且通过安全的密钥交换机制来使用加密,改进了安全性。服务器不保存密码或密码的散列值, 防止字典攻击. 而只是保存验证因子(…

【es6复习笔记】集合Set(13)

ES6 提供了新的数据结构 Set(集合)。它类似于数组,但成员的值都是唯一的,集合实现了iterator接口,所以可以使用『扩展运算符』和『for…of…』进行遍历。 集合的属性和方法 size:返回集合的元素个数。add…

BP分类-反向传播神经网络(Backpropagation Neural Network)

BP分类-反向传播神经网络(Backpropagation Neural Network) 源代码 (托管在Github) BP分类的用途介绍 什么是BP神经网络? BP神经网络,即反向传播神经网络(Backpropagation Neural Network&a…

Datawhale AI冬令营 AI辅助编程学习

背景——什么是AI辅助编程 AI 是什么? 人工智能(AI, Artificial Intelligence) 顾名思义,即人为创造的智能,是一门研究模拟、延伸和扩展人智能的科学,涵盖了机器人学、语言识别、自然语言处理、专家系统等…

JOGL 从入门到精通:开启 Java 3D 图形编程之旅

一、引言 Java 作为一门广泛应用的编程语言,在图形编程领域也有着强大的工具和库。JOGL(Java OpenGL)便是其中之一,它为 Java 开发者提供了访问 OpenGL(Open Graphics Library)功能的接口,使得…