docs: add Jittor Cora GCN warmup solution
第六届计图人工智能挑战赛热身赛题 1: 基于 GCN 的 Cora 节点分类。
本项目基于官方示例代码完成训练与测试集预测生成。代码使用 Jittor 与 JittorGeometric 实现两层 GCN,在 Cora 引文网络上进行半监督节点分类。
推荐环境:
安装基础依赖:
pip install -r requirements.txt
JittorGeometric 请按官方安装说明配置:
https://github.com/AlgRUC/JittorGeometric?tab=readme-ov-file#installation
如果本机没有 CUDA,可以在运行时传入 --use-cuda 0。
--use-cuda 0
本仓库不提交比赛数据文件。请从比赛页面下载热身赛题 1 附件,并将 cora.pkl 放到以下路径:
cora.pkl
data/ cora.pkl
数据字段说明:
x
(2708, 1433)
y
(2708,)
-1
edge_index
(2, num_edges)
train_mask
val_mask
test_mask
num_classes
num_features
也可以通过命令行指定数据目录:
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 格式为:
result.json
{ "1708": 3, "1709": 1 }
其中 key 为测试节点编号字符串,value 为预测类别,类别范围为 0-6。
0-6
如果需要重新生成热身赛题 1 的提交包,可先运行脚本生成 outputs/result.json,再按平台要求把代码文件和预测文件打包:
cp outputs/result.json result.json zip result.zip gcn.py result.json
上传开源仓库时不建议提交 result.json、result.zip、data/cora.pkl、日志或训练产物。
result.zip
data/cora.pkl
本项目提供 --seed 参数,并在代码中统一设置 NumPy 和 Jittor 随机种子。默认复现命令:
--seed
python gcn.py --data-root data --output-path outputs/result.json --epochs 200 --seed 42 --use-cuda 1
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
jittor-SJTUqwq-CoraGCN
第六届计图人工智能挑战赛热身赛题 1: 基于 GCN 的 Cora 节点分类。
本项目基于官方示例代码完成训练与测试集预测生成。代码使用 Jittor 与 JittorGeometric 实现两层 GCN,在 Cora 引文网络上进行半监督节点分类。
环境安装
推荐环境:
安装基础依赖:
JittorGeometric 请按官方安装说明配置:
如果本机没有 CUDA,可以在运行时传入
--use-cuda 0。数据准备
本仓库不提交比赛数据文件。请从比赛页面下载热身赛题 1 附件,并将
cora.pkl放到以下路径:数据字段说明:
x(2708, 1433)y(2708,)-1edge_index(2, num_edges)train_mask(2708,)val_mask(2708,)test_mask(2708,)num_classesnum_features也可以通过命令行指定数据目录:
训练
训练并在验证集上打印效果:
常用参数:
评测/推理
本热身赛脚本会在训练结束后直接对
test_mask节点生成预测文件。运行:输出文件:
result.json格式为:其中 key 为测试节点编号字符串,value 为预测类别,类别范围为
0-6。结果说明
生成比赛提交包
如果需要重新生成热身赛题 1 的提交包,可先运行脚本生成
outputs/result.json,再按平台要求把代码文件和预测文件打包:上传开源仓库时不建议提交
result.json、result.zip、data/cora.pkl、日志或训练产物。复现说明
本项目提供
--seed参数,并在代码中统一设置 NumPy 和 Jittor 随机种子。默认复现命令:第三方引用