开源项目 FKD 使用教程
1. 项目的目录结构及介绍
FKD/
├── data/
│ ├── datasets/
│ └── models/
├── docs/
├── src/
│ ├── core/
│ ├── utils/
│ └── main.py
├── config/
│ ├── default.yaml
│ └── custom.yaml
├── README.md
├── LICENSE
└── requirements.txt
- data/: 存放数据集和预训练模型的目录。
- datasets/: 用于存放数据集文件。
- models/: 用于存放预训练模型文件。
- docs/: 存放项目文档的目录。
- src/: 项目的主要代码目录。
- core/: 核心功能模块。
- utils/: 工具函数和辅助模块。
- main.py: 项目的启动文件。
- config/: 配置文件目录。
- default.yaml: 默认配置文件。
- custom.yaml: 自定义配置文件。
- README.md: 项目说明文档。
- LICENSE: 项目许可证。
- requirements.txt: 项目依赖文件。
2. 项目的启动文件介绍
项目的启动文件是 src/main.py
。该文件包含了项目的主要执行逻辑,可以通过运行该文件来启动项目。
# src/main.py
import argparse
from core.trainer import Trainer
from utils.config import load_config
def main():
parser = argparse.ArgumentParser(description="Fast Knowledge Distillation Framework")
parser.add_argument("--config", type=str, default="config/default.yaml", help="Path to the config file.")
args = parser.parse_args()
config = load_config(args.config)
trainer = Trainer(config)
trainer.train()
if __name__ == "__main__":
main()
3. 项目的配置文件介绍
项目的配置文件存放在 config/
目录下,主要包括 default.yaml
和 custom.yaml
。
default.yaml
默认配置文件,包含了项目的默认参数设置。
# config/default.yaml
train:
batch_size: 32
epochs: 100
learning_rate: 0.001
data:
dataset_path: "data/datasets/cifar10"
model_path: "data/models/pretrained_model.pth"
log:
log_dir: "logs"
log_level: "INFO"
custom.yaml
自定义配置文件,用户可以根据需要修改参数。
# config/custom.yaml
train:
batch_size: 64
epochs: 150
learning_rate: 0.0005
data:
dataset_path: "data/datasets/custom_dataset"
model_path: "data/models/custom_model.pth"
log:
log_dir: "custom_logs"
log_level: "DEBUG"
通过修改配置文件,用户可以自定义训练参数、数据路径和日志设置等。