It’s close - but it’s just for batchnorm layers; it disables their moving average updates.
Yes exactly.
Yes there is, although it requires writing a custom loss function. We won’t cover that in this part of the course. Funnily enough, it turned out in this competition it didn’t help, since sometimes images were incorrectly labeled with two weather labels!
Nice job to come up with this idea BTW - very deep insight.
Generally you want as big as your GPU can handle, but of course no bigger than the original input size.
The other main choice is to have none at all (i.e. a linear output).
learn.model
contains the pytorch model
All the models we’ve used work on any sized input. We’ll learn the details of how later.
No, not much thought at all, I’m afraid… Seems to work ok though
In fact, you’ll see in f2
in our planet.py
that it searches for a good threshold!
I’ve added the lesson video to the top post of this thread. (It’s currently uploading - will be available in under an hour from now).
They are added to each lesson’s wiki thread (including this one!) the day after the lesson.
I have 48 X 48 single channeled images of human facial expressions downloaded from here. It’s an expression classification problem. Should I upsample to use pre-trained models or should I train a convNet from scratch?
Yes, filters are arrived via SGD.
Yes, it will be 3*3*3
for 3 channel input and for 1 filter. In the excel sheet Jeremy uses 2 filters one for vertical edge and another for horizontal edge. In this case size of filter Tensor would be 2*3*3*3
i.e. if K-filters are used and image is 3 channel then size of filter Tensor would be k*3*3*3
But as the torchvision resnet model does not have the same final two layers that the fastai framework appends (based on your # of classes), won’t the call to model.load_state_dict(my_model_state)
throw an exception?
FYI your *
characters are being interpreted as italics formatting in your post. Wrap like this to avoid the problem:
`3*3*3`
Right that approach won’t work.
What does the precompute
flag do?
learn = ConvLearner.pretrained(arch, data, precompute=True)
Right, that was a generic example. The OP wanted an example without fastai.
We can’t load Torch’s resnet34 model into fastai’s resnet34 model for the reason you stated.
Search the forum - we’ve discussed that one quite a bit.