feat: 初始化基于 GCN 的 Cora 节点分类热身赛仓库(符合计图开源规范)
计图比赛(Jittor)热身赛 / 赛道一:基于 GCN 的 Cora 节点分类。
本项目是计图比赛热身赛的示例/基线代码,按照《开源代码规范(计图比赛)》整理,结构清晰、可复现、易运行、易审阅。
仓库命名遵循规范 jittor-开锁师傅-[项目名字]。其中团队名 开锁师傅 在 GitHub 仓库 slug 中需使用 ASCII,故渲染为 locksmith;项目名取 gcn-cora。如需使用其他团队标识, 可在 GitHub 创建仓库时自行命名(本地文件夹名不影响远程仓库名)。
jittor-开锁师傅-[项目名字]
开锁师傅
locksmith
gcn-cora
. ├── README.md # 本文件 ├── LICENSE # MIT 许可证 ├── NOTICE # 第三方代码/数据声明 ├── .gitignore ├── requirements.txt # 依赖清单 ├── configs/ │ └── default.yaml # 训练/评测配置 ├── src/ # 核心代码 │ ├── data.py # 数据加载与预处理 │ ├── model.py # GCN 模型定义 │ ├── train.py # 训练/评测/预测逻辑 │ └── utils.py # 种子、配置、日志工具 ├── scripts/ # 运行脚本 │ ├── train.py # 训练入口 │ └── infer.py # 推理入口 ├── tools/ │ └── inspect_data.py # 数据统计工具 ├── data/ │ └── README.md # 数据说明(不提交原始数据) └── outputs/ # 日志/权重/结果(默认不提交)
Python 3.8 及以上
安装依赖:
pip install -r requirements.txt
requirements.txt 包含 jittor、jittor_geometric、numpy、PyYAML。 Jittor 的安装与 CUDA 配置请参考 Jittor 官方文档。
requirements.txt
jittor
jittor_geometric
numpy
PyYAML
从赛题页面下载 cora.pkl,放置到 data/ 目录:
cora.pkl
data/
data/cora.pkl
数据集字段与说明见 data/README.md。
data/README.md
数据根目录可通过 --data-root 或 configs/default.yaml 的 data.data_root 配置。
--data-root
configs/default.yaml
data.data_root
在仓库根目录执行(一条命令即可跑通默认配置):
python scripts/train.py --config configs/default.yaml
常用可覆盖参数(命令行优先级高于配置文件):
python scripts/train.py --epochs 50 --seed 0 --lr 0.005 --hidden-dim 128
运行后会在 outputs/ 下生成:config.yaml(实际配置)、command.txt(运行命令)、 train.log(日志)、best_model.pkl(最优权重)、result.json(测试集预测)。
outputs/
config.yaml
command.txt
train.log
best_model.pkl
result.json
加载已训练权重,生成测试集预测结果:
python scripts/infer.py --config configs/default.yaml
若权重不在默认位置,可显式指定:
python scripts/infer.py --ckpt outputs/best_model.pkl --output-dir outputs
src/train.py
evaluate
outputs/result.json
{节点编号: 预测类别}
-1
--seed
training.seed
src/utils.py
set_seed
本项目使用 Jittor、JittorGeometric 与 Cora 数据集,来源与许可证见 NOTICE。
NOTICE
提交信息建议使用前缀:feat: / fix: / docs: / refactor: / chore:。 提交前请确保:代码可运行、README 命令真实可用、未提交大文件与中间产物。
feat:
fix:
docs:
refactor:
chore:
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
jittor-locksmith-gcn-cora
本项目是计图比赛热身赛的示例/基线代码,按照《开源代码规范(计图比赛)》整理,结构清晰、可复现、易运行、易审阅。
目录结构
1. 环境安装
Python 3.8 及以上
安装依赖:
requirements.txt包含jittor、jittor_geometric、numpy、PyYAML。 Jittor 的安装与 CUDA 配置请参考 Jittor 官方文档。2. 数据准备
从赛题页面下载
cora.pkl,放置到data/目录:数据集字段与说明见
data/README.md。数据根目录可通过
--data-root或configs/default.yaml的data.data_root配置。3. 训练
在仓库根目录执行(一条命令即可跑通默认配置):
常用可覆盖参数(命令行优先级高于配置文件):
运行后会在
outputs/下生成:config.yaml(实际配置)、command.txt(运行命令)、train.log(日志)、best_model.pkl(最优权重)、result.json(测试集预测)。4. 评测 / 推理
加载已训练权重,生成测试集预测结果:
若权重不在默认位置,可显式指定:
5. 结果说明
src/train.py的evaluate)。outputs/result.json为字典{节点编号: 预测类别},仅包含测试集节点, 可直接作为赛题提交文件。cora.pkl中为-1,本地无法计算测试集准确率; 最终线上成绩以赛方评测为准。本基线默认配置(hidden_dim=256, lr=1e-2, epochs=200, seed=42)在验证集上即可获得可用的 GCN 基线效果,与最终提交成绩可能存在合理波动。6. 可复现说明
--seed(或training.seed)统一设置(见src/utils.py的set_seed)。outputs/,便于复现与审阅。7. 第三方声明
本项目使用 Jittor、JittorGeometric 与 Cora 数据集,来源与许可证见
NOTICE。8. 提交规范
提交信息建议使用前缀:
feat:/fix:/docs:/refactor:/chore:。 提交前请确保:代码可运行、README 命令真实可用、未提交大文件与中间产物。