Azure Machine Learning のために Python 開発環境をセットアップする

適用対象: Python SDK azure-ai-ml v2 (現行)

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

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

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

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

  • 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* という名前のサブディレクトリ内、または親ディレクトリ内に置くことができます。

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

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

  • Azure Machine Learning Studio

    ファイルをダウンロードする:

    1. Azure Machine Learning Studio にサインインします。
    2. 右上にある Azure Machine Learning スタジオ ツール バーで、ワークスペース名を選びます。
    3. [構成ファイルのダウンロード] リンクを選択します。

    構成ファイルをダウンロードする方法を示すスクリーンショット。

  • Azure Machine Learning Python SDK

    Azure Machine Learning ワークスペースに接続するスクリプトを作成します。 必ず subscription_idresource_groupworkspace_name を独自の値に置き換えてください。

    適用対象: Python SDK azure-ai-ml v2 (現行)

    #import required libraries
    from azure.ai.ml import MLClient
    from azure.identity import DefaultAzureCredential
    
    #Enter details of your Azure Machine Learning workspace
    subscription_id = '<SUBSCRIPTION_ID>'
    resource_group = '<RESOURCE_GROUP>'
    workspace = '<AZUREML_WORKSPACE_NAME>'
    
    #connect to the workspace
    ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, workspace)
    

ローカル コンピューターまたはリモート 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 の操作を開始する準備ができました。 使用を開始するには、「チュートリアル: 1 日でわかる Azure Machine Learning」を参照してください。

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 を起動します

ヒント

ノートブックの例については、AzureML-Examples リポジトリを参照してください。 SDK の例は、/sdk/python の下にあります。 たとえば、構成ノートブックの例があります。

Visual Studio Code

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

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

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 環境を作成します。

    conda create -n py310 python=310
    
  3. 環境の作成が完了したら、その環境をアクティブにし、SDK をインストールします。

    conda activate py310
    pip install azure-ai-ml azure-identity
    
  4. Azure Machine Learning ワークスペースを使用するように Data Science VM を構成するには、ワークスペース構成ファイルを作成するか、既存のものを使用します。

    ヒント

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

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

次のステップ