tf2-mobile-2d-single-pose-estimation 项目使用教程
1. 项目目录结构及介绍
tf2-mobile-2d-single-pose-estimation
├── config
│ ├── dataset
│ │ └── coco_single_person_only-gpu.cfg
│ └── training
│ └── coco_single_experiment01-cpm-sg4-gpu.cfg
├── data_loader
│ ├── data_loader.py
│ ├── dataset_augment.py
│ ├── dataset_prepare.py
│ └── pose_image_processor.py
├── models
│ ├── common.py
│ ├── mobilenet.py
│ ├── mobilenetv2.py
│ ├── mobilenetv3.py
│ ├── resnet.py
│ ├── resneta.py
│ ├── resnetd.py
│ ├── senet.py
│ ├── simplepose_coco.py
│ └── simpleposemobile_coco.py
├── train.py
├── common.py
├── requirements.txt
└── outputs
├── 20200312-sp-ai_challenger
│ ├── saved_model
│ └── image_results
└── 20200312-sp-ai_challenger
└── My SSD
└── datasets
└── ai_challenger
├── train.json
├── valid.json
├── train
└── valid
目录结构介绍
- config: 包含项目的配置文件,分为数据集配置 (
dataset
) 和训练配置 (training
)。 - data_loader: 包含数据加载和预处理的脚本。
- models: 包含各种模型的实现,如
MobileNet
、ResNet
等。 - train.py: 项目的启动文件,用于训练模型。
- common.py: 包含一些通用的辅助函数。
- requirements.txt: 项目依赖的 Python 包列表。
- outputs: 训练过程中生成的输出文件,包括保存的模型和图像结果。
2. 项目的启动文件介绍
train.py
train.py
是项目的启动文件,用于训练模型。它主要负责以下任务:
- 加载数据集配置和训练配置。
- 初始化模型和优化器。
- 进行模型训练,并在训练过程中保存模型和生成图像结果。
使用方法:
python train.py \
--dataset_config config/dataset/coco_single_person_only-gpu.cfg \
--experiment_config config/training/coco_single_experiment01-cpm-sg4-gpu.cfg
3. 项目的配置文件介绍
数据集配置文件
位于 config/dataset/
目录下,例如 coco_single_person_only-gpu.cfg
。该文件定义了数据集的路径、数据增强方法等。
训练配置文件
位于 config/training/
目录下,例如 coco_single_experiment01-cpm-sg4-gpu.cfg
。该文件定义了训练的超参数,如学习率、批量大小、训练轮数等。
配置文件示例
# config/dataset/coco_single_person_only-gpu.cfg
[dataset]
path = /path/to/dataset
augmentation = True
...
# config/training/coco_single_experiment01-cpm-sg4-gpu.cfg
[training]
learning_rate = 0.001
batch_size = 32
epochs = 100
...
通过这些配置文件,用户可以灵活地调整数据集和训练参数,以适应不同的训练需求。