Skip to content

Add callback.run_event() #11

@ajaysaini725

Description

@ajaysaini725

Add a helper method in callback for run_event. This helper method would then call the correct method on callback. It would look something like:

class Callback:
  def run_event(self, state; State, logger; Logger, event: Event):
    if event == Event.TRAINING_START:
        self.training_start(state, logger)
    if event == Event.BEFORE_FORWARD:
        self.before_forward(state, logger)
    ...

Then, the engine would do callback.run_event(state, logger, event).

This would help clean up code in the following places:

  • RankZeroCallback: Instead of monkeypatching each callback function, it would simply override run_event.
  • RankZeroLogger: No need for a private _training_start method that is different from all of the other callbacks
  • Checkpointing tests: The EventCounterCallback basically does this, via monkeypatching

Metadata

Metadata

Assignees

Labels

Needs DesignNeeds Design Further design is required. Do not start implementation until design questions are reso

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions