(1) Breaking change
added super().init() to DDPMCB so that self.n_inp in TrainCB gets initialized (TrainCB changed after the lesson and this change makes DDPMCB consistent with the new version of TrainCB)
(2) Non-breaking change
deleted reference to global variable 'learn' because 'model' is already being passed to the method as a parameter, so, no need to refer to the global model
(1) Breaking change added super().init() to DDPMCB so that self.n_inp in TrainCB gets initialized (TrainCB changed after the lesson and this change makes DDPMCB consistent with the new version of TrainCB)
(2) Non-breaking change deleted reference to global variable 'learn' because 'model' is already being passed to the method as a parameter, so, no need to refer to the global model