'
# Creates the train_step function for our model,
# loss function and optimizer
# Note: there are NO ARGS there! It makes use of the class
# attributes directly
self.train_step = self._make_train_step()
# Creates the val_step function for our model and loss
self.val_step = self._make_val_step()
'
here the attributes should be 'train_step_fn', 'val_step_fn' instead.