目录

计图比赛 · 热身赛1 开源:Cora 节点分类(APPNP / Jittor)

本仓库按《开源代码规范(计图比赛)》组织。训练框架:Jittor

  • 战队:沃信2.0
  • 仓库命名jittor-woxin2_0-warmup1(规范:jittor-[战队名]-[项目名];GitLink 中战队名「沃信2.0」写作 woxin2_0
  • 项目:热身赛1 · Cora 节点分类(APPNP)

环境安装

  • Python 3.8–3.12(推荐 3.10+)
  • 依赖安装:
pip install -r requirements.txt

jittor 未能装上,请按 Jittor 官方文档 单独安装。
可参考:JittorGeometric 安装说明
GPU 可选。Windows 默认 CPU(更稳);若要尝试 GPU:

# PowerShell
$env:JITTOR_USE_CUDA = "1"

数据准备

  1. 从计图 / Educoder 热身赛1 页面下载官方 cora.pkl(本仓库分发数据)。
  2. 放到:
data/cora.pkl
  1. 也可用命令行指定目录(目录内需有 cora.pkl):
python scripts/train.py --config configs/default.yaml --data-root /path/to/data_dir

字段说明见 data/README.md。可用工具自检:

python tools/check_data.py --data-root ./data

训练

在仓库根目录执行:

python scripts/train.py --config configs/default.yaml --seed 42

常用覆盖参数(命令行优先于配置文件):

python scripts/train.py --config configs/default.yaml --seed 42 --epochs 500 --lr 0.01 --hidden-dim 128

每次运行会在 outputs/ 写入:

文件 含义
config.yaml 实际生效配置
command.txt 完整命令行
train.log 训练日志
best_model.pkl 验证集最优权重
result.json 测试节点预测

评测 / 推理

python scripts/train.py --config configs/default.yaml --eval-only --ckpt outputs/best_model.pkl

会额外写入 outputs/eval.log,并更新 result.json

结果说明

  • 本地指标:验证集 Accuracy(val_mask 上分类正确率)。
  • 提交格式result.json{ "<node_id>": <class_id>, ... },对应 test_mask 节点。
  • 与线上成绩的差异:本地只有验证集;Educoder 对隐藏测试标签计分。随机种子、Jittor 版本、CPU/GPU 可能导致合理波动,以平台分数为准。

可复现要点

  • 统一随机种子:配置项 seed--seed(默认 42)。
  • 缺数据 / 缺权重时脚本会抛出带修复说明的 FileNotFoundError
  • 第三方与数据声明见 NOTICE

模型简述

APPNP:H0 = MLP(X),再做 K 步 Personalized PageRank
Z ← (1-α) Â Z + α H0
默认:hidden_dim=128, k=10, alpha=0.15, epochs=500, lr=0.01

目录结构

configs/          训练超参(YAML)
src/              模型与数据加载
scripts/          训练 / 推理入口
tools/            数据自检等小工具
data/             仅说明文档(不提交 cora.pkl)
outputs/          运行产物(gitignore)
LICENSE           MIT
NOTICE            第三方与数据来源声明
requirements.txt

License

MIT。实现代码开源;数据版权归属比赛主办方,请勿将 cora.pkl 推入本仓库。

关于

沃信2.0 | 热身赛1 Cora APPNP (Jittor)

48.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号