../

Darknet/YOLO Training Output

The output from Darknet when training a neural network has never been fully documented. And the output has changed quite a bit over the years. In this post, I'll go over the output of the most recent Darknet v5.1 which was released in December 2025.

Example Output

When training a neural network, a line is output at every iteration. Typically, an iteration consists of 64 images. The following image shows the output of 10 consecutive iterations:

In Darknet v5.1, there are 11 fields per line:

678: loss=0.255, avg loss=0.221, last=68.62%, best=73.10%, mAP=700, rate=0.00261000, load 64=20.3 milliseconds, train=49.1 milliseconds, 43392 images, time remaining=2.3 minutes 679: loss=0.166, avg loss=0.216, last=68.62%, best=73.10%, mAP=700, rate=0.00261000, load 64=20.3 milliseconds, train=49.3 milliseconds, 43456 images, time remaining=2.3 minutes 680: loss=0.273, avg loss=0.221, last=68.62%, best=73.10%, mAP=700, rate=0.00261000, load 64=20.2 milliseconds, train=49.2 milliseconds, 43520 images, time remaining=2.3 minutes 681: loss=0.190, avg loss=0.218, last=68.62%, best=73.10%, mAP=700, rate=0.00261000, load 64=15.2 milliseconds, train=49.2 milliseconds, 43584 images, time remaining=2.3 minutes 682: loss=0.216, avg loss=0.218, last=68.62%, best=73.10%, mAP=700, rate=0.00261000, load 64=20.2 milliseconds, train=49.3 milliseconds, 43648 images, time remaining=2.2 minutes 683: loss=0.268, avg loss=0.223, last=68.62%, best=73.10%, mAP=700, rate=0.00261000, load 64=20.3 milliseconds, train=49.0 milliseconds, 43712 images, time remaining=2.2 minutes 684: loss=0.163, avg loss=0.217, last=68.62%, best=73.10%, mAP=700, rate=0.00261000, load 64=20.3 milliseconds, train=49.4 milliseconds, 43776 images, time remaining=2.2 minutes 685: loss=0.247, avg loss=0.220, last=68.62%, best=73.10%, mAP=700, rate=0.00261000, load 64=20.3 milliseconds, train=48.9 milliseconds, 43840 images, time remaining=2.2 minutes 686: loss=0.264, avg loss=0.225, last=68.62%, best=73.10%, mAP=700, rate=0.00261000, load 64=20.3 milliseconds, train=49.0 milliseconds, 43904 images, time remaining=2.2 minutes 687: loss=0.158, avg loss=0.218, last=68.62%, best=73.10%, mAP=700, rate=0.00261000, load 64=15.2 milliseconds, train=49.6 milliseconds, 43968 images, time remaining=2.2 minutes 688: loss=0.211, avg loss=0.217, last=68.62%, best=73.10%, mAP=700, rate=0.00261000, load 64=20.3 milliseconds, train=48.6 milliseconds, 44032 images, time remaining=2.2 minutes

I'll use the highlighted line from iteration #680 to show the meaning behind all 11 fields:

field name description
680 iteration At the very left of each line is the iteration number. Training starts at iteration #1 and goes up to max_batches which must be defined in the [net] section at the top of the .cfg file.
loss=0.273 current loss The loss calculated for this training iteration. The lower the number, the better the results. When training first starts, this will be in the thousands.
avg loss=0.221 average loss Similar to the previous field. The average loss. The lower the number, the better the results.
last=68.62% recent mAP The most recent mAP (mean average precision) value. The higher the number, the better the results. This requires the -map flag to be specified when training.
best=73.10% best mAP The best mAP (mean average precision) value seen so far during training. This requires the -map flag to be specified when training.
mAP=700 next mAP The iteration number when the next mAP calculation is scheduled to take place. This requires the -map flag to be specified when training.
rate=0.00261000 learning rate The learning rate. This is reduced automatically as training progresses, based on learning_rate=, steps=, and scales= in the .cfg file.
load 64=20.2 milliseconds load images The time it took to load 64 images for this iteration. The "64" is based on the size of a batch as defined in the [net] section of the .cfg file. The thread that controls the image loading threads verifies results every 5 milliseconds, so you'll typically see values like 15, 20, 25, ... in increments of 5 milliseconds.
train=49.2 milliseconds train network The time it took to train with all images loaded for this iteration. Typically, training should take longer than loading, otherwise Darknet will log a message warning you that loading the images is taking longer than expected. In the background, Darknet is always busy loading the next batch of images while training the current batch.
43520 images total images The number of images loaded so far to train the neural network. Since this example is from iteration #680, and there are 64 images per batch, this amounts to 43520 total images (680 * 64 = 43520).
time remaining=2.3 minutes time remaining An estimate as to how much time remains for training to finish. Training is finished when the iteration reaches max_batches.

There is additional output generated if you pass the -verbose or -trace flags when training. That output is mostly for debug purposes.

Last modified: 2026-01-02
Stéphane Charette, stephanecharette@gmail.com
../