tfaip.trainer¶
Trainer¶
Definition of the Trainer
-
class
tfaip.trainer.trainer.Trainer(params: TTrainerParams, scenario: tfaip.scenario.scenariobase.ScenarioBase, restore=False)¶ Bases:
Generic[tfaip.trainer.trainer.TTrainerParams],abc.ABCThe Trainer class is typically identical for all scenarios. Its purpose is to set up the training callbacks, Warmstarting/Restarting. The training loop is wrapped in ScenarioBase and is a call to keras.Model.fit.
-
classmethod
params_cls() → Type[TTrainerParams]¶
-
static
parse_trainer_params(d: Union[str, dict]) → Tuple[TTrainerParams, Type[tfaip.scenario.scenariobase.ScenarioBase]]¶
-
classmethod
restore_trainer(checkpoint: Union[str, dict]) → tfaip.trainer.trainer.Trainer¶
-
__init__(params: TTrainerParams, scenario: tfaip.scenario.scenariobase.ScenarioBase, restore=False)¶ Initialize self. See help(type(self)) for accurate signature.
-
property
scenario¶
-
property
params¶
-
train(**kwargs)¶
-
create_train_params_logger_callback(store_weights, store_params)¶
-
setup_callbacks(optimizer, callbacks=None)¶
-
setup_steps_per_epoch()¶
-
fit()¶
-
create_warmstarter() → tfaip.trainer.warmstart.warmstarter.WarmStarter¶
-
classmethod
TrainerParams¶
Definition of the TrainerParams and the TrainerPipelineParamsBase
-
class
tfaip.trainer.params.TrainerPipelines(train: tfaip.data.databaseparams.DataPipelineParams = <factory>, val: tfaip.data.databaseparams.DataPipelineParams = <factory>)¶ Bases:
object-
__init__(train: tfaip.data.databaseparams.DataPipelineParams = <factory>, val: tfaip.data.databaseparams.DataPipelineParams = <factory>) → None¶ Initialize self. See help(type(self)) for accurate signature.
-
classmethod
from_dict(kvs: Optional[Union[dict, list, str, int, float, bool]], *, infer_missing=False) → A¶
-
classmethod
from_json(s: Union[str, bytes, bytearray], *, parse_float=None, parse_int=None, parse_constant=None, infer_missing=False, **kw) → A¶
-
classmethod
schema(*, infer_missing: bool = False, only=None, exclude=(), many: bool = False, context=None, load_only=(), dump_only=(), partial: bool = False, unknown=None) → dataclasses_json.mm.SchemaF[A]¶
-
to_dict(encode_json=False) → Dict[str, Optional[Union[dict, list, str, int, float, bool]]]¶
-
to_json(*, skipkeys: bool = False, ensure_ascii: bool = True, check_circular: bool = True, allow_nan: bool = True, indent: Optional[Union[int, str]] = None, separators: Optional[Tuple[str, str]] = None, default: Optional[Callable] = None, sort_keys: bool = False, **kw) → str¶
-
-
class
tfaip.trainer.params.TrainerPipelineParamsBaseMeta(*args, **kwargs)¶ Bases:
tfaip.util.generic_meta.CollectGenericTypes
-
class
tfaip.trainer.params.TrainerPipelineParamsBase(setup: tfaip.trainer.params.TrainerPipelines = <factory>)¶ Bases:
Generic[tfaip.trainer.params.TDataGeneratorTrain,tfaip.trainer.params.TDataGeneratorVal],abc.ABCDefinition of the training pipeline inputs.
Specify the DataGeneratorParams for Training and Validation as Generaics.
-
classmethod
train_cls()¶
-
classmethod
val_cls()¶
-
abstract
train_gen() → TDataGeneratorTrain¶
-
abstract
val_gen() → Optional[TDataGeneratorVal]¶
-
lav_gen() → Iterable[TDataGeneratorVal]¶
-
train_data(data: DataBase) → DataPipeline¶
-
val_data(data: DataBase) → DataPipeline¶
-
lav_data(data: DataBase) → Iterable[DataPipeline]¶
-
__init__(setup: tfaip.trainer.params.TrainerPipelines = <factory>) → None¶ Initialize self. See help(type(self)) for accurate signature.
-
classmethod
from_dict(kvs: Optional[Union[dict, list, str, int, float, bool]], *, infer_missing=False) → A¶
-
classmethod
from_json(s: Union[str, bytes, bytearray], *, parse_float=None, parse_int=None, parse_constant=None, infer_missing=False, **kw) → A¶
-
classmethod
schema(*, infer_missing: bool = False, only=None, exclude=(), many: bool = False, context=None, load_only=(), dump_only=(), partial: bool = False, unknown=None) → dataclasses_json.mm.SchemaF[A]¶
-
to_dict(encode_json=False) → Dict[str, Optional[Union[dict, list, str, int, float, bool]]]¶
-
to_json(*, skipkeys: bool = False, ensure_ascii: bool = True, check_circular: bool = True, allow_nan: bool = True, indent: Optional[Union[int, str]] = None, separators: Optional[Tuple[str, str]] = None, default: Optional[Callable] = None, sort_keys: bool = False, **kw) → str¶
-
classmethod
-
class
tfaip.trainer.params.TrainerPipelineParamsMeta(*args, **kwargs)¶ Bases:
tfaip.util.generic_meta.ReplaceDefaultDataClassFieldsMeta,tfaip.trainer.params.TrainerPipelineParamsBaseMeta
-
class
tfaip.trainer.params.TrainerPipelineParams(*args, **kwds)¶ Bases:
tfaip.trainer.params.TrainerPipelineParamsBase[tfaip.trainer.params.TDataGeneratorTrain,tfaip.trainer.params.TDataGeneratorVal]-
train: TDataGeneratorTrain¶
-
val: TDataGeneratorVal¶
-
train_gen() → TDataGeneratorTrain¶
-
val_gen() → TDataGeneratorVal¶
-
__init__(setup: tfaip.trainer.params.TrainerPipelines = <factory>, train: TDataGeneratorTrain = <factory>, val: TDataGeneratorVal = <factory>) → None¶ Initialize self. See help(type(self)) for accurate signature.
-
classmethod
from_dict(kvs: Optional[Union[dict, list, str, int, float, bool]], *, infer_missing=False) → A¶
-
classmethod
from_json(s: Union[str, bytes, bytearray], *, parse_float=None, parse_int=None, parse_constant=None, infer_missing=False, **kw) → A¶
-
classmethod
schema(*, infer_missing: bool = False, only=None, exclude=(), many: bool = False, context=None, load_only=(), dump_only=(), partial: bool = False, unknown=None) → dataclasses_json.mm.SchemaF[A]¶
-
to_dict(encode_json=False) → Dict[str, Optional[Union[dict, list, str, int, float, bool]]]¶
-
to_json(*, skipkeys: bool = False, ensure_ascii: bool = True, check_circular: bool = True, allow_nan: bool = True, indent: Optional[Union[int, str]] = None, separators: Optional[Tuple[str, str]] = None, default: Optional[Callable] = None, sort_keys: bool = False, **kw) → str¶
-
-
class
tfaip.trainer.params.TrainerParamsMeta(*args, **kwargs)¶ Bases:
tfaip.util.generic_meta.ReplaceDefaultDataClassFieldsMetaMeta class for the trainer params
The class will automatically replace the defaults of the scenario on gen field with the actual class passed to the Generic.
-
class
tfaip.trainer.params.TrainerParams(epochs: int = 100, current_epoch: int = 0, samples_per_epoch: int = -1, scale_epoch_size: float = 1, train_accum_steps: int = 1, progress_bar_mode: int = 1, progbar_delta_time: float = 5, tf_cpp_min_log_level: int = 2, force_eager: bool = False, skip_model_load_test: bool = False, val_every_n: int = 1, lav_every_n: int = 0, lav_min_epoch: int = 0, output_dir: Optional[str] = None, write_checkpoints: bool = True, export_best: Optional[bool] = None, export_final: bool = True, no_train_scope: Optional[str] = None, ema_decay: float = 0.0, random_seed: Optional[int] = None, profile: bool = False, device: tfaip.device.device_config.DeviceConfigParams = <factory>, optimizer: tfaip.trainer.optimizer.optimizers.OptimizerParams = <factory>, learning_rate: tfaip.trainer.scheduler.learningrate_params.LearningRateParams = <factory>, scenario: TScenarioParams = <factory>, warmstart: tfaip.trainer.warmstart.warmstart_params.WarmStartParams = <factory>, early_stopping: tfaip.trainer.callbacks.earlystopping.params.EarlyStoppingParams = <factory>, gen: TTrainerPipelineParams = <factory>, saved_checkpoint_sub_dir: str = '', checkpoint_sub_dir: str = '', checkpoint_save_freq: Union[str, int] = 'epoch')¶ Bases:
Generic[tfaip.trainer.params.TScenarioParams,tfaip.trainer.params.TTrainerPipelineParams],abc.ABCTrainerParams storing hyper-parameters, the ScenarioBaseParams, and the TrainerPipelineParams
-
epochs: int = 100¶
-
current_epoch: int = 0¶
-
samples_per_epoch: int = -1¶
-
scale_epoch_size: float = 1¶
-
train_accum_steps: int = 1¶
-
progress_bar_mode: int = 1¶
-
progbar_delta_time: float = 5¶
-
tf_cpp_min_log_level: int = 2¶
-
force_eager: bool = False¶
-
skip_model_load_test: bool = False¶
-
val_every_n: int = 1¶
-
lav_every_n: int = 0¶
-
lav_min_epoch: int = 0¶
-
output_dir: Optional[str] = None¶
-
write_checkpoints: bool = True¶
-
export_best: Optional[bool] = None¶
-
export_final: bool = True¶
-
no_train_scope: Optional[str] = None¶
-
ema_decay: float = 0.0¶
-
random_seed: Optional[int] = None¶
-
profile: bool = False¶
-
device: tfaip.device.device_config.DeviceConfigParams¶
-
scenario: TScenarioParams¶
-
gen: TTrainerPipelineParams¶
-
saved_checkpoint_sub_dir: str = ''¶
-
checkpoint_sub_dir: str = ''¶
-
checkpoint_save_freq: Union[str, int] = 'epoch'¶
-
__init__(epochs: int = 100, current_epoch: int = 0, samples_per_epoch: int = -1, scale_epoch_size: float = 1, train_accum_steps: int = 1, progress_bar_mode: int = 1, progbar_delta_time: float = 5, tf_cpp_min_log_level: int = 2, force_eager: bool = False, skip_model_load_test: bool = False, val_every_n: int = 1, lav_every_n: int = 0, lav_min_epoch: int = 0, output_dir: Optional[str] = None, write_checkpoints: bool = True, export_best: Optional[bool] = None, export_final: bool = True, no_train_scope: Optional[str] = None, ema_decay: float = 0.0, random_seed: Optional[int] = None, profile: bool = False, device: tfaip.device.device_config.DeviceConfigParams = <factory>, optimizer: tfaip.trainer.optimizer.optimizers.OptimizerParams = <factory>, learning_rate: tfaip.trainer.scheduler.learningrate_params.LearningRateParams = <factory>, scenario: TScenarioParams = <factory>, warmstart: tfaip.trainer.warmstart.warmstart_params.WarmStartParams = <factory>, early_stopping: tfaip.trainer.callbacks.earlystopping.params.EarlyStoppingParams = <factory>, gen: TTrainerPipelineParams = <factory>, saved_checkpoint_sub_dir: str = '', checkpoint_sub_dir: str = '', checkpoint_save_freq: Union[str, int] = 'epoch') → None¶ Initialize self. See help(type(self)) for accurate signature.
-
classmethod
from_dict(kvs: Optional[Union[dict, list, str, int, float, bool]], *, infer_missing=False) → A¶
-
classmethod
from_json(s: Union[str, bytes, bytearray], *, parse_float=None, parse_int=None, parse_constant=None, infer_missing=False, **kw) → A¶
-
classmethod
schema(*, infer_missing: bool = False, only=None, exclude=(), many: bool = False, context=None, load_only=(), dump_only=(), partial: bool = False, unknown=None) → dataclasses_json.mm.SchemaF[A]¶
-
to_dict(encode_json=False) → Dict[str, Optional[Union[dict, list, str, int, float, bool]]]¶
-
to_json(*, skipkeys: bool = False, ensure_ascii: bool = True, check_circular: bool = True, allow_nan: bool = True, indent: Optional[Union[int, str]] = None, separators: Optional[Tuple[str, str]] = None, default: Optional[Callable] = None, sort_keys: bool = False, **kw) → str¶
-