Azure Machine Learning(v1) のために Python 開発環境を設定する

Azure Machine Learning のために Python 開発環境を構成する方法について説明します。

次の表では、この記事で説明されている各開発環境と、その長所および短所を示します。

環境 長所 短所
ローカル環境 開発環境と依存関係を完全に制御できます。 任意のビルド ツール、環境、または IDE を使用できます。 始めるのに時間がかかります。 必要な SDK パッケージをインストールする必要があり、環境がまだない場合はそれもインストールする必要があります。
Data Science Virtual Machine (DSVM) クラウドベースのコンピューティング インスタンスと同様ですが (Python と SDK はプレインストールされています)、その他の一般的なデータ サイエンスおよび機械学習ツールがプレインストールされていることが違いです。 簡単にスケーリングし、他のカスタム ツールやワークフローと組み合わせることができます。 クラウドベースのコンピューティング インスタンスと比較して、作業の開始に時間がかかります。
Azure Machine Learning コンピューティング インスタンス 最も簡単に始められる方法です。 SDK 全体は既にワークスペース VM にインストールされており、ノートブックのチュートリアルは事前に複製され、実行準備ができています。 開発環境と依存関係を制御することはできません。 Linux VM では追加コストが発生します (VM を使用していない場合は料金を回避するために停止できます)。 価格の詳細を参照してください。
Azure Databricks スケーラブルな Apache Spark プラットフォームで大規模な集中型機械学習ワークフローを実行する場合に適しています。 実験用機械学習、または小規模な実験とワークフローでは過剰です。 Azure Databricks の追加コストが発生します。 価格の詳細を参照してください。

この記事では、次のツールに関する使用ヒントについても説明します。

  • Jupyter Notebook: Jupyter Notebooks を既に使用している場合、SDK にはインストールすべきいくつかの追加機能があります。

  • Visual Studio Code: Visual Studio Code を使用する場合、Azure Machine Learning 拡張機能には、Python の広範な言語サポートに加えて、Azure Machine Learning の使いやすさと生産性を高めるための機能が含まれています。

前提条件

ローカルおよび DSVM のみ:ワークスペース構成ファイルを作成する

ワークスペース構成ファイルは、Azure Machine Learning ワークスペースと通信する方法を SDK に示す JSON ファイルです。 ファイルの名前は config.json で、形式は次のとおりです。

{
    "subscription_id": "<subscription-id>",
    "resource_group": "<resource-group>",
    "workspace_name": "<workspace-name>"
}

この JSON ファイルは、Python スクリプトまたは Jupyter Notebook を含むディレクトリ構造内にある必要があります。 それは、同じディレクトリ内、 .azureml という名前のサブディレクトリ内、または親ディレクトリ内に置くことができます。

コードからこのファイルを使用するには、Workspace.from_config メソッドを使用します。 このコードは、ファイルから情報を読み込み、ワークスペースに接続します。

次のいずれかの方法で、ワークスペース構成ファイルを作成します。

  • Azure portal

    ファイルをダウンロードする: Azure portal で、お使いのワークスペースの [概要] セクションから [config.json をダウンロード] を選択します。

    ダウンロード config.json が選択されているワークスペースの概要ページのスクリーンショット。

  • Azure Machine Learning Python SDK

    Azure Machine Learning ワークスペースに接続するためのスクリプトを作成し、write_config メソッドを使用してファイルを生成し、それを .azureml/config.json として保存します。 必ず subscription_idresource_groupworkspace_name を独自の値に置き換えてください。

    適用対象:Python SDK azureml v1

    from azureml.core import Workspace
    
    subscription_id = '<subscription-id>'
    resource_group  = '<resource-group>'
    workspace_name  = '<workspace-name>'
    
    try:
        ws = Workspace(subscription_id = subscription_id, resource_group = resource_group, workspace_name = workspace_name)
        ws.write_config()
        print('Library configuration succeeded')
    except:
        print('Workspace not found')
    

ローカル コンピューターまたはリモート VM 環境

ローカル コンピューターまたはリモート仮想マシン (Azure Machine Learning コンピューティング インスタンスや Data Science VM など) に環境をセットアップすることができます。

ローカルの開発環境またはリモート VM を構成するには:

  1. Python 仮想環境を作成します (virtualenv、conda)。

    Note

    必須ではありませんが、Python 仮想環境の管理とパッケージのインストールのためには、Anaconda または Miniconda を使用することが推奨されます。

    重要

    Linux または macOS 上で Bash 以外のシェル (例: zsh) を使用している場合、一部のコマンドを実行するとエラーが発生する可能性があります。 この問題を回避するには、bash コマンドを使用して新しい Bash シェルを開始し、そこでコマンドを実行します。

  2. 新しく作成された Python 仮想環境をアクティブにします。

  3. Azure Machine Learning Python SDK をインストールします。

  4. Azure Machine Learning ワークスペースを使用するようにローカル環境を構成するには、ワークスペース構成ファイルを作成するか、既存のものを使用します。

ローカル環境をセットアップしたので、Azure Machine Learning の操作を開始する準備ができました。 使用を開始するには、Azure Machine Learning Python のファースト ステップ ガイド を参照してください。

