i watched the lesson-1 of part 1 and after that i made my own data-set and model to classify between cube, cylinder, pyramid and sphere.
i am linking the code and also link to my dataset
data-set : data set
i want to know if i am doing any good and how can i improve accuracy of my model further.
EDIT : this is first time i am asking help in forums. i am not sure if this can be considered as valid question or not. i apologize if this is wrong question.
Great job at making your own dataset! Took a look at the code and here’s a couple of ways to improve it.
Looking at your top_losses, it seems like some of the data aren’t accurate. Watch lesson 2 to learn how to use built in tools to remove bad data to improve accuracy. Here’s a link to that specific section in lesson 2’s notes
Also, when you are using resnet50 as your last model, Your validation loss is quite large at times (eg. 26), which usually means that LR is too high.
The slice of the learning rate is much too large. The rule of thumb is usually to have a 10x difference between them. You can play around with different learning rates. Based on your graph there, you could try 3e-4. Or if you want to pass in a slice, slice(1e-4, 1e-3). Try out different LR!
difference between 1e-3 and 1e-4?
And also if i call
lr_find, the plot is different compared to if i do not call
fit_one_cycle and only call
is it because
fit_one_cycle itself train the model ?
what i understand about lr_find is that it plots error_rate based on different learning rate and if so then why does graph changes once i call
Yep, between 1e-3 and 1e-4.
fit_one_cycle trains the model itself (the last layers if you don’t call unfreeze) so that’s why the plot looks different.