Add JittorGeometric GCN warmup solution
本项目为计图挑战赛赛道一热身赛的开源实现,基于 Jittor 和 JittorGeometric 在 Cora 引文网络数据集上训练两层 GCN 模型,完成节点分类 任务,并生成测试集预测文件 result.json。
result.json
推荐环境:
建议创建独立 conda 环境:
conda create -n jittor-hot python=3.10 conda activate jittor-hot pip install -r requirements.txt
Jittor 和 JittorGeometric 的官方安装说明可参考:
赛题数据文件为 data/cora.pkl,目录结构如下:
data/cora.pkl
data/ cora.pkl
cora.pkl 为 pickle 格式,包含:
cora.pkl
x
(2708, 1433)
y
(2708,)
-1
edge_index
(2, num_edges)
train_mask
val_mask
test_mask
num_classes
num_features
开源仓库中不建议提交原始数据文件。如需复现,请从比赛发布包中获取 cora.pkl 并放入 data/ 目录。
data/
运行以下命令会完成训练、验证和测试集预测:
python gcn.py
脚本会执行 200 个 epoch,并在当前目录生成:
result.json 是提交所需的测试集预测结果,格式为:
{ "1708": 0, "1709": 1, "1710": 3 }
其中 key 为测试节点编号的字符串形式,value 为预测类别编号,范围为 0-6。
0-6
如果使用 conda 环境直接运行:
conda run -n jittor-hot python gcn.py
比赛要求提交 result.zip,根目录包含模型代码和预测结果:
result.zip
result.zip gcn.py result.json
生成命令:
zip result.zip gcn.py result.json
提交前可检查预测文件格式:
python - <<'PY' import json with open("result.json", "r", encoding="utf-8") as f: result = json.load(f) print("num_predictions:", len(result)) print("label_range:", min(result.values()), max(result.values())) print("first_items:", list(result.items())[:5]) PY
期望结果:
num_predictions
label_range
本项目使用验证集准确率作为本地训练过程中的参考指标。一次运行结果示例:
最终结果: Val Acc: 0.8080 共预测 1000 个测试节点
线上评测会加载 result.json,与隐藏测试集真实标签计算 Accuracy。赛题通过标准 为测试集 Accuracy 不低于 0.70。
gcn.py 的主要流程:
gcn.py
gcn_norm
GCNConv
随机种子在脚本中固定为 42,便于复现。
42
本项目依赖 Jittor 和 JittorGeometric:
二者均采用 Apache License 2.0。
This project is licensed under the Apache License 2.0. See LICENSE for details.
LICENSE
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
JittorGeometric GCN Cora Node Classification
本项目为计图挑战赛赛道一热身赛的开源实现,基于 Jittor 和 JittorGeometric 在 Cora 引文网络数据集上训练两层 GCN 模型,完成节点分类 任务,并生成测试集预测文件
result.json。环境安装
推荐环境:
建议创建独立 conda 环境:
Jittor 和 JittorGeometric 的官方安装说明可参考:
数据准备
赛题数据文件为
data/cora.pkl,目录结构如下:cora.pkl为 pickle 格式,包含:x(2708, 1433)y(2708,)-1edge_index(2, num_edges)train_mask(2708,)val_mask(2708,)test_mask(2708,)num_classesnum_features开源仓库中不建议提交原始数据文件。如需复现,请从比赛发布包中获取
cora.pkl并放入data/目录。训练与推理
运行以下命令会完成训练、验证和测试集预测:
脚本会执行 200 个 epoch,并在当前目录生成:
result.json是提交所需的测试集预测结果,格式为:其中 key 为测试节点编号的字符串形式,value 为预测类别编号,范围为
0-6。如果使用 conda 环境直接运行:
提交打包
比赛要求提交
result.zip,根目录包含模型代码和预测结果:生成命令:
提交前可检查预测文件格式:
期望结果:
num_predictions为 1000label_range在0-6范围内结果说明
本项目使用验证集准确率作为本地训练过程中的参考指标。一次运行结果示例:
线上评测会加载
result.json,与隐藏测试集真实标签计算 Accuracy。赛题通过标准 为测试集 Accuracy 不低于 0.70。实现说明
gcn.py的主要流程:data/cora.pkl并转换为 Jittor 张量。gcn_norm加自环并计算 GCN 边权重。GCNConv完成节点分类。result.json。随机种子在脚本中固定为
42,便于复现。第三方依赖与声明
本项目依赖 Jittor 和 JittorGeometric:
二者均采用 Apache License 2.0。
License
This project is licensed under the Apache License 2.0. See
LICENSEfor details.