目录

jittor-SJTUqwq-CoraGCN

第六届计图人工智能挑战赛热身赛题 1: 基于 GCN 的 Cora 节点分类。

本项目基于官方示例代码完成训练与测试集预测生成。代码使用 Jittor 与 JittorGeometric 实现两层 GCN,在 Cora 引文网络上进行半监督节点分类。

环境安装

推荐环境:

  • Python >= 3.7
  • Jittor
  • JittorGeometric
  • NumPy

安装基础依赖:

pip install -r requirements.txt

JittorGeometric 请按官方安装说明配置:

https://github.com/AlgRUC/JittorGeometric?tab=readme-ov-file#installation

如果本机没有 CUDA,可以在运行时传入 --use-cuda 0

数据准备

本仓库不提交比赛数据文件。请从比赛页面下载热身赛题 1 附件,并将 cora.pkl 放到以下路径:

data/
  cora.pkl

数据字段说明:

字段 形状/类型 说明
x (2708, 1433) 节点特征
y (2708,) 节点标签,测试集标签为 -1
edge_index (2, num_edges) 图边列表
train_mask (2708,) 训练节点掩码
val_mask (2708,) 验证节点掩码
test_mask (2708,) 测试节点掩码
num_classes int 类别数
num_features int 特征维度

也可以通过命令行指定数据目录:

python gcn.py --data-root /path/to/data

训练

训练并在验证集上打印效果:

python gcn.py --data-root data --epochs 200 --seed 42 --use-cuda 1

常用参数:

--data-root      数据目录,默认 data
--epochs         训练轮数,默认 200
--hidden-dim     GCN 隐层维度,默认 256
--dropout        Dropout 概率,默认 0.8
--lr             学习率,默认 0.01
--weight-decay   权重衰减,默认 5e-4
--seed           随机种子,默认 42
--use-cuda       是否使用 CUDA,1/0,默认 1

评测/推理

本热身赛脚本会在训练结束后直接对 test_mask 节点生成预测文件。运行:

python gcn.py \
  --data-root data \
  --output-path outputs/result.json \
  --epochs 200 \
  --seed 42 \
  --use-cuda 1

输出文件:

outputs/result.json

result.json 格式为:

{
  "1708": 3,
  "1709": 1
}

其中 key 为测试节点编号字符串,value 为预测类别,类别范围为 0-6

结果说明

  • 线上评测指标: Accuracy。
  • 通过线: Accuracy >= 0.70。
  • 本地脚本打印训练集 Accuracy 和验证集最佳 Accuracy。
  • 线上结果以比赛平台评测为准;由于测试集标签隐藏,本地无法计算测试集 Accuracy。

生成比赛提交包

如果需要重新生成热身赛题 1 的提交包,可先运行脚本生成 outputs/result.json,再按平台要求把代码文件和预测文件打包:

cp outputs/result.json result.json
zip result.zip gcn.py result.json

上传开源仓库时不建议提交 result.jsonresult.zipdata/cora.pkl、日志或训练产物。

复现说明

本项目提供 --seed 参数,并在代码中统一设置 NumPy 和 Jittor 随机种子。默认复现命令:

python gcn.py --data-root data --output-path outputs/result.json --epochs 200 --seed 42 --use-cuda 1

第三方引用

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

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