Anchor free系列检测器之YOLOX源码逐行讲解篇(四)--coco数据载入及分布式训练

整个YOLOX源码的学习一定要按照以下顺序才能整体串起来:Backbone->FPN->Head->->数据读入源码->数据增强源码->loss计算源码->simOTA源码->demo.py脚本->train.py脚本。而该系列博文也遵循该顺序来逐行分析代码。注意是逐行,包括python语法,tensor维度和逐行代码的作用及应用。其实网络结构本没有任何神秘的地方,都是一些模块堆叠起来的,你完全可以没有任何理由的修改任何一个模块。看完这个系列后自己完全可以随便的去对任何网络结构做手脚,而不仅仅局限于一个调参者。

本篇讲的是YOLOX中数据加载及数据预处理部分。大家在学网络的时候总是侧重于模型结构的搭建,而忽略了数据的处理部分。这造成的后果就是对数据整体的变化没有一个准确的认知,直接就导致对最终loss计算含混不清。数据加载主要依靠两个东西:数据解析器:从本地加载标注文件和图像解析成网络需要的数据格式。取样器:每一个批次中完成随机取batchsize张图像的操作。


首先定位到yolox\exp\yolox_base.py的get_data_loader方法:

参数is_distributed&#x

猜你喜欢

转载自blog.csdn.net/qq_42308217/article/details/122913649