I am pretty new to all this, so please forgive me if something does not make sense or if I am asking stupid questions.
My task is to classify spectrograms from 10 sec sound files. There are two categories, “calls” and “nothing” (nothing category could contain silence, mechanical sounds, people talking, anything but calls)
resnet 34 results are very bad, not only error rate is 0.5, it also seems to be increasing
In the first image you posted with resnet34, it looks like you aren’t setting a learning rate. If the default learning rate isn’t close to what is suggested by lr_find, you won’t get good results and could see the error rate not improving. So I’d suggest using the learning rate finder and passing a good learning rate to fit_one_cycle.
The natural question though - why would it work for resnet50? I think that would just be by chance - the default learning rate happens to be close to what works well for that model.
Today I tried to remove normalization, it improved results somewhat, but they are still too good (and resnet 50 still performs much better, although resnet 34 now makes a bit more sense with its results), so folks suggested I am overfitting most likely.
Did you start over or did you continue training the one from above? Once you’ve used a learning rate that’s too high it’s hard to get it to come back to sanity.
Also, looking at your screenshot, lr_find doesn’t do anything by itself – you need to choose a learning rate and pass it to fit_one_cycle.
The enormous magnitude of the difference between the resnet34 and resnet50 accuracy should be a red flag that something wasn’t right with the resnet34 training.