SMAC3

Bayesian optimization is a strategy of finding the global optimum in the hyperparameter space. Besides Scikit-Opzimize, SMAC3 is one of the supported bayesian optimization frameworks. PHOTONAIs architecture provides an objective-function in every outer fold to fully interact with the SMAC3 interface. For a detailed documentation have a look at SMAC3.

To enable SMAC3 in your Hyperpipe simple add it as you can see here:

Don't forget to install the requirements:

  • configspace
  • smac==0.12.1
  • emcee

       
# SMAC3 settings
scenario_dict = {"run_obj": "quality",
                 "runcount-limit": 30,
                 "deterministic": "true",
                 "wallclock_limit": 60*2
                }

my_pipe = Hyperpipe('smac3_example',
                    optimizer='smac',
                    optimizer_params={'facade': 'SMAC4HPO', 'scenario_dict': scenario_dict},
                    ...
                    )

       

Set: optimizer = 'smac'

Parameter Type Description
facade str/object One of SMAC3 build in facades ['SMAC4BO', 'SMAC4HPO', 'SMAC4AC']. Have a look at the Usage Recommendation.
scenario_dict dict All scenario settings SMAC3 provides in normal use. For a detailed documentation: SMAC Scenario.