docstr: Called in every trainer (distributed or local) before training starts.
  
  :param trainer: The trainer instance.
  :type trainer: trainer: ludwig.models.Trainer
  :param save_path: The path to the directory model is saved in.
  :param is_coordinator: Is this trainer the coordinator.
docstr_tok: ["Called","in","every","trainer","(","distributed","or","local",")","before","training","starts",".",":","param","trainer",":","The","trainer","instance",".",":","type","trainer",":","trainer",":","ludwig.models.Trainer",":","param","save_path",":","The","path","to","the","directory","model","is","saved","in",".",":","param","is_coordinator",":","Is","this","trainer","the","coordinator","."]
code: def on_trainer_train_setup(
      self, trainer, save_path: str, is_coordinator: bool
  ):
      """Called in every trainer (distributed or local) before training starts.
  
      :param trainer: The trainer instance.
      :type trainer: trainer: ludwig.models.Trainer
      :param save_path: The path to the directory model is saved in.
      :param is_coordinator: Is this trainer the coordinator.
      """
      pass
  
imports: from abc import ABC
  from typing import Any, Callable, Dict, List, Union
  from ludwig.api_annotations import PublicAPI
  from ludwig.types import HyperoptConfigDict, ModelConfigDict, TrainingSetMetadataDict
label_desc: Use image node_id 17 for calling the Callback obj's underlying member method code with example usage: obj.on_trainer_train_setup(trainer, save_path, is_coordinator) without return types