

If a package is installed but you don't wish to use the accompanying integration, you can change TrainingArguments.report_to to a list of just those integrations you want to use (e.g. ["azure_ml", "wandb"]). 
The main class that implements callbacks is [TrainerCallback]. It gets the
[TrainingArguments] used to instantiate the [Trainer], can access that
Trainer's internal state via [TrainerState], and can take some actions on the training loop via
[TrainerControl].
Available Callbacks
Here is the list of the available [TrainerCallback] in the library:
[[autodoc]] integrations.CometCallback
    - setup
[[autodoc]] DefaultFlowCallback
[[autodoc]] PrinterCallback
[[autodoc]] ProgressCallback
[[autodoc]] EarlyStoppingCallback
[[autodoc]] integrations.TensorBoardCallback
[[autodoc]] integrations.WandbCallback
    - setup
[[autodoc]] integrations.MLflowCallback
    - setup
[[autodoc]] integrations.AzureMLCallback
[[autodoc]] integrations.CodeCarbonCallback
[[autodoc]] integrations.NeptuneCallback
[[autodoc]] integrations.ClearMLCallback
[[autodoc]] integrations.DagsHubCallback
[[autodoc]] integrations.FlyteCallback
[[autodoc]] integrations.DVCLiveCallback
    - setup
TrainerCallback
[[autodoc]] TrainerCallback
Here is an example of how to register a custom callback with the PyTorch [Trainer]:
thon
class MyCallback(TrainerCallback):
    "A callback that prints a message at the beginning of training"
def on_train_begin(self, args, state, control, **kwargs):
    print("Starting training")