| For sigopt, see sigopt object_parameter, it's like following: | |
| def sigopt_hp_space(trial): | |
| return [ | |
| {"bounds": {"min": 1e-6, "max": 1e-4}, "name": "learning_rate", "type": "double"}, | |
| { | |
| "categorical_values": ["16", "32", "64", "128"], | |
| "name": "per_device_train_batch_size", | |
| "type": "categorical", | |
| }, | |
| ] | |
| For optuna, see optuna object_parameter, it's like following: | |
| def optuna_hp_space(trial): | |
| return { | |
| "learning_rate": trial.suggest_float("learning_rate", 1e-6, 1e-4, log=True), | |
| "per_device_train_batch_size": trial.suggest_categorical("per_device_train_batch_size", [16, 32, 64, 128]), | |
| } | |
| Optuna provides multi-objective HPO. |