Replies: 6 comments 7 replies
-
What does "dives to zero" mean? You've explained a bunch of things, but not what isn't working! |
Beta Was this translation helpful? Give feedback.
-
Who said it should be? Why not simply paste the chart.png so we can see it? At the same time, post a sample image and the annotation you have. My prediction is your image size+object size don't work with the network dimensions you've chosen to use. Thus, zero predictions are made, and the mAP stays at zero the entire way. |
Beta Was this translation helpful? Give feedback.
-
From this chart, I can tell you don't have mAP enabled. Did you train using the recommended command: https://www.ccoderun.ca/programming/darknet_faq/#training_command I assume the cat is what you are trying to find? Do you have the entire cat as an annotation? Or just the head? If you have the entire cat, then your network size can be 224x224 without any problem: From this image, you can see the cat is still much larger than the 16x16 minimum. So if you want you could probably reduce the network even more without any problems. |
Beta Was this translation helpful? Give feedback.
-
Turn your learning rate down. You have an over-simplistic network. #6730 Also: how many negative samples do you have? 50% of your images should be negative samples. https://www.ccoderun.ca/programming/darknet_faq/#tldr |
Beta Was this translation helpful? Give feedback.
-
Join the discord? Share your files and I'll try it out and see what I get? |
Beta Was this translation helpful? Give feedback.
-
Here are a few of the important files. Perhaps you can take a look and see where I'm going wrong. As I mentioned earlier, I wrote a program to convert to/from voc and yolo.txt files. I'm compared the values and you are free to do so as well. I have included one xml and my version of the yolo.txt. I can easily modify my program to limit the number of decimal places should that wind up being the problem. I"m not familiar with Discord. I don't mind loading files to my dropbox if you are interested. It may also be that I made an error when using CMake to compile Darknet. I can also load images of my CMake settings used to compile and build Darknet. |
Beta Was this translation helpful? Give feedback.
-
I have been trying to train a custom class. I am working with the cats images from the Google Image Set., a set of 3,500 images. I put about 10% of those images into the val directory and the rest in the train directory. I wrote my own program to convert the annotations and the numbers check out with the convert_voc_to yolo.py program. No problem there. I have tried training with 6 decimal places and as many as 16 decimal places and there is no change.
I set the yolov3-custom.cfg to 4000 with 3200 and 3600. 18 filters and 1 class; Cat. I have my train.txt and val.txt files pointing to the images and the annotation (txt) files are in the same directory as the images. I have tried the image size beginning at 416 going all the way up to 608. The images are all fairly large so I don't thing size is an issue. I've also set batch to 64 and subdivisions to 8 and 16 and 32 and 64. The only change it is takes much longer to dive to zero. With a mAP value of zero as well.
I'm using Windows 10 with a Ryzen 9 5950x processor and a RTX3090 and based on what I see on my screen the GPU is working as hard as it can go with 16 processors doing all they can do.. It normally takes less than 2 hours to train those images. That seems fast to me but since I haven't been able to get it to work I don't even know that for sure.
I can train the image set koala and get a mAP value of between 90 and 100. detection for koalas works very well. I also tried training it with the dragonfly image set and even though it also dived down to zero pretty quickly, and the mAP stayed at zero, it was able to detect dragonflies fairly well; I just don't trust it yet. It needs more samples but for now I just want to see it work as it should.
I'm using the AlexeyAB Darknet version as of 6/26/2022 compiled with Visual Studio 2019.
I even made sure the backslash in the train.txt, val.txt, and detector.data files were downslope, , rather than the upslope, /. I don't know why that is backwards, at least to me, but it's easy enough to do it. I've also tried it both ways with similar results.
Can anyone point me in the right direction? I'm still fairly new to Darknet and it seems powerful. I'd love to see this PC do something besides waste my time.
I have seen a few discussions about low mAP values but their solution did nothing for my issue.
Beta Was this translation helpful? Give feedback.
All reactions