paddle detection整体结构

核心思想就是通过Yaml文件将主体模块和可拔插的模块组成一个完整的pipline.

train.py流程解析:

初始化训练参数

        1 parser=ArgsParser() #读取命令行传递参数,加载yaml文件参数

        2 整合参数,检查参数配置是否正确

        3 检查是否使用GPU加速

        4 检查paddledet版本是否正确

        5 进入run()函数

                配置阶段:

                        系统变量配置、初始化、得到GPU数量

                        创建数据读取类

                        创建网络结构类

                        创建学习率类

                        创建优化器类

                        初始化模型权重、加载预训练模型、模型与优化器整合

                        是否多卡,并行训练

                开始训练:

                        遍历数据,开始循环训练,根据时间戳计算时间

                        模型前向推理,反向传播

                        每一个iter结束后输出日志

                        打印log

eval.py流程解析

初始化训练参数:

        parser=ArgsParser() #读取命令行传递参数,加载yaml文件参数

        参数整合,检查参数配置是否正确

        使用GPU加速

        查看paddledet版本是否正确

        进入run()函数

                配置阶段:

                        创建网络结构类

                        初始化模型权重,加载预训练模型

                        创建数据读取类

                开始评估

                        遍历数据,开始前向推理,收集结果

                        选择Metric评估标准

                        输出日志

infer.py流程解析

初始化训练参数:

        parser=ArgParser() #读取命令行传递参数,加载yaml文件参数

        参数整合,检查参数配置是否正确

        GPU使用是否正确

        查看paddledet版本是否正确

        进入run()函数

                配置阶段:

                        创建网络结构类

                        初始化模型权重,加载预训练模型

                        初始化模型权重,加载预训练模型

                        创建数据读取类

                        选择推理标准

                开启推理:
                        遍历数据,开始前向推理,收集结果

                        保存推理结果

                        使用visualdl保存图片结果

export_model.py流程解析:

        初始化训练参数

                设置cpu环境执行,parser=ArgsParser() #读取命令行传递参数,加载yaml文件参数

                BN参数转换为推理参数,将参数整合,检查参数配置

                GPU加速

                查看paddle版本

                进入run()函数

                        配置阶段

                                创建网络结构类

                                 初始化模型权重

                                转为静态图,保存模型

                        

参考:PaddleDetection整体结构概述_无情铁铲的博客-CSDN博客

你可能感兴趣的:(paddle,paddle)