@vfdev-5 it seems I’ve made a mistake… Trainer accepts epoch_length as argument, BUT I’ve created an evaluator engine  with create_supervised_evaluator and although trainer.state is correct, evaluator.state doesn’t have the same epoch and iteration.