新闻详情

新闻详情

首页 / 资讯中心 / 详情

PyTorch Geometric 数据集快速上手:从下载 Cora 到跑通第一次训练

发布时间:2026/9/5 16:32:42来源:尧图网络
PyTorch Geometric 数据集快速上手:从下载 Cora 到跑通第一次训练
PyTorch Geometric 数据集快速上手从下载 Cora 到跑通第一次训练【免费下载链接】pytorch_geometricGraph Neural Network Library for PyTorch项目地址: https://gitcode.com/GitHub_Trending/py/pytorch_geometricPyTorch GeometricPyG把上百种图数据集封装成两行 API但新手第一次导入时下载卡住、路径报错、缺依赖是三大常客。本文就干一件事带你把 Cora 数据集从下载到跑通第一次训练全程不绕路。两行代码启动加载、下载、缓存一次讲清核心 API 就是Planetoid这一个类Cora、CiteSeer、PubMed 都走它from torch_geometric.datasets import Planetoid # root 是本地缓存目录name 指定具体数据集 dataset Planetoid(rootdata/Planetoid, nameCora) data dataset[0] # 取出唯一的图对象 print(dataset.num_features) # 1433节点特征维度 print(dataset.num_classes) # 7 个类别 print(len(data)) # 2708 个节点第一次运行自动下载加处理构造函数会创建data/Planetoid/raw/把官方数据包拉下来解压解析后生成processed/里的 .pt 文件之后的运行全读这个第二次运行不再碰网络直接命中本地缓存data 对象里有什么data.x节点特征矩阵Cora 是 2708×1433 的词袋data.edge_index边列表形状 2×E 的长整型张量data.y加train_mask/val_mask/test_mask标签和三个互不重叠的划分掩码跑完这步你会发现数据集导入其实只发生一次后面全是本地 IO。真正麻烦在后面——mask 怎么用在训练里以及网络环境不好时下载怎么救。接上 GCN损失降下来的第一次训练Cora 是单图数据集dataset[0]拿到的整张图直接喂模型不需要 DataLoader 分批。先用单层 GCNConv 把链路打通import torch.nn.functional as F from torch_geometric.nn import GCNConv model GCNConv(dataset.num_features, dataset.num_classes) # 单层先跑通 opt torch.optim.Adam(model.parameters(), lr0.01) for epoch in range(100): opt.zero_grad() out model(data.x, data.edge_index) # 一次消息传递 loss F.cross_entropy(out[data.train_mask], data.y[data.train_mask]) loss.backward(); opt.step() print((out.argmax(-1)[data.val_mask] data.y[data.val_mask]).float().mean())mask 是唯一需要记住的东西训练只用train_mask算损失Cora 里约 140 个节点验证、测试各看各的 mask三者互不重叠想复现论文精度换两层 GCN 加 dropout参考仓库里的examples/gcn.py特征先归一化官方示例都带transformT.NormalizeFeatures()每列特征除以自己的 L2 范数不做的后果是损失震荡、收敛慢词袋特征尤其明显加在构造函数里即可Planetoid(root, Cora, transformT.NormalizeFeatures())训练一百个 epochval 准确率在 0.55 上下波动属正常单层模型的合理水平。到这里下载→导入→训练的闭环已经完整了。三个高频卡点逐个拆下载失败、路径报错、缺依赖按出现频率排个序。卡点一连不上数据源ConnectionError: HTTPSConnectionPool ... Connection refused说白了就是网络够不到官方下载地址。设置代理后重试os.environ[https_proxy] http://proxy:port手动下载压缩包解压文件放进data/Planetoid/raw/重跑会自动跳过下载公司内网环境优先走第二条稳定得多卡点二目录不存在或没写权限FileNotFoundError: [Errno 2] No such file or directory: data/Planetoid说白了就是 root 路径相对的是脚本运行时的工作目录不是你写代码时所在目录。用绝对路径root/home/user/pyg_data/Planetoid先手动mkdir -p建目录确认当前用户可写打印os.getcwd()核对脚本真实运行位置卡点三稀疏扩展依赖缺失ModuleNotFoundError: No module named torch_sparse说白了就是 torch-scatter / torch-sparse 没装或装的版本和当前 PyTorch、CUDA 对不上。先升级 PyG 到最新版新版核心链路已不强依赖这两个包确实需要时按官方文档匹配 PyTorch 与 CUDA 版本再编译安装报错里提到 ABI 的话说明 wheel 是别的 PyTorch 版本编的重装即可不满足于官方数据集把自定义图喂进 Dataset自己的数据比如一张 CSV 边表不用改 PyG 任何源码继承Dataset填两个方法就行骨架比想象中短from torch_geometric.data import Dataset class MyDataset(Dataset): def __init__(self, root, transformNone): super().__init__(root, transform) # 建目录、管缓存全在基类 property def raw_file_names(self): # 文件齐全就自动跳过下载 return [edges.csv] def process(self): # 把 raw 解析成 Data 存进 processed/ ...raw_file_names 是跳过逻辑的开关基类检查raw/里这些文件是否都在在就不调download()手动把数据丢进raw/后重跑就是手动下载的标准姿势get 方法决定怎么取get(idx)返回第 idx 个图len()告诉 PyG 一共有几个单图数据集返回 1 个 Data 即可多图表数据每个 idx 读一行大图走磁盘默认 InMemoryDataset 会把 processed 全读进内存百万节点级别换OnDiskDataset按索引动态加载样本完整定义见torch_geometric/data/dataset.py骨架和本文代码完全一致下一步先用 Planetoid 跑通 Cora 并盯住 val 准确率曲线再照 MyDataset 骨架把你自己的 CSV 边表喂进去——骨架里真正要你自己写的只有get一个方法。延伸阅读自定义数据集教程docs/source/notes/create_dataset.rstCSV 数据读入示例docs/source/notes/load_csv.rst预定义数据集完整列表torch_geometric/datasets/__init__.py官方 GCN 训练脚本examples/gcn.py【免费下载链接】pytorch_geometricGraph Neural Network Library for PyTorch项目地址: https://gitcode.com/GitHub_Trending/py/pytorch_geometric创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

