I was recently asked what the different parameters mean you see logged to your terminal while training and how we should interpret these. An interesting question I will try to explain here.
.cfg

Next, a screenshot of the terminal output I am currently seeing:

batchsubdivisions.cfgbatch = 64
subdivision = 8
. Looking at the image above, the training iteration has 8 groups of 8 images, reflecting these specific settings.
Batch output
detector.c
this line of code.

9798
0.370096
0.451929 avg
0.060730 avg
, you can stop training.0.001000 rate
.cfg3.300000 seconds
627072 images
9778 * 64
, the total amount of images used during training so far.
Subdivision output
IOUJaccard index) to understand why this is an important parameter to log.

As you can see, IOU is a great metric to determine how accurately our model detected a certain object. At 100% we have a perfect detection: a perfect overlap of our bounding box and the target. It's clear that we want to optimize this parameter.
batchthis line of code

Region Avg IOU: 0.326577
subdivision. A 32,66% overlap in this case, this model still requires further training.Class: 0.742537
still figuring this outObj: 0.033966
still figuring this outNo Obj: 0.000793
still figuring this outAvg Recall: 0.12500
recall/count
positivessubdivision. In this case only one of the eight positives was correctly detected.count: 8
positives8
6
7
Conclusion
In this short article, we've reviewed the different output parameters YOLOv2 uses to tell us how training is advancing. This is by no means an 'end-all' description, but should hopefully clear up most of the questions you may have when reviewing the training output.
As always, I will gladly accept comments or questions in the comment section to further improve or correct this article. Feel free to comment!