오늘은 optuna에 대해서 공부했다!
오픈소스 하이퍼 파라미터 튜닝 프레임워크
최적화된 하이퍼 파라미터를 자동화된 방식으로 찾는 여러가지 방법들을 제공
병렬화가 쉽게 가능해 대규모 하이퍼 파라미터 탐색도 분산 머신을 통해서 시행할 수 있다.
import optuna
def objective(trial):
X = trial.suggest_uniform('x', -10, 10)
return (x - 2) ** 2
study = optuna.create_study()
study.optimize(objective, n_trials=100)
study.best_params # E.g. {'x': 2.002108042}
import optuna
def objective(trial):
x= trial.suggest_float("x", -100, 100)
return x ** 2
storage = optuna.storages.RDBStorage(
url="sqlite:///:memory:",
engine_kwargs={"pool_size": 20, "connect_args": {"timeout": 10}},
)
study = optuna.create_study(storage=storage)
study.optimize(objective, n_trials=10)
import optuna
def objective(trial):
x= trial.suggest_int("x", 0, 2)
y= trial.suggest_float("y", -1.0, 1.0)
z = trial.suggest_float("z", 0.0, 1.5)
return x ** 2 + y ** 3 - z ** 4
sampler = optuna.samplers.RandomSampler(seed=10)
study = optuna.create_study(sampler=sampler)
study.optimize(objective, n_trials=100)
fig = optuna.visualization.plot_param_importances(study)
fig.show()
본 포스트의 학습 내용은 부스트클래스 <AI 엔지니어 기초 다지기 : 부스트캠프 AI Tech 준비과정> 강의 내용을 바탕으로 작성되었습니다.