Callbacks passed to cbs give ERROR and not when passed to cbfs

I get the following error everytime i try to pass callbacks to cbs instead of cb_funcs. If i pass to cb_funcs it works fine.

The ERROR:

AttributeError Traceback (most recent call last)
~\Library\mini_batch_training.py in fit(self, epochs, learn)
283 try:
–> 284 for cb in self.cbs: cb.set_runner(self)
285 if self(‘begin_fit’): return

AttributeError: ‘functools.partial’ object has no attribute ‘set_runner’

During handling of the above exception, another exception occurred:

AttributeError Traceback (most recent call last)
in
1
----> 2 run.fit(5, learn)

~\Library\mini_batch_training.py in fit(self, epochs, learn)
293
294 finally:
–> 295 self(‘after_fit’)
296 self.learn = None
297

~\Library\mini_batch_training.py in call(self, cb_name)
297
298 def call(self, cb_name):
–> 299 for cb in sorted(self.cbs, key=lambda x: x._order):
300 f = getattr(cb, cb_name, None)
301 if f and f(): return True

~\Library\mini_batch_training.py in (x)
297
298 def call(self, cb_name):
–> 299 for cb in sorted(self.cbs, key=lambda x: x._order):
300 f = getattr(cb, cb_name, None)
301 if f and f(): return True

AttributeError: ‘functools.partial’ object has no attribute ‘_order’

Edit 1:
I figured out that in the cuda notebook the get_runner has been changed. The change passes only cbs to runner and cb_funcs = listify(cbs) is added. This allows jeremy to pass only cbs in later notebooks without error. I didnt have this.

IIRC, cbs takes a list of callback classes, whereas cb_funcs takes a list of callback functions.