TrainingManager#

class TrainingManager(metric_config: MetricManager, config_manager: ConfigurationManager, verbose=False)#

Manage the training and evaluation of machine learning models.

Coordinates model training using various algorithms, evaluates them on different datasets, and generates reports. Integrates with EvaluationManager for model evaluation and ReportManager for generating HTML reports.

Parameters:
metric_configMetricManager

Configuration for evaluation metrics

config_managerConfigurationManager

Instance containing data needed to run experiments

verbosebool, optional

Controls logging verbosity level, by default False

Attributes:
metric_configMetricManager

Configuration for evaluation metrics

verbosebool

Controls logging verbosity level

data_managersdict

Maps group names to their data managers

experimentscollections.deque

Queue of experiments to run

logfilestr

Path to the configuration log file

output_structuredict

Structure of output data organization

description_mapdict

Mapping of names to descriptions

experiment_pathsdefaultdict

Nested structure tracking experiment output paths

experiment_resultsdefaultdict

Stores results of all experiments

run_experiments(workflow: Workflow, results_name: str | None = None, create_report: bool = True) None#

Runs the Workflow for each experiment and generates report.

Parameters:
workflowWorkflow

A subclass of the Workflow class that defines the training steps.

results_namestr

The name of the results directory.

create_reportbool

Whether to generate an HTML report after all experiments. Defaults to True.