nirs4all.controllers.models.tensorflow.config module
TensorFlow Configuration Management
This module provides classes for managing TensorFlow model configuration: - Compilation configuration (optimizer, loss, metrics) - Fit configuration (epochs, batch_size, validation) - Callback factory for creating various callbacks
- class nirs4all.controllers.models.tensorflow.config.TensorFlowCallbackFactory[source]
Bases:
objectFactory for creating TensorFlow callbacks.
- static create_best_model_memory(verbose: int = 0) keras.callbacks.Callback[source]
Create best model memory callback (saves best weights during training).
- Parameters:
verbose – Verbosity level.
- Returns:
Custom best model memory callback instance.
- static create_callbacks(train_params: Dict[str, Any], existing_callbacks: List[Any], verbose: int = 0) List[Any][source]
Create comprehensive callback system.
- Parameters:
train_params – Training parameters with callback configuration.
existing_callbacks – List of existing callback instances.
verbose – Verbosity level for logging.
- Returns:
List of callback instances.
- static create_cyclic_lr(train_params: Dict[str, Any], verbose: int = 0) keras.callbacks.Callback[source]
Create cyclic learning rate callback.
- Parameters:
train_params – Training parameters with cyclic_lr config.
verbose – Verbosity level.
- Returns:
Custom cyclic LR callback instance.
- static create_early_stopping(train_params: Dict[str, Any], verbose: int = 0) keras.callbacks.EarlyStopping[source]
Create early stopping callback.
- Parameters:
train_params – Training parameters with early_stopping config.
verbose – Verbosity level.
- Returns:
EarlyStopping callback instance.
- static create_reduce_lr_on_plateau(train_params: Dict[str, Any], verbose: int = 0) keras.callbacks.ReduceLROnPlateau[source]
Create reduce LR on plateau callback.
- Parameters:
train_params – Training parameters with reduce_lr_on_plateau config.
verbose – Verbosity level.
- Returns:
ReduceLROnPlateau callback instance.
- class nirs4all.controllers.models.tensorflow.config.TensorFlowCompilationConfig[source]
Bases:
objectManages TensorFlow model compilation configuration.
- static create_optimizer(optimizer_name: str, learning_rate: float) keras.optimizers.Optimizer[source]
Create optimizer instance with learning rate.
- Parameters:
optimizer_name – Name of optimizer (‘adam’, ‘sgd’, ‘rmsprop’, etc.).
learning_rate – Learning rate value.
- Returns:
Configured optimizer instance.
- static prepare(train_params: Dict[str, Any], task_type: TaskType) Dict[str, Any][source]
Prepare compilation configuration from training parameters.
- Parameters:
train_params – Dictionary with training parameters (may include ‘compile’ key).
task_type – TaskType enum indicating classification or regression.
- Returns:
Dictionary with ‘optimizer’, ‘loss’, and ‘metrics’ keys.
- class nirs4all.controllers.models.tensorflow.config.TensorFlowFitConfig[source]
Bases:
objectManages TensorFlow model fit configuration.
- static prepare(train_params: Dict[str, Any], X_val: ndarray | None, y_val: ndarray | None, verbose: int = 0) Dict[str, Any][source]
Prepare fit configuration including validation setup.
- Parameters:
train_params – Dictionary with training parameters (may include ‘fit’ key).
X_val – Validation features (optional).
y_val – Validation targets (optional).
verbose – Verbosity level for logging.
- Returns:
Dictionary with fit parameters including ‘callbacks’.