Jupyter Notebooks

ローカル Jupyter Notebook サーバーを実行する場合は、Python 仮想環境用の IPython カーネルを作成することが推奨されます。 これは、予期されるカーネルおよびパッケージのインポート動作が確実に行われるようにするのに役立ちます。

  1. 環境固有の IPython カーネルを有効にします

    conda install notebook ipykernel
    
  2. Python 仮想環境用のカーネルを作成します。 <myenv> は必ず、Python 仮想環境の名前に置き換えてください。

    ipython kernel install --user --name <myenv> --display-name "Python (myenv)"
    
  3. Jupyter Notebook を起動します

Azure Machine Learning と Jupyter Notebook の使用を開始するには、Azure Machine Learning ノートブックのリポジトリを参照してください。 コミュニティ主導のリポジトリである AzureML-Examples も参照してください。

Visual Studio Code

開発に Visual Studio Code を使用するには

  1. Visual Studio Code をインストールします。

  2. Visual Studio Code の Azure Machine Learning 拡張機能 (プレビュー) をインストールします。

    重要

    現在、この機能はパブリック プレビュー段階にあります。 このプレビュー バージョンはサービス レベル アグリーメントなしで提供されており、運用環境のワークロードに使用することは推奨されません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。

    詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

Visual Studio Code 拡張機能をインストールしたら、次の用途に使用します。

Azure Machine Learning コンピューティング インスタンス

Azure Machine Learning のコンピューティング インスタンスは、セキュリティで保護された、クラウドベースの Azure ワークステーションであり、データ サイエンティストに、Jupyter Notebook サーバー、JupyterLab、フル マネージドの機械学習環境を提供します。

コンピューティング インスタンスのためにインストールまたは構成すべきものはありません。

Azure Machine Learning ワークスペース内から、いつでも作成できます。 名前を指定し、Azure VM の種類を指定するだけです。 「作業を開始するために必要なリソースを作成する」を参照して、今すぐお試しください。

パッケージのインストール方法など、コンピューティング インスタンスの詳細については、「Azure Machine Learning コンピューティング インスタンスを作成して管理する」を参照してください。

ヒント

未使用のコンピューティング インスタンスに対する課金が発生しないようにするには、コンピューティング インスタンスを停止します。 または、コンピューティング インスタンスのアイドリングからのシャットダウンを有効にします

コンピューティング インスタンスは、Jupyter Notebook サーバーと JupyterLab に加えて、Azure Machine Learning スタジオの内部に統合されたノートブック機能で使用できます。

また、VS Code を使用してリモート コンピューティング インスタンスに接続するために、Azure Machine Learning Visual Studio Code 拡張機能を使用することもできます。

データ サイエンス仮想マシン

Data Science VM は、開発環境として使用できる、カスタマイズされた仮想マシン (VM) イメージです。 これはデータ サイエンス作業向けに設計されていて、以下のようなツールとソフトウェアが事前に構成されています。

  • TensorFlow、PyTorch、Scikit-learn、XGBoost、Azure Machine Learning SDK などのパッケージ
  • Spark スタンドアロンや Drill などの一般的なデータ サイエンス ツール
  • Azure CLI、AzCopy、Storage Explorer などの Azure ツール
  • Visual Studio Code や PyCharm などの統合開発環境 (IDE)
  • Jupyter Notebook Server

ツールの包括的な一覧については、Data Science VM ツール ガイドに関する記事を参照してください。

重要

Data Science VM をトレーニングまたは推論ジョブのためのコンピューティング先として使用する予定の場合は、Ubuntu のみがサポートされます。

Data Science VM を開発環境として使用するには:

  1. 以下のいずれかの方法を使用して Data Science VM を作成します。

    • Azure portal を使用して、Ubuntu または Windows DSVM を作成します。

    • ARM テンプレートを使用して Data Science VM を作成します

    • Azure CLI の使用

      Ubuntu Data Science VM を作成するには、次のコマンドを使用します。

      # create a Ubuntu Data Science VM in your resource group
      # note you need to be at least a contributor to the resource group in order to execute this command successfully
      # If you need to create a new resource group use: "az group create --name YOUR-RESOURCE-GROUP-NAME --location YOUR-REGION (For example: westus2)"
      az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --generate-ssh-keys --authentication-type password
      

      Windows DSVM を作成するには、次のコマンドを使用します。

      # create a Windows Server 2016 DSVM in your resource group
      # note you need to be at least a contributor to the resource group in order to execute this command successfully
      az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:dsvm-windows:server-2016:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --authentication-type password
      
  2. Azure Machine Learning SDK を含む conda 環境をアクティブにします。

    • Ubuntu Data Science VM の場合:

      conda activate py36
      
    • Windows Data Science VM の場合:

      conda activate AzureML
      
  3. Azure Machine Learning ワークスペースを使用するように Data Science VM を構成するには、ワークスペース構成ファイルを作成するか、既存のものを使用します。

ローカル環境と同様に、Visual Studio Code と、Visual Studio Code の Azure Machine Learning 拡張機能を使用して、Azure Machine Learning を操作できます。

詳細については、「Data Science Virtual Machines」を参照してください。

次のステップ