はじめに
本記事ではPyKEENを使ってKGEモデルのハイパーパラメータチューニングをするときの最適化過程を可視化する手法を記します.
具体的には,pykeen.hpo.hpo_pipeline()
を使用したハイパーパラメータチューニングにoptuna-dashboardを組み合わせて可視化します.
手順
hpo_pipeline()
のstorage引数を与えるとoptuna-dashboardで最適化過程を可視化し,結果を残すことができます.
PyKEENは内部的にOptunaを利用しているため,optuna.study.create_study
と同様にstorage引数を指定することで学習状況をデータベースに保存することができ,optuna-dashboardで可視化できるという仕組みです.
最初にoptuna-dashboardをインストールします.
pipの場合
pip install optuna-dashboard
condaの場合
conda install conda-forge::optuna-dashboard
hpo_pipeline()
の引数storageにsqliteデータベースのURLを指定します.ブラケットの部分はご自身の環境に合わせて置き換えてください.
storage="sqlite:///[path]/[database_name].db"
参考: https://optuna.readthedocs.io/en/stable/tutorial/20_recipes/001_rdb.html
ここまで終わったらhpo_pipeline
を実行すると最適化過程がDBに保存されているはずです.
最後に下記のコマンドを実行してダッシュボードを確認できます.(第一引数はstrageに指定したURLと同じ)
optuna-dashboard sqlite:///[path]/[database_name].db