Windows中使用Miniconda安装PyTorch、torch_geometric、DGL,实现图神经网络(GNN)训练、测试

前言

今天做一个图神经网络的实验,需要安装torch_geometric和dgl,踩到了一系列的坑,这里记录一下。

为什么为出现各种问题?

DGL官方不再为Win和Mac提供最新预编译包

在现在(2025-04-25),打开dgl.ai,如果你将Your OS选为Windows或者Mac,它会告诉你# Since 2024.06.27, we have stopped providing packages for Windows and MacOS. The latest version of available package is 2.2.1. For newer versions, please install from source.
意思就是自从2024.06.27,它就不再提供对新发布的dgl版本提供Windows和Mac的预编译包了,要想安装高于2.2.1版本的dgl,只能自己编译。如果懒得编译,最新就只能用上2.2.1的dgl。
我打开首页dgl.ai,看到最新的PyTorch选项为PyTorch2.4.x,按照习惯就在PyTorch官网下载了2.4.x中的最大版本2.4.1。
dgl官网截图
好不容易安装上之后就悲剧了,运行测试代码报错:FileNotFoundError: Cannot find DGL C++ graphbolt library at 你的Python环境路径\Lib\site-packages\dgl\graphbolt\graphbolt_pytorch_2.4.1.dll。打开这个Lib\site-packages\dgl\graphbolt这个路径一看,还真没graphbolt_pytorch_2.4.1.dll
Lib\site-packages\dgl\graphbolt路径截图
最高只有PyTorch2.3.0,原来dgl提供的Windows中的预编译包2.2.1已经不是最新版本了,跟官网首页对不上号,只支持PyTorch2.1.0、2.1.1 … 2.3.0。

CUDA、PyTorch、DGL版本不匹配

打开PyTorch官网DGL官网,你会发现,同一个PyTorch版本号,根据CUDA版本不同(或使用CPU),有不同的安装命令;DGL根据PyTorch以及CUDA(或使用CPU)版本不同,也有不同的安装命令。
如果不安装官方网站上提供的版本依赖关系安装,你可能会得到

  • ModuleNotFoundError: No module named 'torch.utils.benchmark'
  • FileNotFoundError: Cannot find DGL C++ graphbolt library at……
  • OSError: [WinError 126] 找不到指定的模块
    等等奇奇怪怪的报错信息。第一个原因其实是这一条的特例

全流程

想要同时安装多个Python环境,这里推荐使用Miniconda管理,免费、轻量、功能完善。能够减少依赖冲突的发生。

安装Miniconda

根据官方文档安装。

创建虚拟环境gnn

运行conda create --name gnn python=3.10 ,这个命令表示创建一个python3.10的环境,我们把它命名为gnn(名字可随意取,建议做到见名知意)。

在虚拟环境中安装PyTorch

首先执行conda activate gnn激活gnn虚拟环境。
有了上面的经验,我们知道需要安装PyTorch2.1.0、2.1.1 … 2.3.0等在Lib\site-packages\dgl\graphbolt中存在graphbolt_pytorch_x.y.z.dll的版本。
这里安装PyTorch2.3.0(还是延续了我安装最新版的习惯…):

conda install pytorch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 cpuonly -c pytorch

命令可以PyTorch历史版本中找到。这里我懒得处理CUDA的依赖版本问题,安装的是CPU版。

在虚拟环境中安装pytorch-geometric

安装pytorch-geometric的依赖,打开pytorch-geometric依赖的预编译包网站,首先根据PyTorch的版本进入第一层文件夹,如博主这里安装的是PyTorch2.3.0的CPU版,打开torch-2.3.0+cpu链接。

假设你安装的是PyTorch2.6.0和CUDA12.6,那么你需要打开torch-2.6.0+cu124链接。

接着根据你的Python版本(如cp310表示CPython3.10)、操作系统(如win、linux、macosx)、CPU架构(如x86_64、amd64、universal2)选择要下载的torch_clustertorch_scattertorch_sparse安装文件,如torch_cluster-1.6.3+pt23cpu-cp310-cp310-win_amd64.whl
然后分别使用下列命令安装torch_clustertorch_scattertorch_sparse

pip install 你下载的whl文件的相对路径或绝对路径

安装完torch_clustertorch_scattertorch_sparse后,执行下列命令安装torch_geometric

pip install torch_geometric -i https://pypi.tuna.tsinghua.edu.cn/simple

在虚拟环境中安装DGL

打开DGL官网,选中自己的PyTorch版本(2.3.x)CUDA版本(None)Package类型(Conda)以及操作系统(Windows),执行提供的conda安装命令:
installation

conda install -c dglteam dgl

测试

运行下面的代码进行测试:

import dgl
import torch
import torch_geometric

如果输出类似进程已结束,退出代码为 0,则表明安装成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值