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: object

Factory 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: object

Manages 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: object

Manages 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’.