pyfemtet.opt.optimizer.optuna_optimizer package
モジュール内容
- class pyfemtet.opt.optimizer.optuna_optimizer.OptunaOptimizer(sampler_class=None, sampler_kwargs=None)[ソース]
ベースクラス:
AbstractOptimizerハイパーパラメータ最適化のためにOptunaを利用するオプティマイザクラス。
このクラスはOptunaを使用して最適化解析を実施するためのインターフェースを提供します。スタディのライフサイクル、サンプラーの設定、およびトライアルの実行を管理します。
- current_trial
現在評価中の Optuna トライアル。
- Type:
optuna.trial.Trial | None
- パラメータ:
- 例外:
None –
サンプル
>>> optimizer = OptunaOptimizer() >>> optimizer.n_trials = 100 >>> optimizer.timeout = 600 >>> # Further configuration and usage...
- add_categorical_parameter(name, initial_value, choices, properties=None, *, pass_to_fem=True, fix=False)[ソース]
- add_parameter(name, initial_value, lower_bound=None, upper_bound=None, step=None, properties=None, *, pass_to_fem=True, fix=False)[ソース]
- entire_status: WorkerStatus
- study_name = 'pyfemtet-study'
- trial_queue: TrialQueue
- worker_status: WorkerStatus
- worker_status_list: list[WorkerStatus]
- class pyfemtet.opt.optimizer.optuna_optimizer.PartialOptimizeACQFConfig(*, gen_candidates='scipy', timeout_sec=None, method=None, scipy_minimize_kwargs=None, constraint_enhancement=None, constraint_scaling=1000000.0)[ソース]
ベースクラス:
object- パラメータ:
- default_method = 'SLSQP'
- class pyfemtet.opt.optimizer.optuna_optimizer.PoFBoTorchSampler(*, candidates_func=None, constraints_func=None, n_startup_trials=10, consider_running_trials=False, independent_sampler=None, seed=None, device=None, observation_noise=None, partial_optimize_acqf_kwargs=None, pof_config=None)[ソース]
ベースクラス:
BoTorchSampler注釈
v2.4.0で実験的機能として追加されました。インターフェースは予告なく新版で変更される場合があります。詳細は https://github.com/optuna/optuna/releases/tag/v2.4.0 をご覧ください。
- パラメータ:
candidates_func (CandidateFunc) –
constraints_func (Callable[[FrozenTrial], Sequence[float]] | None) –
n_startup_trials (int) –
consider_running_trials (bool) –
independent_sampler (BaseSampler | None) –
seed (int | None) –
device (torch.device | None) –
partial_optimize_acqf_kwargs (PartialOptimizeACQFConfig) –
pof_config (PoFConfig) –
- partial_optimize_acqf_kwargs: PartialOptimizeACQFConfig
- pyfemtet_optimizer: AbstractOptimizer
- class pyfemtet.opt.optimizer.optuna_optimizer.PoFConfig(consider_pof: 'bool' = True, consider_explicit_hard_constraint: 'bool' = True, _states_to_consider_pof: 'list[PFTrialState]' = <factory>, feasibility_cdf_threshold: 'float | str' = 0.5, feasibility_noise: 'float | str | None' = None, remove_hard_constraints_from_gp: 'bool' = False)[ソース]
ベースクラス:
object- パラメータ: