YOLOX source code line by line explanation of Anchor free series detectors (4)--coco data loading and distributed training

The learning of the entire YOLOX source code must be in the following order: Backbone->FPN->Head->->Data read source code->Data enhancement source code->loss calculation source code->simOTA source code->demo.py script ->train.py script. And this series of blog posts follows that sequence to analyze the code line by line. Note that it is line by line, including python syntax, tensor dimensions and the role and application of line-by-line code. In fact, there is no mysterious place in the network structure. Some modules are stacked together. You can modify any module without any reason. After reading this series, I can play with any network structure at will, not just limited to one parameter adjuster.

This article is about data loading and data preprocessing in YOLOX. When everyone learns the network, they always focus on the construction of the model structure, while ignoring the data processing part. The consequence of this is that there is no accurate understanding of the overall changes in the data, which directly leads to the ambiguity of the final loss calculation. Data loading mainly relies on two things: data parser: from local loading of annotation files and image parsing into the data format required by the network. Sampler: The operation of randomly taking batchsize images is completed in each batch.


First locate the get_data_loader method of yolox\exp\yolox_base.py :

Parameters is_distributed&#x

Guess you like

Origin blog.csdn.net/qq_42308217/article/details/122913649