Azure Machine LearningでPythonスクリプトの作成と実行をする

Azure Machine LearningでPythonスクリプトの作成と実行を行ってみます。

この記事は「Azureの無料アカウントを作成(登録)する」という記事の続きでもあります。

■Azure Machine Learningでワークスペースの作成

作成したAzureの無料アカウントで「Microsoft Azure Portal(https://azure.microsoft.com/ja-jp/get-started/azure-portal/)」の「サインイン」からサインインを行います。サインインすると「Microsoft Azure」のホームが表示されます。ホームの上部にある「リソース、サービス、ドキュメントの検索」の検索バーで「Azure Machine Learning」と入力します。

入力すると「サービス」に「Azure Machine Learning」と表示されていますので、こちらをクリックします。

クリックすると、「Azure Machine Learning」が表示されます。ページ内の「ワークスペースの作成」ボタンをクリックします。

クリックすると、「Machine Learning ワークスペースを作成する」画面が表示されますので、「基本」の「リソースの詳細」を設定してきます。今回は新規作成となるので、基本的には「新規作成」のリンクをクリックすると、リソースグループ、ストレージアカウント、キーコンテナー、Application lnsights、コンテナーレジストリを新規で作成でき、リージョンは「Japan West」に設定しています。なお、作成時に注意したこととしては「すべてのワークスペースは、課金が発生する Azure サブスクリプションに割り当てられる」ということです。

設定後、「確認及び作成」ボタンをクリックします。

クリックすると、検証が行われ、「検証に成功しました」と表示されますので、その後ページ下にある「作成」ボタンをクリックします。クリックすると、Machine Learning ワークスペースのデプロイが開始され、しばらくするとデプロイが完了となります。

■Microsoft Azure Machine Learning Studioの起動とPythonスクリプトファイルの作成

完了後、「Azure Machine Learning」内に作成したワークスペースが追加されますので、追加されたワークスペースをクリックします。

クリックすると、ワークスペースの詳細が表示されますので、「概要」の「基本」の下に「スタジオの起動」ボタンがありますので、こちらをクリックします。

クリックすると、「Microsoft Azure Machine Learning Studio」が表示されます。ページ内の左メニューから「Notebooks」をクリックします。

クリックすると「Notebooks」が表示されますので、「Files」タブの「+」ボタンをクリックします。クリックすると、プルダウンメニューが表示されますので「Create new folder」をクリックします。

クリックすると、「Create new folder」ウインドウが表示されますので、「Folder name」に新しいフォルダの名前を入力します。今回は「test_py」とします。入力後、「Create」ボタンをクリックします。

クリックすると、新しいフォルダが作成されます。その後、さらに新しいフォルダの名前にマウスを合わせると「・・・」が表示されますので、こちらをクリックします。クリックすると「プルダウンメニュー」が表示されますので、「Create new folder」をクリックします。

クリックすると、先程同じ「Create new folder」ウインドウが表示されますので、「Folder name」に新しいフォルダの名前を入力します。今度は「src」とします。入力後、「Create」ボタンをクリックします。

クリックすると、先程の新しいフォルダ内に追加でフォルダが作成されました。作成後、追加したフォルダの名前にマウスを合わせると「・・・」が表示されますので、こちらをクリックします。クリックすると「プルダウンメニュー」が表示されますので、「Create new file」をクリックします。

クリックすると「Create new file」ウインドウが表示されますので、「File type」を「Python(*.py)」に選択し、「File name」を入力します。今回は「hello_test.py」とします。

入力後「Create」ボタンをクリックします。

クリックすると、右側にコードの編集画面が表示されますので、先程作成したスクリプトファイルの中身を記述していきます。

■コード

print("こんにちは、世界")

今回はprint()を用いて日本語の文字列を出力させます。上記のコードを記述し保存します。

■実行・検証

保存後、スクリプトの実行・検証を行います。

実行・検証のために「Notebooks」の「Files」タブの今回作成したスクリプトファイルにマウスを合わせます。合わせると「・・・」が表示されますので、こちらをクリックします。クリックすると「プルダウンメニュー」が表示されますので、「Run script in Terminal」をクリックします。

クリックすると、「Run script in Terminal」ウインドウが表示されます。ウインドウ内に「Content within notebooks or scripts that you load can potentially read data from your sessions and access data within your organization in Azure. Only load notebooks or scripts into Azure from trusted sources where you have reviewed the source code. Learn more about secure code best practices with Azure Machine Learning.(読み込んだノートブックまたはスクリプト内のコンテンツは、Azure 内のセッションからデータを読み取り、組織内のデータにアクセスできる可能性があります。ノートブックまたはスクリプトは、ソースコードを確認した信頼できるソースからのみAzureにロードしてください。Azure Machine Learningの安全なコードのベストプラクティスの詳細については、こちらをご覧ください。)」と記載されており、内容を確認し、「I trust contents of this file(このファイルの内容を信頼する)」のチェックボックスにチェックを入れます。

チェック後、「Run script」ボタンをクリックします。クリックしましたが、何故かスクリプトを実行させることができませんでした。

また、スクリプトファイルのコード編集画面で「+」ボタン(Create Azure ML compute instance)をクリックし、「Create compute instance」から新規の「compute instance」が、「You do not have enough quota for the following VM sizes.(以下のVMサイズに対して十分なクォータがありません。)」と表示され、作成できずスクリプトを実行できませんでした。なお「Click here to view and request quota.(クォータを表示してリクエストするには、ここをクリックしてください。)」というリンクをクリックし、クォータを引き上げることでスクリプトを実行させることも考えたが、そもそも無料試用版サブスクリプションはクォータ引き上げの対象ではなく、クォータ引き上げをリクエストするには、従量課金制のサブスクリプションにアップグレードする必要があった。

どうにかして、このスクリプトが実行できないかの調査と並行して、実行できない原因を探ったところ、今回「Azure Machine Learning」内に作成したワークスペースの「Location」が「Japan West」と設定しており、これが原因ではないかと判断しました。リージョン(地域)によって使えるVMシリーズが異なる(参考:https://docs.microsoft.com/en-us/answers/questions/437136/can39t-deploy-a-vm-on-the-azure-machine-learning.html)。

そこで今回作成したワークスペースは削除し、新しくワークスペースを作成することにしました。

新しく作成する際に「Workspace details」の「Region」では、今回「Canada Central」を選択してみることにしました。

新しくワークスペースを作成後、「Microsoft Azure Machine Learning Studio」の「Notebooks」内で再度同じ手順でPythonのスクリプトファイルを作成。作成後、スクリプトファイルのコード編集画面で「+」ボタン(Create Azure ML compute instance)をクリックします。

クリックすると、「Create compute instance」ウインドウが表示され、「Required Settings(必要な設定)」を行います。「Compute name」はコンピュート(計算機)名を入力します。今回は「test0001」とします。次に「Virtual machine type」では、今回「CPU」を選択します。選択後、「Virtual machine size」では、今回は「Select from recommended options(推奨オプションから選択)」を選択し、さらに「Standard_DS11_v2」を選択します。ワークスペースの「Location」が「Japan West」だと、この選択は行えませんでした。

選択後、「Create」ボタンをクリックします。

クリックすると、「Compute creation is in progress. You can find the new compute in the dropdown list.(コンピュート作成が進行中です。ドロップダウン・リストから新しいコンピュートを見つけることができます。)」とコード編集画面に表示され、「Compute instance:」の部分に先程作成したコンピュート(計算機)が選択された状態となります。

選択された状態でコード編集画面の「Save and run script in Terminal」ボタンをクリックします。クリックすると、Terminal(ターミナル)タブが作成されます。

作成後、Terminal(ターミナル)タブを確認すると、今回作成した「hello_test.py」というスクリプトファイルを実行させることができました。

コメント

タイトルとURLをコピーしました