Azure Machine Learning (Azure ML) への操作を PowerShell で行う ~ その 1 ~

ベータ版のモジュールに対する記事です。正式リリースされた場合、参照リンク先や名称が変更される可能性があります

 

Azure ML に対して よく頂く要望 1 つとして、『Azure ML に対する各種操作に対する CUI を用意してほしい』というのがあります。
まだベータ版ではありますが、GitHub で PowerShell インタフェースのモジュールが開発、更新されています。現時点では Beta Version 0.24 です

PowerShell Module for Azure Machine Learning Studio & Web Services
https://github.com/hning86/azuremlps

 

Azure ML PowerShell モジュールのインストール

 

1.  モジュールの取得と配置

以下リンク先から「AzureMLPS.zip」ファイルをダウンロードして AzureMLPS.dll ファイルと config.json ファイルを任意のフォルダに展開します。
2つのファイルは同じフォルダに配置します。ファイルは今後も利用するため、このツール用のフォルダを用意した方がよいでしょう。

Azure ML PowerShell モジュール
https://github.com/hning86/azuremlps/releases

2.  既定のワークスペース情報の設定

config.json ファイルに既定で利用する Azure ML ワークスペースの情報を設定します。

{
"Location": "South Central US",
"WorkspaceId": "<Workspace Id>",
"AuthorizationToken": "<Autorization Token>"
}

Location は対象ワークスペースの REGION を示します。REGION は Azure ML Studio ログイン後の画面右上で確認できます。

AzureML_PS_1

Workspace Id、Authentication Token は Azure ML Studio の SETTINGS メニューで確認できます。

Workspace Id は Settings メニューの NAME 画面で確認できます。

AzureML_PS_2

Authentication Token は Setting メニューの AUTHENTICATION TOKENS 画面で確認できます。この場合、利用するトークンは PRIMARY でもSECONDARY でも構いません。

AzureML_PS_3

 

3.  PowerShell モジュールのインポート

PowerShell を起動後、以下コマンドを実行してモジュールをインポートします。インポートは対象の PowerShell セッションでのみ有効です (PowerShell を再度立ち上げる際は、再度モジュールのインポートが必要です)

> Unblock-File .\AzureMLPS.dll > Import-Module .\AzureMLPS.dll

4.  Azure ML PowerShell の実行 (稼働確認)

以下 PowerShell コマンドを実行することで config.json に指定した Azure ML ワークスペースの情報が表示されます。

> Get-AmlWorkspace

AzureML_PS_4

 

Azure ML ワークスペースに対する操作

ワークスペースに対するユーザーの追加 : Add-AmlWorkspaceUsers

> Add-AmlWorkspaceUsers -Emails 'user1@example.com,user2@example.com' -Role 'User'

対象ワークスペースのユーザー一覧取得: Get-AmlWorkspaceUsers

> Get-AmlWorkspaceUsers

データセット一覧の取得: Get-AmlDataset、データセットのダウンロード: Download-AmlDataset

> $ds = Get-AmlDataset | where Name -eq 'Sample Named Entity Recognition Articles' > Download-AmlDataset -DatasetId $ds.Id -DownloadFileName 'C:\work\download\TestDataset.csv'

データセットのアップロード: Upload-AmlDataset

> Upload-AmlDataset -FileFormat GenericCSV -UploadFileName 'C:\work\AzureMLPS\download\TestDataset.csv' -DatasetName 'Uploaded Dataset by PowerShell' -Description 'Test Dataset'

 

Experiment のエクスポート: Export-AmlExperimentGraph

> $exp = Get-AmlExperiment | where Description -eq 'Test Experiment 1' > Export-AmlExperimentGraph -ExperimentId $exp.ExperimentId -OutputFile 'TestExperimentBackup.json'

Experiment のインポート: Import-AmlExperimentGraph

> Import-AmlExperimentGraph -InputFile 'C:\work\TestExperimentBackup.json' -NewName 'New Test Experiment'

上記の Experiment エクスポート、インポートを使うことで作成した Experiment を JSON ファイルとして保存しておき、別途利用することもできるようになります。

その 2 では Experiment の実行や少し手間のかかるワークスペースの作成を纏めたいと思います。