NocoDB 自托管部署实战:Docker 快速起步、生产级 Auto-Upstall 与程序化接入 2026/9/5 17:08:49

NocoDB 自托管部署实战:Docker 快速起步、生产级 Auto-Upstall 与程序化接入

NocoDB 自托管部署实战:Docker 快速起步、生产级 Auto-Upstall 与程序化接入 【免费下载链接】nocodb 🔥 🔥 🔥 A Free & Self-hostable Airtable Alternative 项目地址: https://gitcode.com/GitHub_Trending/no/nocodb …

阅读更多 →
OpenPhase V0.9:轻量级相场模拟的工业落地入口 2026/9/5 17:08:49

OpenPhase V0.9:轻量级相场模拟的工业落地入口

简介:OpenPhase.V0.9 是一款面向材料科学领域研究者与研究生的开源相场模拟软件,专注于金属材料中马氏体、贝氏体等固态相变过程的数值建模与动态演化分析,解决传统实验难以观测微观相界面迁移与多尺度耦合机制的难题。资源包共428个文件&…

阅读更多 →
基于Vue+SpringBoot+MySQL的超市管理系统全栈开发实战 2026/9/5 17:08:49

基于Vue+SpringBoot+MySQL的超市管理系统全栈开发实战

简介:这是一套面向计算机专业本科生的高分毕业设计级超市商品管理系统,采用VueSpringBootMySQL技术栈实现前后端分离架构,适用于毕设开发、课程设计及Java全栈实战学习。系统涵盖超市区域、货架、商品类型、商品档案四大核心模块,…

阅读更多 →
Czkawka:免费开源的磁盘清理工具,3 条命令找出重复文件、空目录和大文件 2026/9/5 17:08:49

Czkawka:免费开源的磁盘清理工具,3 条命令找出重复文件、空目录和大文件

Czkawka:免费开源的磁盘清理工具,3 条命令找出重复文件、空目录和大文件 【免费下载链接】czkawka Multi functional app to find duplicates, empty folders, similar images etc. 项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka 如…

阅读更多 →
Faster Whisper:13 分钟录音 59 秒转完,显存省一半的 Whisper 语音识别加速方案 2026/9/5 17:08:49

Faster Whisper:13 分钟录音 59 秒转完,显存省一半的 Whisper 语音识别加速方案

Faster Whisper:13 分钟录音 59 秒转完,显存省一半的 Whisper 语音识别加速方案 【免费下载链接】faster-whisper Faster Whisper transcription with CTranslate2 项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper 转一段 13 分…

阅读更多 →
Claude文本水印验证API申请接入与批量检测实战指南 2026/9/5 17:05:48

Claude文本水印验证API申请接入与批量检测实战指南

Anthropic 开放 Claude 文本水印验证 API 的消息,这两天在内容检测圈子里讨论得不少。简单说,这是一套用于判断“某段文本是否由 Claude 生成”的官方接口,主要面向监管机构、媒体和研究机构开放。这类接口之所以重要,是因为 AI 生…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