Add LICENSE
该项目使用 Jittor 和 JittorGeometric 实现了一个用于 Cora 节点分类任务的 GCN 基线模型。主程序为 gcn.py,运行后会读取 data/cora.pkl,完成训练与验证,并生成测试集预测结果 result.json。
Jittor
JittorGeometric
Cora
gcn.py
data/cora.pkl
result.json
./ ├── data/ │ └── cora.pkl ├── gcn.py ├── README.md └── result.json
各文件作用如下:
README.md
脚本默认从相对路径 data/cora.pkl 读取数据。该文件是一个 pickle 文件,包含以下字段:
pickle
x
(2708, 1433)
float32
y
(2708,)
int64
edge_index
(2, 10858)
train_mask
bool
140
val_mask
500
test_mask
1000
num_features
int
1433
num_classes
7
代码中的数据处理流程如下:
gcn_norm
CSC
CSR
GCNConv
python gcn.py
程序运行后将会:
当前脚本中使用的主要超参数为:
seed=42
HIDDEN_DIM = 256
DROPOUT = 0.85
GCN_LAYERS = 3
LEARNING_RATE = 0.005
WEIGHT_DECAY = 5e-4
MAX_EPOCHS = 200
PATIENCE = 80
输出文件 result.json 的格式示例:
{ "1": 3, "2": 6, "6": 5 }
其中键为测试节点编号,值为预测类别。
代码中直接依赖以下库:
Python
jittor
jittor_geometric
numpy
推荐环境:
Python 3.10
Python 3.11
当前终端中尚未安装或无法导入:
因此如需运行本项目,需要先完成这两个库的安装。安装方式建议参考官方文档:
jt.flags.use_cuda
42
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
jittor-warmup
该项目使用
Jittor和JittorGeometric实现了一个用于Cora节点分类任务的 GCN 基线模型。主程序为gcn.py,运行后会读取data/cora.pkl,完成训练与验证,并生成测试集预测结果result.json。1. 文件结构
各文件作用如下:
gcn.py:主程序,包含数据加载、图归一化、GCN 模型定义、训练、验证和预测导出。data/cora.pkl:Cora 数据集的序列化文件。result.json:模型对测试集节点的预测结果。README.md:项目说明文档。2. 数据说明
脚本默认从相对路径
data/cora.pkl读取数据。该文件是一个pickle文件,包含以下字段:x(2708, 1433)float32y(2708,)int64edge_index(2, 10858)int64train_mask(2708,)bool140个节点val_mask(2708,)bool500个节点test_mask(2708,)bool1000个节点num_featuresint1433num_classesint7代码中的数据处理流程如下:
gcn_norm对图结构进行归一化,并添加自环。CSC和CSR格式,供GCNConv使用。3. 运行方式
程序运行后将会:
data/cora.pklresult.json当前脚本中使用的主要超参数为:
seed=42HIDDEN_DIM = 256DROPOUT = 0.85GCN_LAYERS = 3LEARNING_RATE = 0.005WEIGHT_DECAY = 5e-4MAX_EPOCHS = 200PATIENCE = 80输出文件
result.json的格式示例:其中键为测试节点编号,值为预测类别。
4. 运行环境
依赖要求
代码中直接依赖以下库:
Pythonjittorjittor_geometricnumpy推荐环境:
Python 3.10或Python 3.11JittorJittorGeometricnumpy当前终端中尚未安装或无法导入:
jittorjittor_geometric因此如需运行本项目,需要先完成这两个库的安装。安装方式建议参考官方文档:
5. 补充说明
jt.flags.use_cuda控制是否使用 GPU。42,便于复现结果。data/cora.pkl,否则会因相对路径找不到数据文件而报错。