Blog #2 is up, it’s a short one, but I think that I’ll have a number of smaller ones that cover just little ideas that wouldn’t work in a bigger blog. This one focuses on the idea of utilizing functions in our DataBlock (such as using a dictionary to transform our y values): The Idea of a Transform
by that you mean, in case we have ‘n’ #epochs (learn.lr_find(n)), the pre-trained model will be trained on ‘n-1’ epochs on the frozen model and last ‘n’ th epoch will be trained on the unfrozen model.
is that correct?
@0tist no, we’ll pass in n epochs for our model to train on while unfrozen, and 1 epoch (the default) to train frozen. We’d also use learn.lr_find() (without n in there) to try to find a good learning rate but in general fine_tune does a great job
No problem There’s two separate params in it for epochs, epochs and frozen_epochs. The latter of which has the default of 1, the prior is what we set when we pass in n epochs.
First blog about the DataBlocks API and a gentle code-first introduction is now available here!
In this blog I use 5 different examples similar to the “Cats Vs Dogs” introduced in Lesson-1 and use the DataBlocks API to build custom datablocks using different methods.
We also look slightly in to convenience functions such as download_data.
Hi @arora_aman I read your blog and I’ve learnt some new things, but I noticed some of the examples in which you use get_paths_from_df function, this can be simplified using a ColReader, is there any reason you chose to define the former?