Configuration API
Overview
Configuration presets and custom settings for optimization behavior, device usage, and performance tuning.
DefaultConfigs
Pre-configured optimization settings for common scenarios:
python
from MAT_HPO_LIB.utils import DefaultConfigs
# Quick test (10 steps, fast evaluation)
config = DefaultConfigs.quick_test()
# Standard optimization (100 steps, balanced)
config = DefaultConfigs.standard()
# CPU-only mode (no GPU usage)
config = DefaultConfigs.cpu_only()
⚙️ Custom Configuration
python
from MAT_HPO_LIB.utils import OptimizationConfig
config = OptimizationConfig(
max_steps=50, # Number of optimization steps
batch_size=32, # Agent batch size
use_cuda=True, # Enable GPU acceleration
gpu_device=0, # GPU device ID
verbose=True, # Show progress
save_interval=10, # Save every N steps
early_stop_patience=15, # Stop if no improvement
output_dir="./results" # Results directory
)
Configuration Options
Optimization Control
max_steps: Total optimization stepsearly_stop_patience: Early stopping patienceconvergence_threshold: Convergence criteria
Performance Settings
use_cuda: Enable GPU accelerationgpu_device: GPU device selectionbatch_size: Agent training batch size
Output & Logging
verbose: Progress displaysave_interval: Checkpoint frequencyoutput_dir: Results directory
Preset Comparison
| Setting | quick_test() | standard() | cpu_only() |
|---|---|---|---|
| max_steps | 10 | 100 | 100 |
| use_cuda | Auto-detect | Auto-detect | False |
| batch_size | 16 | 32 | 32 |
| Use Case | Testing setup | Production runs | CPU-only systems |
Usage Example
python
# Choose based on your needs:
# 1. Quick testing/debugging
config = DefaultConfigs.quick_test()
# 2. Standard optimization run
config = DefaultConfigs.standard()
# 3. Custom configuration for your specific needs
config = OptimizationConfig(
max_steps=200, # Longer optimization
use_cuda=True,
gpu_device=1, # Use GPU 1
verbose=True, # Show progress
output_dir="./my_results"
)
# Use with optimizer
optimizer = MAT_HPO_Optimizer(environment, space, config)
results = optimizer.optimize()