AlexeyAB / darknet

YOLOv4 / Scaled-YOLOv4 / YOLO - Neural Networks for Object Detection (Windows and Linux version of Darknet )
http://pjreddie.com/darknet/
Other
21.77k stars 7.96k forks source link

Difference between the provided cfg/*.cfg files #5092

Open flowzen1337 opened 4 years ago

flowzen1337 commented 4 years ago

Hi Folks, Hi @AlexeyAB,

i try to understand what's the difference between all the configs provided in this repo, but i dont get it. Maybe someone can explain whats the difference and why i should use a outer cfg than yolov3.cfg / yolo-v3-tiny.cfg ? Does it affect my custom training if i use yolov3-voc.cfg instead of yolov3.cfg - does it make it better or badder in detection and for what is voc standing for? (Same for the other *.cfg's as well, idk what they are for "...giou-12.cfg <- what?! oO" :-D ?!

For example: I got a custom Dataset and train it via yolov3.cfg very well. What benefit can i have or whats the difference when i use one of the other cfg's* For example yolov3-spp.cfg or yolov3-voc.cfg or the yolov3-voc.yolov3-giou-40.cfg or the yolov3.coco-giou-12.cfg.... ? What does the Gaussian_yolov3_BDD.cfg do?

I try to get the best out of my dataset but dont know what all the other cfg's files are doing and dont find any short sentences with the main pro/cons about them. Maybe someone could help me to expand my understanding? :)

Here are some cfg's idk whats the difference between them?!

yolov3-openimages.cfg yolov3-spp.cfg yolov3-voc.cfg yolov3-voc.yolov3-giou-40.cfg yolov3.cfg yolov3.coco-giou-12.cfg yolov3_5l.cfg vgg-conv.cfg vgg-16.cfg strided.cfg resnet50.cfg resnet101.cfg resnet152.cfg resnet152_trident.cfg resnext152-32x4d.cfg enet-coco.cfg efficientnet_b0.cfg densenet201.cfg darknet53_448_xnor.cfg darknet53.cfg csresnext50-panet-spp.cfg csresnext50-panet-spp-original-optimal.cfg Gaussian_yolov3_BDD.cfg cifar.cfg

stephanecharette commented 4 years ago

Adding myself to this thread, as I'd like to see the answer. I've yet to come across documentation that users can reference to determine which .cfg file they should use.

AlexeyAB commented 4 years ago

Other models are for Classifiction rather than Detection - you can google about each of them:

vgg-conv.cfg
vgg-16.cfg
strided.cfg
resnet50.cfg
resnet101.cfg
resnet152.cfg
resnext152-32x4d.cfg
efficientnet_b0.cfg
densenet201.cfg
darknet53_448_xnor.cfg
darknet53.cfg
cifar.cfg
flowzen1337 commented 4 years ago

Thanks rocketman @AlexeyAB ! :-)

That means i should better use "csresnext50-panet-spp-original-optimal.cfg" than "yolov3.cfg" as it will provide better results. Does the fps will be better then with yolov3 or does it only have input on the accuracy itself?

acidtonic commented 4 years ago

To use csresnext50-panet-spp-original-optimal.cfg on a custom dataset do we need to adjust filters and other parameters besides classes=80?

I'm not familiar with this model and want to test it against my well trained yolov3. For that network I had to adjust multiple lines with math involving class count. Just making sure that isn't required here? If so what lines?

Thanks a bunch!

stephanecharette commented 4 years ago

I've yet to come across documentation that users can reference to determine which .cfg file they should use.

In case it is useful to anyone, I've attempted to document the various .cfg files here as part of my DarkMark project: https://www.ccoderun.ca/DarkMark/Configuration.html