23
第11回 Cogbot 勉強会 2018年1月23日 瀬尾佳隆 (@seosoft) Microsoft MVP for Windows Dev Azure Machine Learning Workbench の使い方

Azure Machine Leaning Workbench の使い方

Embed Size (px)

Citation preview

Page 1: Azure Machine Leaning Workbench の使い方

第11回 Cogbot 勉強会2018年1月23日

瀬尾佳隆 (@seosoft)Microsoft MVP for Windows Dev

Azure Machine Learning

Workbench の使い方

Page 2: Azure Machine Leaning Workbench の使い方

自己紹介

瀬尾佳隆 (せおよしたか)•MVP for Windows Development• http://yseosoft.wordpress.com/• 乃木坂46 / 欅坂46 と、仏像 / 屏風絵が好き

2

Page 3: Azure Machine Leaning Workbench の使い方

今日の内容

深層学習の開発手順

Workbench Preview の機能

Workbench の使い方•既存モデルの活用•ログ出力•ハイパーパラメーターの管理•ジョブ比較

3

Page 4: Azure Machine Leaning Workbench の使い方

おことわり

本セッションは “ツールの使い方” を紹介するものです

深層学習の中身には “入り込みません”

4

Page 5: Azure Machine Leaning Workbench の使い方

今日の内容

深層学習の開発手順

Workbench Preview の機能

Workbench の使い方•既存モデルの活用•ログ出力•ハイパーパラメーターの管理•ジョブ比較

5

Page 6: Azure Machine Leaning Workbench の使い方

深層学習の開発手順

6

データ前処理

コーディング

デバッグ

学習(トレーニング)

ジョブ比較

モデル管理 デプロイ

バグのないコードが書ければ完成・・・ではない

ハイパーパラメーターを変更しながら何度もトレーニング

各トレーニングの結果を比較

一番 “最適” なモデルをデプロイ

Page 7: Azure Machine Leaning Workbench の使い方

Workbench Preview の機能

7

データ前処理

コーディング

デバッグ

学習(トレーニング)

ジョブ比較

既存モデルの活用、ログ管理、ハイパーパラメーター管理

学習結果を視覚的に比較

モデル管理 デプロイ デプロイ対象のモデルを正しく選択

Excel, Power BI ライクな整形VS Code で

今日は省略

Page 8: Azure Machine Leaning Workbench の使い方

寄り道) コーディング、デバッグ

8

Visual Studio Code for AI 拡張機能をインストールしておく

Page 9: Azure Machine Leaning Workbench の使い方

学習(トレーニング)

ハイパーパラメーターを変えながらトレーニングを繰り返す• これを “ジョブ” と言う

Workbench がジョブを自動で管理•既存モデルの活用•ログ出力•ハイパーパラメーターの管理

9

Page 10: Azure Machine Leaning Workbench の使い方

ジョブの管理(1)

これまでのジョブを一覧表示、視覚的に比較

10

Page 11: Azure Machine Leaning Workbench の使い方

ジョブの管理(2)

ジョブの標準出力を自動保存、いつでも参照

11

Page 12: Azure Machine Leaning Workbench の使い方

既存モデルの活用

例)MNIST で実績があるモデルをFashion-MNIST で活用してみる

12

MNIST

Fashion-MNISTまだ精度は

出ていないが、活用できそうだ

Page 13: Azure Machine Leaning Workbench の使い方

ログ出力(1)

13

# ロガーの作成from azureml.logging import get_azureml_loggerrun_logger = get_azureml_logger()

# ロガーへの出力run_logger.log("Average Test Error", average_error)

# printと適宜共存print("Average test error: {0:.2f}%".format(average_error))

Page 14: Azure Machine Leaning Workbench の使い方

ログ出力(2)

ジョブ一覧画面でグラフ表示•各ジョブで出力された数値データ

14

Page 15: Azure Machine Leaning Workbench の使い方

ログ出力(3)

各ジョブの結果画面でプロパティ表示•文字列、数値データ

15

Page 16: Azure Machine Leaning Workbench の使い方

ログ出力(4)

各ジョブの結果画面でグラフ表示•数値のリストデータ

16

Page 17: Azure Machine Leaning Workbench の使い方

ハイパーパラメーターの管理(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)

Page 18: Azure Machine Leaning Workbench の使い方

ハイパーパラメーターの管理(2)

18

Page 19: Azure Machine Leaning Workbench の使い方

寄り道)readme.md の編集(1)

Markdown で編集

19

# cntk_fashion_mnist_args.py の引数の意味とデフォルト値learning_rate (デフォルト: 0.2)

minibatch_size (デフォルト: 64)

num_sweeps_to_train_with (デフォルト: 10)

Page 20: Azure Machine Leaning Workbench の使い方

寄り道)readme.md の編集(2)

20

Page 21: Azure Machine Leaning Workbench の使い方

ジョブ比較

2個のジョブをグラフで選択して詳細に比較

21

Page 22: Azure Machine Leaning Workbench の使い方

モデル管理

選択したジョブのモデルをいつでも取り出せる

22

Page 23: Azure Machine Leaning Workbench の使い方

まとめ ~Workbench の機能~

既存モデルの活用

ログ出力

ハイパーパラメーターの管理

ジョブ比較

23