ChainerUIChainerUIは、Chainerの実行結果のログからリアルタイムにグラフ表示する公式ツールである。学習用スクリプトに変更が必要だが、スナップショットの任意タイミング取得、学習の即時及び計画停止、並びにハイパーパラメータ(オプティマイザー、学習率、モーメント)の動的変更、が出来る。SDGしか対応していない)2019年1月現在において、バージョンは0.8.0であり、今後機能が増える可能性がある。インストールChainerUIのインストールの前提条件として、Chainerがインストール済みであることが必要。事前準備ChainerUIを使用するためには、事前準備としてChainerUIのDBを作成する必要がある。createデフォルトで以下の場所に空のデータベースファイルが作成される。1~/.chainerui/db/chainerui.dbデータベースにスキーマーを作成する。upgrade以上で事前準備は完了。作成されたデータベースファイルはsqlite形式なので、sqliteコマンドを使えば直接アクセスが可能である。データベースは以下のコマンドで削除出来る。使用方法(グラフ表示)ChaienrUIを利用する上での前提として、学習用スクリプトはextensions.LogReportを設定し、result下にlogを出力しておく必要がある。グラフ表示ChainerUIはWebサーバーを立ち上げ、ブラウザ経由でアクセスして利用する。サーバーを立ち上げる。(PORT_NUM)次に、Chainerの実行結果が格納されているディレクトリ(resultディレクトリ)のパスを指定してプロジェクトを作成する。(PROJECT_NAME)なお、作成したプロジェクトは現時点ではコマンドで削除できない。ブラウザ上からのみ削除できるが、実際にDELETEボタンを押しても画面が更新されないので削除されたかがわからない。リロードすると削除されていることが分かる。意図した挙動でないと思うのでそのうち直されると思う。ブラウザでサーバーにアクセスするとプロジェクト一覧が表示されるので、結果を閲覧したいプロジェクトを選択すると実行結果が表示される。グラフはpng形式でダウンロード出来るほか、Pythonのソースコードとしてもダウンロード出来るので加工することが可能。スナップショット取得ChainerUIは実行時に任意のタイミングで取得、もしくは計画的にスナップショットを取る設定を動的に変更することができる。本機能を利用するには、学習用スクリプトに変更が必要になる。具体的にはchaineruiをimportし、trainerにCommandsExtension()を追加する必要がある。snapshotボタンを押すとスナップショットが取得できる。計画的(一定のepoch数もしくはiterate数ごと)に取得するよう動的に指定できる。停止ChainerUIは実行時に任意のタイミングで学習停止、もしくは計画的に学習を停止することができる。スナップショット取得同様、学習用スクリプトの変更が必要である。最初にepoch数1000回で学習を開始したが、あとから300回の時に止める、といった変更が出来る。ブラウザ上から、Stopボタンを押すと学習が停止する。計画的(一定のepoch数もしくはiterate数の時)に停止するよう動的に指定できる。SDGを利用しているときしか利用できない。(Adamなど他の勾配法を利用している場合は利用できない)スナップショット取得同様、学習用スクリプトの変更が必要。SDGを選択し(現状はほかの選択肢はない)、学習率やモーメントの値を動的に変更できる。