Early-Bird-Tickets 项目使用教程
1. 项目目录结构及介绍
Early-Bird-Tickets/
├── assets/
├── models/
├── optim/
├── scripts/
│ ├── standard-train/
│ │ ├── search.sh
│ │ ├── prune.sh
│ │ ├── mask_distance.sh
│ │ ├── retrain_continue.sh
│ │ ├── retrain_scratch.sh
│ ├── EVAL_ResNet18_ImageNet.py
│ ├── EVAL_ResNet50_ImageNet.py
├── LICENSE
├── README.md
├── compute_flops.py
├── filter.py
├── main.py
├── main_c.py
├── main_c_lp.py
├── main_lp.py
├── main_resnet50.py
├── main_scratch.py
├── main_scratch_lp.py
├── mask_cr.py
├── plot_overlap.py
├── resprune.py
├── resprune_50.py
├── resprune_lp.py
├── vggprune.py
├── vggprune_lp.py
└── vggprune_lp_protective.py
目录结构介绍
- assets/: 存放项目相关的资源文件。
- models/: 存放模型的定义和实现文件。
- optim/: 存放优化器相关的实现文件。
- scripts/: 存放项目的脚本文件,包括训练、剪枝、重训练等操作的脚本。
- standard-train/: 包含标准训练相关的脚本,如搜索、剪枝、重训练等。
- EVAL_ResNet18_ImageNet.py: 用于评估ResNet18在ImageNet数据集上的性能。
- EVAL_ResNet50_ImageNet.py: 用于评估ResNet50在ImageNet数据集上的性能。
- LICENSE: 项目的许可证文件。
- README.md: 项目的介绍和使用说明。
- compute_flops.py: 计算模型浮点运算量的脚本。
- filter.py: 数据集过滤相关的脚本。
- main.py: 项目的主启动文件。
- main_c.py: 主启动文件的变种,可能用于特定配置。
- main_c_lp.py: 低精度训练的主启动文件。
- main_lp.py: 低精度训练的主启动文件。
- main_resnet50.py: 专门用于ResNet50的主启动文件。
- main_scratch.py: 从零开始训练的主启动文件。
- main_scratch_lp.py: 从零开始低精度训练的主启动文件。
- mask_cr.py: 掩码相关操作的脚本。
- plot_overlap.py: 绘制掩码距离矩阵的脚本。
- resprune.py: ResNet模型剪枝的脚本。
- resprune_50.py: ResNet50模型剪枝的脚本。
- resprune_lp.py: 低精度ResNet模型剪枝的脚本。
- vggprune.py: VGG模型剪枝的脚本。
- vggprune_lp.py: 低精度VGG模型剪枝的脚本。
- vggprune_lp_protective.py: 保护性低精度VGG模型剪枝的脚本。
2. 项目启动文件介绍
main.py
main.py
是项目的默认启动文件,用于执行标准的训练流程。它包含了模型的初始化、数据加载、训练循环等核心功能。
main_c.py
main_c.py
是 main.py
的一个变种,可能用于特定的配置或实验。
main_lp.py
main_lp.py
是用于低精度训练的主启动文件,适用于需要减少计算资源和内存占用的场景。
main_resnet50.py
main_resnet50.py
是专门用于ResNet50模型的启动文件,包含了针对ResNet50模型的特定配置和训练逻辑。
main_scratch.py
main_scratch.py
是从零开始训练的主启动文件,适用于从头开始训练模型的场景。
main_scratch_lp.py
main_scratch_lp.py
是从零开始低精度训练的主启动文件,适用于需要从零开始且使用低精度训练的场景。
3. 项目的配置文件介绍
项目中没有显式的配置文件,但可以通过命令行参数或环境变量来配置项目的运行参数。以下是一些常见的配置选项:
数据集配置
- dataset: 指定要使用的数据集,如CIFAR10或CIFAR100。
- data: 如果使用ImageNet数据集,需要指定数据路径。
训练配置
- batch-size: 批处理大小,默认值为256。
- epochs: 总训练轮数,默认值为160。
- schedule: 学习率衰减的轮数点,默认值为[80, 120]。
- lr: 初始学习率,默认值为0.1。
- save: 保存检查点的目录。
- arch: 要使用的模型架构,支持vgg和resnet。
- depth: 模型深度。
- filter: 数据集过滤选项,默认值为none。
- sparsify_gt: 数据集稀疏化百分比。
- gpu_ids: 支持多GPU训练。
通过这些配置选项,可以灵活地调整项目的运行参数,以适应不同的实验需求。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考