nirs4all.controllers.models.tensorflow package

Submodules

Module contents

TensorFlow-specific components for model training and configuration.

class nirs4all.controllers.models.tensorflow.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.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.TensorFlowDataPreparation[source]

Bases: object

Handles TensorFlow-specific data preparation and reshaping.

static prepare_data(X: ndarray, y: ndarray | None, context: Any = None) Tuple[ndarray, ndarray | None][source]

Prepare both features and targets for TensorFlow.

Parameters:
  • X – Input features array.

  • y – Target values array (optional).

  • context – Execution context (currently unused but kept for interface compatibility).

Returns:

Tuple of (prepared_X, prepared_y).

static prepare_features(X: ndarray) ndarray[source]

Prepare features for TensorFlow (proper tensor formatting).

Handles conversion to float32 and proper shape formatting: - 2D: (samples, features) -> reshape to (samples, features, 1) for Conv1D - 3D: Only transpose if needed (channels < features), ensuring Conv1D gets (samples, timesteps, channels)

Parameters:

X – Input features array.

Returns:

Prepared features array in float32.

static prepare_targets(y: ndarray | None) ndarray | None[source]

Prepare targets for TensorFlow.

Converts to float32 and flattens if needed.

Parameters:

y – Target values array (optional).

Returns:

Prepared targets array in float32, or None if input was None.

class nirs4all.controllers.models.tensorflow.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’.