MAT_HPO_Optimizer API
Overview
The main optimization interface that coordinates multi-agent hyperparameter search using reinforcement learning.
️ Initialization
python
from MAT_HPO_LIB import MAT_HPO_Optimizer
from MAT_HPO_LIB.utils import DefaultConfigs
optimizer = MAT_HPO_Optimizer(
environment=your_environment,
hyperparameter_space=your_space,
config=DefaultConfigs.standard()
)
Parameters
Constructor Parameters
- environment: Your BaseEnvironment implementation
- hyperparameter_space: HyperparameterSpace defining search bounds
- config: OptimizationConfig with optimization settings
Main Method
optimize()
optimize() -> Dict[str, Any]
Run the multi-agent hyperparameter optimization.
python
results = optimizer.optimize()
# Results dictionary contains:
print(results['best_hyperparameters']) # Best params found
print(results['best_performance']) # Best reward/score
print(results['optimization_history']) # History of all evaluations
Results Structure
python
{
'best_hyperparameters': {
'learning_rate': 0.0034,
'hidden_size': 128,
'batch_size': 64
},
'best_performance': 0.9234,
'optimization_history': [
{'step': 1, 'hyperparams': {...}, 'reward': 0.85},
{'step': 2, 'hyperparams': {...}, 'reward': 0.87},
# ... all evaluation steps
],
'total_steps': 100,
'convergence_info': {...}
}
Output Files
Optimization results are automatically saved to:
best_hyperparams.json- Best hyperparameters foundoptimization_results.json- Complete results dictionarystep_log.jsonl- Step-by-step evaluation log
Complete Example
python
from MAT_HPO_LIB import MAT_HPO_Optimizer, BaseEnvironment, HyperparameterSpace
from MAT_HPO_LIB.utils import DefaultConfigs
# 1. Setup environment and space
environment = MyEnvironment()
space = HyperparameterSpace()
space.add_continuous('class_weight_0', 0.5, 3.0, agent=0) # Problem-specific
space.add_continuous('hidden_size', 64, 512, agent=1) # Architecture
space.add_continuous('learning_rate', 1e-4, 1e-2, agent=2) # Training
space.add_discrete('batch_size', [16, 32, 64, 128], agent=2) # Training
# 2. Configure optimization
config = DefaultConfigs.standard() # 100 steps
# 3. Run optimization
optimizer = MAT_HPO_Optimizer(environment, space, config)
results = optimizer.optimize()
# 4. Use best hyperparameters
best_params = results['best_hyperparameters']
print(f"Best learning rate: {best_params['learning_rate']}")
print(f"Best performance: {results['best_performance']}")