教學課程:使用 Azure Machine Learning Visual Studio Code 延伸模組來定型影像分類 TensorFlow 模型 (預覽)

適用於:Azure CLI ml 延伸模組第 2 版 (目前)

了解如何使用 TensorFlow 和 Azure Machine Learning Visual Studio Code 擴充功能來定型影像分類模型,以辨識手寫數字。

重要

此功能目前處於公開預覽。 此預覽版本沒有服務等級協定,不建議用於處理生產工作負載。 可能不支援特定功能,或可能已經限制功能。

如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

在本教學課程中,您會了解下列工作:

  • 了解程式碼
  • 建立工作區
  • 將模型定型

必要條件

了解程式碼

本教學課程的程式碼會使用 TensorFlow 來定型影像分類機器學習模型,以將 0-9 的手寫數字分類。 其做法是建立神經網路,其接受 28 px x 28 px 影像的像素值作為輸入並輸出含有 10 個機率的清單,每個要分類的數字都適用一個機率。 這是資料的外觀範例。

MNIST Digits

建立工作區

在 Azure Machine Learning 中建置應用程式所需進行的第一件事,就是建立工作區。 工作區包含用來定型模型的資源,以及已定型的模型本身。 如需詳細資訊,請參閱何謂工作區

  1. 從 Visual Studio Code 中的社群驅動存放庫開啟 azureml-examples/cli/jobs/single-step/tensorflow/mnist 目錄。

  2. 在 Visual Studio Code 活動列上,選取 Azure 圖示,以開啟 Azure Machine Learning 視圖。

  3. 在 Azure Machine Learning 檢視中,以滑鼠右鍵按一下訂閱節點,然後選取 [建立工作區]

    Create workspace

  4. 規格檔案隨即出現。 使用下列選項設定規格檔案。

    $schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
    name: TeamWorkspace
    location: WestUS2
    display_name: team-ml-workspace
    description: A workspace for training machine learning models
    tags:
      purpose: training
      team: ml-team
    

    規則檔案會在 WestUS2 區域中建立名為 TeamWorkspace 的工作區。 規格檔案中定義的其餘選項,可為工作區提供易記名稱、描述和標籤。

  5. 以滑鼠右鍵按一下規格檔案,然後選取 [AzureML:執行 YAML]。 建立資源會使用 YAML 規格檔案中定義的設定選項,並使用 CLI (v2) 來提交作業。 此時,會向 Azure 提出要求,以在您的帳戶中建立新的工作區和相依資源。 幾分鐘後,新的工作區就會出現在您的訂用帳戶節點中。

  6. TeamWorkspace 設為您的預設工作區。 這樣做可將您建立的資源和作業預設放置在工作區。 請在 Visual Studio Code 狀態列上選取 [設定 Azure Machine Learning 工作區] 按鈕,並依照提示,將 TeamWorkspace 設為您的預設工作區。

如需工作區的詳細資訊,請參閱如何管理 VS Code 中的資源

定型模型

在定型過程中,TensorFlow 模型的定型方式是針對每個要分類的數字,處理內嵌在其中的定型資料和學習模式。

如同工作區和計算目標,定型作業是以資源範本來定義。 對於此範例,規格定義於 job.yml 檔案,如下所示:

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >
    python train.py
environment: azureml:AzureML-tensorflow-2.4-ubuntu18.04-py37-cuda11-gpu:48
resources:
   instance_type: Standard_NC12
   instance_count: 3
experiment_name: tensorflow-mnist-example
description: Train a basic neural network with TensorFlow on the MNIST dataset.

此規格檔案會將名為 tensorflow-mnist-example 的定型作業提交至最近建立的 gpu-cluster 計算目標,其執行 train.py Python 指令碼中的程式碼。 使用的環境是 Azure Machine Learning 提供的其中一個策展環境,其中包含執行定型指令碼所需的 TensorFlow 和其他軟體相依性。 如需策展環境的詳細資訊,請參閱 Azure Machine Learning 策展環境

提交定型作業:

  1. 開啟 job.yml 檔案。
  2. 以滑鼠右鍵按一下文字編輯器中的檔案,然後選取 [AzureML:執行 YAML]

此時,要求會傳送至 Azure,以在工作區中所選的計算目標上執行您的實驗。 這個程序需要幾分鐘的時間。 執行訓練作業的時間量會受到數個因素的影響,例如計算類型和定型資料大小。 若要追蹤實驗的進度,請以滑鼠右鍵按一下目前的執行節點,然後選取 [View Job in Azure portal] \(在 Azure 入口網站中檢視作業\)

當要求開啟外部網站的對話方塊出現時,請選取 [開啟]

Track experiment progress

當模型完成定型時,執行節點旁的狀態標籤會更新為 [已完成]。

下一步