Currently, when there's more than one model defined, all hooks get called, including the ones registered for old models.
Long term fix should be a refactor to use self-removing hooks, like here -- https://colab.research.google.com/drive/1EwUPkxaFSwQbk_y4Cl_mvT3L4p4hb1kS
Short-term workaround is to reload autograd_lib every time model is changed, ie
import importlib
importlib.reload(autograd_lib)