-
-
Notifications
You must be signed in to change notification settings - Fork 5k
Incorporate SelecSLS Models #65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@mehtadushy thanks, I'll take a look at this next week |
@mehtadushy Looks good, compelling GPU resource utilization for accuracy levels. I'm going to merge as is and then tweak a few style/consistency things myself (lower case model strings/entry point fns, etc). I downloaded your weights files, I plan to add the hash to the filename and host a copy in a separate GitHub release within this repo that mentions the origin so that it works with the model zoo downloader. Just like HRNet, Res2Net (https://github.com/rwightman/pytorch-image-models/releases) Is that okay? |
Yes, that would be ok as long as a note refers back to the original repository (https://github.com/mehtadushy/SelecSLS-Pytorch) for license terms, and to the paper details (https://arxiv.org/abs/1907.00837) for citation. |
@mehtadushy okay, done... it's on the master now and created a release with the requested links and info for the weights. I made a few changes to bring in line with some naming prefs. Checkpoint compatibility maintained. https://github.com/rwightman/pytorch-image-models/releases/tag/v0.1-selecsls |
Thanks! |
@mehtadushy Do you happen to have any of the hparams used for training the SelecSLS? I was going to run some experiments with them for some new augmentations since they're faster throughput/bigger batch then the my ResNet usuals, but my first pass with my usual LR and hparams for ResNet wasn't quite as good. |
I trained them a long time ago, and did not seem to have saved the exact hyperparameters used, but the following ones which I have been using for recent related experiments are very close. First train with RMSProp for around 100 epochs I don't let the RMSProp training run through the entire epoch range, and stop it close to 100, and have SGD with a smaller batch size do the tail end of training. I let this run for around 30 epochs Then for the EMA part to have a slightly more diverse history, I lower the batch size further, and run for around 10 epochs (I stop at 10 even though this runs for 20) In addition to EMA, I also used SWA with a couple of runs with adam, starting from the EMA and non EMA weights of the previous run, but I don't remember the exact details of that, and have not been using it for my recent experiments. Without this, you should be able to get within 0.2 of the reported top-1 performance. |
@mehtadushy thanks for the details, I try something along those lines and see what I get. |
Incorporate SelecSLS Models
Hi Ross
I have ported my SelecSLS Net (https://github.com/mehtadushy/SelecSLS-Pytorch) implementation to your framework, and have also trained a couple of variants using your training setup.
These would be of interest to you because of their significantly smaller GPU memory footprint than ResNets, and their much faster inference speed, all the while being at par with ResNet50 (SelecSLS60/60_B) in terms of accuracy.
The URLs for the pre-trained models will take a couple of days to go online. Meanwhile you can get the models for stopgap testing from http://people.mpi-inf.mpg.de/~dmehta/xnect_models/SelecSLS42_B.pth and http://people.mpi-inf.mpg.de/~dmehta/xnect_models/SelecSLS60_B.pth .
Best