this notebook reproduces the failure of autoreload fastai library on its update after the notebook has started, which breaks it. at least with the Learner object.
%reload_ext autoreload
%autoreload 2
%matplotlib inline
import sys, pickle
from pathlib import Path
# CHANGE REQUIRED: adjust the path to where fastai repo is checked out
FASTAI_REPO = Path("/mnt/nvme1/fast.ai-1/br/fastai/master")
TARGET = FASTAI_REPO/"fastai"/"basic_train.py"
sys.path.insert(1, str(FASTAI_REPO))
from fastai.vision import *
from fastai.datasets import *
from fastai.metrics import *
path = untar_data(URLs.MNIST_TINY)
data = ImageDataBunch.from_folder(path, ds_tfms=(rand_pad(2, 28), []))
learn = create_cnn(data, models.resnet18, metrics=[accuracy])
# touch forces autoreloader to reloading TARGET fastai python library
!echo touch $TARGET
!touch $TARGET
# this works if the previous cell didn't run
p = pickle.dumps(learn)
# cleanup
!rm export.pkl
!rmdir models