When is the EarlyStoppingCallback being called?

Hi there.
I’m wondering when the EarlyStoppingCallback is being called to check the metric?
Is it at eval_steps or logging_steps?

So for example if:

  • early_stopping_patience=3,
  • eval_steps=100,
  • logging_steps=50

Would the patience counter rise for no improvement after 50 or 100 steps?

Answering myself after digging more into the code.

It would check when state.global_step % args.eval_steps == 0.
trainer_callback.DefaultFlowCallback.on_step_end

        if (
            args.evaluation_strategy == IntervalStrategy.STEPS
            and state.global_step % args.eval_steps == 0
            and args.eval_delay <= state.global_step
        ):
            control.should_evaluate = True