Azure Machine Learning と統合された Visual Studio Code を起動する

この記事では、Azure Machine Learning コンピューティング インスタンスにリモート接続された Visual Studio Code を起動する方法について説明します。 Azure Machine Learning リソースの機能を備えた統合開発環境 (IDE) として、VS Code を使用します。 ブラウザーから VS Code for the Web で VS Code を使用するか、VS Code デスクトップ アプリケーションを使用します。

Visual Studio Code からコンピューティング インスタンスに接続するには、2 つの方法があります。 最初のアプローチをお勧めします。

  1. VS Code をワークスペースの統合開発環境 (IDE) として使用します。 このオプションを使用すると、機械学習プロジェクトを構築するためのフル機能を備えた開発環境を用意できます。

    • VS Code は、ブラウザー (VS Code for the Web) またはデスクトップ アプリケーション (VS Code デスクトップ) でワークスペースから開くことができます。
    • すべての機械学習作業をブラウザーから直接実行でき、インストールや依存関係が必要ないため、VS Code for the Web をお勧めします。
  2. リモート Jupyter Notebook サーバー。 このオプションを使用すると、コンピューティング インスタンスをリモート Jupyter Notebook サーバーとして設定できます。 このオプションは、VS Code (デスクトップ) でのみ使用できます。

重要

ファイアウォールの向こう側にあるコンピューティング インスタンスに接続する方法については、「ネットワークの着信トラフィックおよび送信トラフィックを構成する」を参照してください。

前提条件

作業を開始する前に、以下を行う必要があります。

  1. Azure Machine Learning ワークスペースとコンピューティング インスタンス。 作業を開始するために必要なリソースの作成を完了して、これらの両方を作成します。
  2. スタジオにサインインして、ワークスペースを選択します (まだ開いていない場合)。

ワークスペース IDE として VS Code を使用する

これらのオプションのいずれかを使用して、VS Code をコンピューティング インスタンスとワークスペース ファイルに接続します。

VS Code for the Web を使用すると、機械学習プロジェクトを構築するためのフル機能を備えた開発環境がすべてブラウザーから提供され、インストールや依存関係は必要ありません。 また、Azure Machine Learning コンピューティング インスタンスを接続することで、Azure Machine Learning の機能によって強化された、VS Code が提供する機能豊富な統合開発エクスペリエンスを得ることができます。

Azure Machine Learning スタジオから 1 回選択するだけで VS Code for the Web を起動し、シームレスに作業を続行します。

Azure Machine Learning スタジオにサインインし、手順に従って、Azure Machine Learning コンピューティング インスタンスに接続された VS Code (Web) のブラウザー タブを起動します。

接続は、Azure Machine Learning スタジオの [Notebooks] または [コンピューティング] セクションから作成できます。

  • ノートブック

    1. [Notebooks] タブを選択します。

    2. [Notebooks] タブで、編集するファイルを選択します。

    3. コンピューティング インスタンスが停止している場合は、[コンピューティングの開始] を選択して、実行されるまで待ちます。

      コンピューティングが停止している場合にそれを開始する方法を示すスクリーンショット。

    4. [エディター] > [VS Code (Web) で編集] を選択します。

    コンピューティング インスタンスへの接続方法のスクリーンショット: VS Code (Web): Azure Machine Learning Notebook。

  • Compute

    1. [コンピューティング] タブを選択します
    2. 使用するコンピューティング インスタンスが停止している場合は、それを選択し、[開始] を選択します。
    3. コンピューティング インスタンスが実行されたら、[アプリケーション] 列で [VS Code (Web)] を選択します。

    コンピューティング インスタンスへの接続方法のスクリーンショット: VS Code: Azure Machine Learning スタジオ。

これらのオプションが表示されない場合は、「前提条件」セクションで示されているように、コンピューティング インスタンスを Web 用 Visual Studio Code に接続するプレビュー機能が有効なことをご確認ください。

クリックアウト エクスペリエンスのいずれかを選択すると、新しい VS Code ウィンドウが開き、リモート コンピューティング インスタンスへの接続が試行されます。 この接続を試みると、次のステップが実行されます。

  1. 承認。 接続しようとしているユーザーに、そのコンピューティング インスタンスを使用する権限があるかどうかを確認するためのチェックが行われます。
  2. VS Code Remote Server がコンピューティング インスタンスにインストールされます。
  3. リアルタイムの対話のために WebSocket 接続が確立されます。

接続は、確立されると維持されます。 トークンはセッションの開始時に発行され、コンピューティング インスタンスとの接続を維持するために自動的に更新されます。

リモート コンピューティング インスタンスに接続した後、エディターを使用して次のことを行います。

リモート Jupyter Notebook サーバー

このオプションを使用すると、Visual Studio Code (デスクトップ) からコンピューティング インスタンスをリモート Jupyter Notebook サーバーとして使用できます。 このオプションを使用すると、コンピューティング インスタンスのみに接続され、ワークスペースの残りの部分には接続されません。 このオプションを使用すると、VS Code にワークスペース ファイルは表示されません。

コンピューティング インスタンスをリモート Jupyter Notebook サーバーとして構成するには、最初に次のものをインストールします。

コンピューティング インスタンスに接続するには、次のようにします。

  1. Visual Studio Code で Jupyter Notebook を開きます。

  2. 統合ノートブックのエクスペリエンスが読み込まれたら、[カーネルの選択] を選びます。

    Jupyter サーバーを選択する方法を示すスクリーンショット。

    または、次のようにコマンド パレットを使用します。

    1. メニュー バーから [表示] > [コマンド パレット] の順に選択して、コマンド パレットを開きます。
    2. テキストボックスに「AzureML: Connect to Compute instance Jupyter server」と入力します。
  3. Jupyter サーバー オプションの一覧から [Azure ML Compute Instances] を選択します。

  4. サブスクリプションの一覧からご利用のサブスクリプションを選択します。 既定の Azure Machine Learning ワークスペースをあらかじめ構成済みである場合、この手順はスキップされます。

  5. ワークスペースを選択します。

  6. 一覧から自分のコンピューティング インスタンスを選択します。 それがない場合は、[新しい Azure Machine Learning コンピューティング インスタンスを作成する] を選択し、プロンプトに従って作成します。

  7. 変更を有効にするには、Visual Studio Code を再度読み込む必要があります。

  8. Jupyter Notebook を開き、セルを実行します。

重要

接続を確立するために、セルを実行する必要があります

この時点では、ご利用の Jupyter Notebook でセルを実行し続けることができます。

ヒント

Jupyter のようなコード セルを含む Python スクリプト ファイル (.py) を操作することもできます。 詳細については、Visual Studio Code Python Interactive のドキュメントを参照してください。

次のステップ

コンピューティング インスタンスにリモート接続された Visual Studio Code を起動したので、Azure Machine Learning 拡張機能を使用して、データの準備、コードの編集とデバッグ、トレーニング ジョブの送信を行うことができます。

Azure Machine Learning と統合された VS Code を最大限に活用する方法の詳細については、「コンピューティング インスタンスにリモート接続された VS Code で作業する (プレビュー)」を参照してください。