def __init__(self, model, eval_state_per_batches):
        """
        :param model: AbstractKerasModel object
        :param eval_state_per_batches: run model evaluation each `eval_state_per_batches` steps
        """
        super(EvaluateAndSaveBestIntermediateModelCallback, self).__init__(model)
        WithLogger.__init__(self)

        self._eval_state_per_batches = eval_state_per_batches
        self._training_start_time = None
        self._cur_epoch_start_time = None

        :param model: AbstractKerasModel object
        :param eval_state_per_batches: run model evaluation each `eval_state_per_batches` steps
        
cakechat/dialog_model/keras_model.py