-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Failing to converge on small datasets (Getting zeros on small custom data) #125
Comments
Hi @eslambakr 2K does sound to small to me, we had success with 10-15k but never tried smaller than that. Hope this helps. |
Aha, I understand your point, Thanks for your clarification. |
@eslambakr |
Thanks for sharing your results, but I am wondering I trained for almost 600 epoch, and I am getting zeros, so It is wired for me though the same data in the same format, I trained other models on it, so I think there is no error in my dataset. Thanks in advance. |
@eslambakr I believe @mlk1337 is fine-tuning his model from a pre-trained model on COCO. |
Hi @eslambakr, |
If you mean the "too high & abnormal |
Hello @alcinos @fmassa , And this is the result of training from scratch, I think it is too bad, so do u have any ideas to make DETR able to converge on small datasets? or from the graphs do u think I have to tune any hyper-parameters? |
@sompjang please try finetuning instead of training from scratch, I'm afraid training on 560 images from scratch might suffer from severe overfitting. |
How are you plotting the loss functions? |
@sompjang hi, i got the same problem, do you meet the condition that networks output is all the same, and after you follow the finetune, did the output go well? how many class are there in your dataset? |
@m-klasen The link to your gist is not working. Can you please provide the link. I am training my network from scratch and it is not converging. Any insights to my problem will be very helpful. Thank you. @eslambakr did you solve your issue with training the network from scratch. |
Hello, I used the pre-trained model of the DETR architecture provided in DETReg (https://github.com/amirbar/DETReg) for fine-tuning. The number of fine-tuned images is about 1000, and I fine-tuned the training for 50 epochs(I have modified the num_classes is max id of calsses+1) , but all indicators are still 0, can you help to find out why? thanks. |
❓ How to do something using DETR
Hello All,
I am using DETR on custom data, which contains 2k images for training. I have followed your suggestion proposed in #9 to fine-tune to avoid getting zeros, and I succeeded in achieving comparable accuracy.
But when I tried to train from scratch using the default configuration in main.py, I got zeros for the first 300 epochs until now, so should I wait for more epochs? I think it is so weird
So what do u think should I do to be able to get a good accuracy from scratch?
Is this a limitation in DETR due to the fact that transformers needs more data to converge? I think we should have some tricks to overcome this :D
Another question if there is no hope to train with too small data like this, so what is the minimum size which is proven DETR is working properly with it?
Final note: I am posting new issue as #9 has other questions which are irrelevant so I opened a new issue after reading the whole thread there.
Thanks for sharing your amazing work with the community, I hope to be able to give it back and contribute or add any benefit for your amazing work
The text was updated successfully, but these errors were encountered: