>100 Views
June 29, 18
スライド概要
2018/06/25
Deep Learning JP:
http://deeplearning.jp/hacks/
DL輪読会資料
DEEP LEARNING JP [DL Hacks LT] Comet ML –GitHubHiromi Nakagawa, Matsuo Lab http://deeplearning.jp/
What is CometML? • 機械学習の実験支援ツール • できること – 実験結果の記録・比較 – ハイパーパラメータやネットワーク構造の保存 – 実行コードの保存 • 公式サポート:Keras, TensorFlow, PyTorch, scikit-learn, Theano – Chainerも使えるらしい
What is CometML? • 無料プランでもPubic Projectは無制限、 Private Projectは1つ – 課金するとチーム機能やベイズ最適化によるハイパーパラメータ探索機能が使えたりする
Why CometML? • 機械学習プロダクトの開発工程→「実験(Experiments)」が重要 • モデルの構造やハイパーパラメータなど、様々な条件のもと繰り返し行われる – 設定ごとの結果や、他の設定との比較を一覧したい – Gitでの管理とあまり相性が良くない • CometMLを使うことで「実験」単位の管理や比較が簡単に • チーム内での情報共有もしやすい
Tensorboardとの違い • Tensorboardより詳細な記録が可能 • 複数実験の管理や比較が行いやすい – Tensorboardは単一実験にフォーカス • リモート環境で確認できる – Tensorboardはローカル環境での起動が前提
How to use
1. アカウントの登録
2. プロジェクトの作成 • Projects > New Projects – API Keyを取得 – 初回はQuick Start Guideに従えばOK
3. comet_mlライブラリのインストール
4. 訓練用スクリプトにトラッキング用コードを追加 1. Experimentインスタンスを作成 – api_key:APIキー(複数プロジェクトで使い回せる) – project_name:プロジェクト名 – team_name:チーム名 – log_code:実行コードを記録する(Default=True) – auto_param_logging:ハイパーパラメータを記録する(Default=True) – auto_metric_logging:Metricsを記録する(Default=True)
4. 訓練用スクリプトにトラッキング用コードを追加 2. ハイパーパラメータを記録 または
4. 訓練用スクリプトにトラッキング用コードを追加 3. metricを記録 – stepはイテレーション数やエポック数などを記録 – 可視化時のグラフのX軸に利用できる または
4. 訓練用スクリプトにトラッキング用コードを追加 4. with句の中で訓練・評価することでトラッキング
5. 可視化 • Projectページに行くと実験ごとの結果が確認できる – カラムは編集可能でフィルタリングやソートなども可能
5. 可視化 • Chart:スクリプト内で保存した変数の時系列グラフが確認できる
5. 可視化 • Code:実行した際のコードが確認できる
5. 可視化 • Metric:Chartに表示する項目の選択や最大値・最小値の確認が可能
5. 可視化 • Output:実行時の標準出力を確認できる
5. 可視化 • 複数実験を比較することも可能
その他 • グラフはJPEG/PNG/SVG/PDFでダウンロード可能 • モデル構造のグラフや画像データも記録可能 • Notesで実験ごとにコメントを残せる • Githubのレポジトリと連携させることでPull Requestも送れる
まとめ • 便利そう
参考文献 • comet.ml – https://www.comet.ml • 機械学習のためのGithub、CometMLを使ってみた – https://m edium .com /liaro-engineeringblog/% E6% A9% 9F% E6% A2% B0% E5% AD% A6% E7% BF% 92% E3% 81% AE% E3% 81% 9F% E3% 82% 81% E3% 81% AEgithu b-com etm l% E3% 82% 92% E4% BD% BF% E3% 81% A3% E3% 81% A6% E3% 81% BF% E3% 81% 9F-eed920be46c9 • Chainerでcomet.mlを使って学習を可視化してみた – https://qiita.com/29Takuya/items/00c1f4fef5983cdf1c54