目录

计图挑战赛赛道一热身赛 —— GCN 节点分类(Cora)

使用 Jittor + JittorGeometric 在 Cora 引文网络数据集上训练两层 GCN,完成节点分类任务。

结果

随机种子 验证集 Best Val Acc
42(提交所用) 0.8080
0 0.8060
1 0.8060

三个种子结果稳定在 0.806~0.808,远超赛题 0.70 的通过线。result.json 由 seed=42 的运行产出,随代码一并提交。

模型与训练配置

  • 两层 GCNConv1433 → 256 → 7
  • 前向:conv1 → ReLU → Dropout(0.8) → conv2
  • 优化器:Adam(lr=0.01, weight_decay=5e-4),训练 200 epoch
  • 训练过程中持续跟踪验证集最优 epoch,最终预测使用验证集最优权重(而不是训练结束时最后一轮的权重)

环境

  • 操作系统:Ubuntu 22.04.5 LTS
  • Python:3.10.12(venv,非 conda)
  • GPU:NVIDIA RTX 4090(CUDA 12.2,由 Jittor 自动下载运行时,无需手动装 CUDA Toolkit)
  • Jittor:1.3.11.0,安装自 pip install git+https://github.com/Jittor/jittor.git,commit 5e412c636e3be02b1665c2c3063d050b170b3e65
  • JittorGeometric:安装自 git clone https://github.com/AlgRUC/JittorGeometric.git(无正式 Release),commit ff7d8ffac7bf3d95cc1962e091c52dc5737492d4
  • 完整依赖版本见 requirements.txtpip freeze 导出)

复现步骤

# 1. 创建虚拟环境
python3 -m venv jittor-venv
source jittor-venv/bin/activate

# 2. 安装 Jittor
pip install git+https://github.com/Jittor/jittor.git
python -m jittor.test.test_example   # 验证安装成功

# 3. 安装 JittorGeometric 及依赖
pip install astunparse==1.6.3 autograd==1.7.0 numpy==1.26.4 \
            pandas==2.2.3 Pillow==11.1.0 PyMetis==2023.1.1 six==1.16.0 \
            pyparsing==3.2 scipy==1.15.1 setuptools==69.5.1 sympy==1.13.3 \
            tqdm==4.66.4 einops huggingface_hub==0.27.1 networkx==3.4.2 \
            scikit-learn==1.7.1 rdkit==2025.3.5 seaborn==0.13.2 \
            alive-progress==3.3.0
# 注:官方给的 numpy==1.24.0 与 seaborn==0.13.2(要求 numpy!=1.24.0)冲突,
# 改用 numpy==1.26.4,同时满足 Jittor 的 numpy<2.0 约束。

git clone https://github.com/AlgRUC/JittorGeometric.git
cd JittorGeometric && pip install . && cd ..

# 4. 放置数据集
# 将赛事提供的 data/cora.pkl 放到本仓库的 data/ 目录下(数据未包含在本仓库中,
# 是否可公开分发以赛事开源指南为准,故未随代码上传)

# 5. 训练并生成结果
python gcn.py

成功标志:日志中 Val Acc 稳定在 0.78 以上,脚本末尾打印”自校验通过”,并生成 result.json(1000 个 key,取值 0~6)。

数据集

  • 节点数 2708,边数 5429(edge_index 为双向表示,共 10858 条)
  • 特征维度 1433,类别数 7
  • 标准 Planetoid 切分:训练 140 / 验证 500 / 测试 1000
  • 测试集节点编号在 0~2707 范围内非连续分布,标签隐藏为 -1

提交文件

result.zip 顶层直接包含 gcn.pyresult.json,不含子文件夹。

License

MIT

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

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