aiaccel icon indicating copy to clipboard operation
aiaccel copied to clipboard

Support for NelderMeadSampler resumption.

Open KanaiYuma-aist opened this issue 5 months ago • 6 comments

  • NelderMeadSampler の再開時の処理を追加しました
    • 初回実行か再開実行かを判別するために num_trial で内部で trial 数をカウントしています。 num_trial よりも optuna 側の trial 数が進んでいる場合、再開実行と判定して _resumption を呼び出します
    • _resumption では空回し処理を行っており、NelderMeadAlgorithm 内のイテレータ及び simplex を同様の状態に戻しています。
      • この部分の処理時間は 10000 trial の再開処理を行った場合でも数秒程度だったので、途中から空回しする等の処理を行う必要性は薄いと判断します。
      • pickle 化などを用いたシリアライズ処理は、NelderMeadAlgorithm 内のイテレータを pickle 化することが不可能だったので、断念しました。
    • storage を指定した場合(再開機能を利用する場合)、trial.set_user_attr で各種情報を記憶する方式だと after_trial 内部でそれらの情報が参照できない仕様になっていたため、代わりに study._storage.set_trial_system_attr で記憶する方式に変更しました。
  • 再開テストを追加しました

KanaiYuma-aist avatar Sep 18 '24 06:09 KanaiYuma-aist