2nd place solution

#29
by rashmi - opened

Thank you Hugging Face and @abhishek for hosting this. I had fun!

I mostly tried many different check points and image sizes. Didn't have time to try other parameters and no augmentation as well.
My solution is average of different timm models listed below. I'll publish my code soon.

image.png

I also tried stacking and pseudo label - both didn't work, just average was better.
Best part was very clean dataset and cv/lb correlation. Thank you!

PS: Everytime I logged in I saw delai50 with improved score, I was pretty certain by the time competition ends their score would be 0. Looking forward to the solution.

Edit: Code - https://github.com/rashmibanthia/aiornot

Thanks for sharing your solutions and congrats !!!

I have also tried different convnext checkpoints but none of them get to the score of ~0.015, the best I can reach is around ~0.045.
Can you share your experiments params?

P/S: I tried with augmix and mixup augmentations, probably too much augmentation for this task.

I put my code here - 10 epochs, LR 2e-5 or 1e-5, Batch size 8-12 depending on the image size.
I didn't get time to experiment with augmentation - some of them might work.
Some of these checkpoints are only available in timm nightly - you can install with pip install git+https://github.com/rwightman/pytorch-image-models

Congratulations and thanks for sharing @rashmi !

I have the same feeling with you (and with @ilu000 ), everytime I see you improving the score I was crossing the fingers ๐Ÿ˜„โ€Š, maybe with augmentations you had surpassed me. I experimented a couple of times with convnexts but couldn't achieve your results and continue with effnets.

Looking forward what @ilu000 has to say.

Thanks for sharing @rashmi and congrats on your win!

Regarding your image sizes (640 and 768), they are larger than the original image sizes (512), correct? So I guess you enlarged them, can I ask you to your intuition for doing this?

My idea would be that enlarging the images beyond the original resolution will not add any new information to the images (I guess the new pixels probably get interpolated?) and thus would not lead to a performance gain. It would just lead to longer training times.

But since I am very new in this space, I guess I'am missing something :)

I tried multiple image sizes 384x384, 512x512, 640, 768. I was also trying to finish experiments quickly - so I was also changing batch size and LR along with it. So it wasnโ€™t a fair comparison which image size is working best but 640x640 seemed best with time to train and results.
You may want to look into cv2.resize - interpolation methods as to which work best when increasing image and which work best when reducing. I recently finished RSNA and images were huge and uneven - there we had to crop, then increased width and decreased height. Hope this helps!

Thanks @rashmi , that makes sense ๐Ÿ™

Sign up or log in to comment