感谢PaddlePaddle提供的开源框架。
此文件夹包含数据集以及目标检测的主要代码。
-
解释作用:
- 存储数据集文件。
-
使用说明:
- 可以将数据集文件放入此目录。
这是PaddlePaddle官方提供的目标检测库,内置了许多常见的目标检测算法和预训练模型。
-
解释作用:
- 提供了多种目标检测算法和预训练模型。
-
使用说明:
- 如果需要自定义模型,修改
PaddleDetection
内的配置文件和网络结构。
- 如果需要自定义模型,修改
此文件夹主要用于模型蒸馏操作,包括数据集的提取、训练集与测试集的构建,以及确保数据对齐与信息一致性。
-
解释作用:
- 提供一些用于小批量数据集提取和处理的Python脚本。
- 该文件夹做了一个小批量的测试test的notebook,在跑完模型之后查看loss函数,在确定好模型之后将对应使用的文件复制到这个文件夹下面调整参数,更改学习率,切换损失函数等一些方法来去优化。
-
使用说明:
- 在进行蒸馏操作时,确保将所用的模型参数复制到此文件夹中。
- 修改蒸馏过程中的超参数,并根据需求调整模型层数,优化蒸馏效果。
- 使用
test/test.ipynb
文件中的说明进行数据处理与转换。
此文件夹包含了一些辅助工具和脚本,主要用于数据分析和增强。
-
功能:
- DataAnalyze: 用于生成赛区官方数据的详细解析报告。分析数据集的质量、标注信息以及可能的错误。
- 其他辅助工具:包括一些帮助分析、调试和优化模型的工具函数。
-
使用说明:
-
在
work/work/DataAnalyze
中可以查看赛区官方数据的详细分析。 -
数据增强操作会生成增强后的数据集文件,例如
train_x.json
。 -
当数据处理和增强完毕后,检查数据没有问题,可以将生成的
json
文件重命名并用于训练。 -
work
文件夹中的工具用于数据的清洗、处理和统计分析。test/test.ipynb
中有说明,展示了如何进行数据的处理、检查数据质量以及如何使用增强技术来改进数据集。
-
在训练阶段,我们使用常规的数据增强技术,包括但不限于随机裁剪、翻转、旋转等,以提高模型的鲁棒性。训练时,增强操作将在每个epoch中动态应用,以确保模型能见到不同的训练样本。
在paddle2.3.2版本之中,官方paddledetection添加了动态增强,数据只能进行翻转旋转,我尝试增加了颜色变化和其他动态增强方案,但是因为版本号不支持不能使用。