poseC3D代码结构

说明:虽然代码看着很多,其实只有三部分:1. 配置文件   2. 工具包     3. 训练器

一. 配置文件--config

说明网络的框架,文件名以主干网络为主

1. C3D    2. slowonly  3. x3d

下图以C3D中的C3D_light_ntu60为例

poseC3D代码结构_第1张图片

说明:ann_file 下载在 tool/data/data_doc中查找链接

二. 工具包--pyskl

1. models: 被 config/joint.py 调用

2. dataset: 

    (1) base.py   pose_dataset.py  video_dataset.py:  说明数据集的类型,是把视频转化为图片,还是直接对视频进行处理

 (2)datasets/pipeline: 数据预处理部分

 (3)datasets/data_wrappers.py: 重复数据集的长度,个人理解为成倍数的扩大训练的轮数,因为 在joint.py中 total_epoches=24,在data=dic(time=10),官方提供的model zoo中写道训练240轮次

说明:只要在config/joint.py中调用的,都有build.py  因为joint是以字典的形式,在调用时要把调用的类放到容器中 (个人理解)

3. 剩下的 apis  core  utils在tools/train.py调用

三. 训练器--tool/train.py or test.py

1. 调用pyskl/apis/train.py

2. 在apis/train.py中的数据加载和模型加载中都使用了分布式训练

(1)数据加载器的相关设置中,dataloader_setting=dict(video_per_gpu等),调用了build_dataloader

(2)模型加载中,model=MMDistributedDataParallel()

 

 

 

你可能感兴趣的:(python)