def prepare_callbacks(*, mode: str, stage: str = None, resume: str = None, out_prefix: str = None, **kwargs) -> Dict[str, Callback]: """ Runner callbacks method to handle different runs logic. :param args: console args :param mode: train/infer :param stage: training stage name :param resume: path to checkpoint (used for checkpoint callback) :param **kwargs: callbacks params :return: OrderedDict with callbacks """ callbacks = OrderedDict() for key, value in kwargs.items(): callback = Registry.get_callback(**value) callbacks[key] = callback for key, value in callbacks.items(): # @TODO: remove hack if resume is not None and hasattr(value, "resume"): value.resume = resume if out_prefix is not None and hasattr(value, "out_prefix"): value.out_prefix = out_prefix return callbacks
def get_callbacks(self, stage: str) -> "List[Callback]": callbacks_params = (self.stages_config[stage].get( "callbacks_params", {})) callbacks = [] for key, value in callbacks_params.items(): callback = Registry.get_callback(**value) callbacks.append(callback) return callbacks