Answering myself, the resolution is to call learn.model.eval() after learn.load() to put the model into evaluation mode (fix batchnorm and dropout layers).
This is not the first time I stumble over this and quite obviously I’m not the only one to be tripped by forgetting model.eval(). My question then is, why does a library as good as fastai at abstracting away standard and boilerplate code not automatically set the model into evaluation mode when .get_preds()is called? Doesn’t getting predictions imply that I want to evaluate my model instead of training it? Is this behavior on purpose?