第11回 Cogbot 勉強会
2018年1月23日
瀬尾佳隆 (@seosoft)
Microsoft MVP for Windows Dev
Azure Machine Learning
Workbench の使い方
自己紹介
瀬尾佳隆 (せおよしたか)
• MVP for Windows Development
• http://yseosoft.wordpress.com/
• 乃木坂46 / 欅坂46 と、仏像 / 屏風絵が好き
2
今日の内容
深層学習の開発手順
Workbench Preview の機能
Workbench の使い方
• 既存モデルの活用
• ログ出力
• ハイパーパラメーターの管理
• ジョブ比較
3
おことわり
本セッションは “ツールの使い方” を
紹介するものです
深層学習の中身には “入り込みません”
4
今日の内容
深層学習の開発手順
Workbench Preview の機能
Workbench の使い方
• 既存モデルの活用
• ログ出力
• ハイパーパラメーターの管理
• ジョブ比較
5
深層学習の開発手順
6
データ
前処理
コーディング
デバッグ
学習(トレーニング)
ジョブ比較
モデル管理 デプロイ
バグのないコードが書ければ完成
・・・ではない
ハイパーパラメーターを変更しながら
何度もトレーニング
各トレーニングの結果を比較
一番 “最適” なモデルをデプロイ
Workbench Preview の機能
7
データ
前処理
コーディング
デバッグ
学習(トレーニング)
ジョブ比較
既存モデルの活用、ログ管理、
ハイパーパラメーター管理
学習結果を視覚的に比較
モデル管理 デプロイ デプロイ対象のモデルを正しく選択
Excel, Power BI ライクな整形VS Code で
今日は省略
寄り道) コーディング、デバッグ
8
Visual Studio Code for AI 拡張機能を
インストールしておく
学習(トレーニング)
ハイパーパラメーターを変えながら
トレーニングを繰り返す
• これを “ジョブ” と言う
Workbench がジョブを自動で管理
• 既存モデルの活用
• ログ出力
• ハイパーパラメーターの管理
9
ジョブの管理(1)
これまでのジョブを一覧表示、視覚的に比較
10
ジョブの管理(2)
ジョブの標準出力を自動保存、いつでも参照
11
既存モデルの活用
例)MNIST で実績があるモデルを
Fashion-MNIST で活用してみる
12
MNIST
Fashion-MNIST
まだ精度は
出ていないが、
活用できそうだ
ログ出力(1)
13
# ロガーの作成
from azureml.logging import get_azureml_logger
run_logger = get_azureml_logger()
# ロガーへの出力
run_logger.log("Average Test Error", average_error)
# printと適宜共存
print("Average test error: {0:.2f}%".format(average_error))
ログ出力(2)
ジョブ一覧画面で
グラフ表示
• 各ジョブで出力された
数値データ
14
ログ出力(3)
各ジョブの結果画面で
プロパティ表示
• 文字列、数値データ
15
ログ出力(4)
各ジョブの結果画面で
グラフ表示
• 数値のリストデータ
16
ハイパーパラメーターの管理(1)
17
if len(sys.argv) > 1:
learning_rate = float(sys.argv[1])
else:
learning_rate = 0.2
print("learning_rate is {}".format(learning_rate))
run_logger.log("learning_rate", learning_rate)
if len(sys.argv) > 2:
minibatch_size = int(sys.argv[2])
else:
minibatch_size = 64
print("minibatch_size is {}".format(minibatch_size))
run_logger.log("minibatch_size", minibatch_size)
ハイパーパラメーターの管理(2)
18
寄り道)readme.md の編集(1)
Markdown で編集
19
# cntk_fashion_mnist_args.py の引数の意味とデフォルト値
learning_rate (デフォルト: 0.2)
minibatch_size (デフォルト: 64)
num_sweeps_to_train_with (デフォルト: 10)
寄り道)readme.md の編集(2)
20
ジョブ比較
2個のジョブをグラフで選択して詳細に比較
21
モデル管理
選択したジョブのモデルをいつでも取り出せる
22
まとめ ~Workbench の機能~
既存モデルの活用
ログ出力
ハイパーパラメーターの管理
ジョブ比較
23

Azure Machine Leaning Workbench の使い方