开源项目 planetoid
使用教程
1. 项目的目录结构及介绍
planetoid/
├── data/
│ ├── __init__.py
│ ├── data_utils.py
│ ├── dataset.py
│ └── preprocess.py
├── models/
│ ├── __init__.py
│ ├── base_model.py
│ ├── gcn.py
│ └── sage.py
├── utils/
│ ├── __init__.py
│ ├── logger.py
│ └── metrics.py
├── config.yaml
├── main.py
├── README.md
└── requirements.txt
目录结构介绍
data/
: 包含数据处理相关的脚本,如数据预处理、数据集定义等。data_utils.py
: 数据处理工具函数。dataset.py
: 数据集定义。preprocess.py
: 数据预处理脚本。
models/
: 包含模型定义相关的脚本。base_model.py
: 基础模型定义。gcn.py
: 图卷积网络模型定义。sage.py
: 图采样聚合模型定义。
utils/
: 包含工具函数和日志记录等辅助功能。logger.py
: 日志记录工具。metrics.py
: 评估指标计算工具。
config.yaml
: 项目配置文件。main.py
: 项目启动文件。README.md
: 项目说明文档。requirements.txt
: 项目依赖包列表。
2. 项目的启动文件介绍
main.py
main.py
是项目的启动文件,负责加载配置、初始化数据集、构建模型、训练和评估模型等核心功能。以下是 main.py
的主要功能模块:
import argparse
import yaml
from data.dataset import load_dataset
from models.gcn import GCN
from utils.logger import setup_logger
from utils.metrics import evaluate
def main(config):
# 初始化日志
logger = setup_logger(config['log_path'])
# 加载数据集
dataset = load_dataset(config['data_path'])
# 构建模型
model = GCN(config['model_params'])
# 训练模型
model.train(dataset)
# 评估模型
evaluate(model, dataset)
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Planetoid Project")
parser.add_argument("--config", type=str, default="config.yaml", help="Path to the config file")
args = parser.parse_args()
with open(args.config, 'r') as f:
config = yaml.safe_load(f)
main(config)
主要功能介绍
- 参数解析: 通过
argparse
解析命令行参数,加载配置文件。 - 日志初始化: 使用
utils.logger
模块初始化日志记录。 - 数据加载: 使用
data.dataset
模块加载数据集。 - 模型构建: 根据配置文件中的参数构建模型,这里以
GCN
模型为例。 - 模型训练: 调用模型的
train
方法进行训练。 - 模型评估: 使用
utils.metrics
模块进行模型评估。
3. 项目的配置文件介绍
config.yaml
config.yaml
是项目的配置文件,包含数据路径、模型参数、训练参数等配置项。以下是一个示例配置文件的内容:
data_path: "data/cora"
log_path: "logs/train.log"
model_params:
input_dim: 1433
hidden_dim: 16
output_dim: 7
dropout: 0.5
train_params:
epochs: 200
learning_rate: 0.01
weight_decay: 5e-4
配置项介绍
- data_path: 数据集路径。