IGMC 项目使用教程
1. 项目的目录结构及介绍
IGMC 项目的目录结构如下:
IGMC/
├── data_utils.py
├── models.py
├── preprocessing.py
├── run_fdy.sh
├── run_transfer_exps.sh
├── summarize_fdy.py
├── train_eval.py
├── util_functions.py
├── Main.py
├── README.md
├── LICENSE
├── overall2.svg
└── raw_data/
└── ...
目录结构介绍
data_utils.py
: 数据处理工具文件,包含数据加载和预处理的函数。models.py
: 模型定义文件,包含图神经网络模型的实现。preprocessing.py
: 数据预处理文件,包含数据清洗和转换的函数。run_fdy.sh
: 运行实验的脚本文件。run_transfer_exps.sh
: 运行迁移学习实验的脚本文件。summarize_fdy.py
: 实验结果汇总文件。train_eval.py
: 训练和评估模型的文件。util_functions.py
: 工具函数文件,包含一些辅助函数。Main.py
: 项目的主启动文件。README.md
: 项目说明文件,包含项目的基本信息和使用说明。LICENSE
: 项目许可证文件。overall2.svg
: 项目结构图文件。raw_data/
: 原始数据目录,包含项目使用的原始数据文件。
2. 项目的启动文件介绍
Main.py
Main.py
是 IGMC 项目的主启动文件。它负责加载数据、初始化模型、进行训练和评估等操作。以下是该文件的主要功能:
- 数据加载: 从指定数据集中加载数据。
- 模型初始化: 初始化图神经网络模型。
- 训练: 使用加载的数据对模型进行训练。
- 评估: 在训练完成后对模型进行评估。
- 保存结果: 将训练和评估的结果保存到指定目录。
使用方法
python Main.py --data-name ml_100k --epochs 80 --max-nodes-per-hop 200 --testing --ensemble --dynamic-train
--data-name
: 指定数据集名称,如ml_100k
。--epochs
: 指定训练的轮数。--max-nodes-per-hop
: 指定每个节点在子图提取时的最大邻居数。--testing
: 启用测试模式。--ensemble
: 启用集成学习。--dynamic-train
: 动态生成训练数据。
3. 项目的配置文件介绍
IGMC 项目没有明确的配置文件,但可以通过命令行参数进行配置。以下是一些常用的配置参数:
数据集配置
--data-name
: 指定数据集名称,如ml_100k
、ml_1m
等。--ratio
: 指定数据集的稀疏度,如--ratio 0.2
表示只保留 20% 的评分数据。
训练配置
--epochs
: 指定训练的轮数。--batch-size
: 指定批处理大小。--lr
: 指定学习率。--lr-decay-step-size
: 指定学习率衰减步长。--adj-dropout
: 指定邻接矩阵的 dropout 率。
其他配置
--save-appendix
: 指定保存结果的附加名称。--data-appendix
: 指定数据集的附加名称。--dynamic-train
: 动态生成训练数据。--dynamic-test
: 动态生成测试数据。
通过这些配置参数,用户可以根据自己的需求调整模型的训练和评估过程。