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 ログイン後の画面右上で確認できます。
Workspace Id、Authentication Token は Azure ML Studio の SETTINGS メニューで確認できます。
Workspace Id は Settings メニューの NAME 画面で確認できます。
Authentication Token は Setting メニューの AUTHENTICATION TOKENS 画面で確認できます。この場合、利用するトークンは PRIMARY でもSECONDARY でも構いません。
3. PowerShell モジュールのインポート
PowerShell を起動後、以下コマンドを実行してモジュールをインポートします。インポートは対象の PowerShell セッションでのみ有効です (PowerShell を再度立ち上げる際は、再度モジュールのインポートが必要です)
> Unblock-File .\AzureMLPS.dll > Import-Module .\AzureMLPS.dll
4. Azure ML PowerShell の実行 (稼働確認)
以下 PowerShell コマンドを実行することで config.json に指定した Azure ML ワークスペースの情報が表示されます。
> Get-AmlWorkspace
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 の実行や少し手間のかかるワークスペースの作成を纏めたいと思います。