教學課程:使用 Azure Machine Learning Visual Studio Code 延伸模組來定型影像分類 TensorFlow 模型 (預覽)
適用於: Azure CLI ml 延伸模組 v2 (目前) (部分機器翻譯)
了解如何使用 TensorFlow 和 Azure Machine Learning Visual Studio Code 擴充功能來定型影像分類模型,以辨識手寫數字。
重要
此功能目前處於公開預覽。 此預覽版本沒有服務等級協定,不建議用於處理生產工作負載。 可能不支援特定功能,或可能已經限制功能。
如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款。
在本教學課程中,您會了解下列工作:
- 了解程式碼
- 建立工作區
- 將模型定型
必要條件
- Azure 訂閱。 如果您沒有訂用帳戶,請註冊以試用免費或付費版本的 Azure Machine Learning。 如果您使用免費訂用帳戶,則僅支援 CPU 叢集。
- 安裝 Visual Studio Code,這是輕量型、跨平台的程式碼編輯器。
- Azure Machine Learning Studio Visual Studio Code 延伸模組。 如需安裝指示,請參閱設定 Azure Machine Learning Visual Studio Code 延伸模組指南
- CLI (第 2 版)。 如需安裝指示,請參閱安裝、設定和使用 CLI (第 2 版)
- 複製社群驅動存放庫
git clone https://github.com/Azure/azureml-examples.git
了解程式碼
本教學課程的程式碼會使用 TensorFlow 來定型影像分類機器學習模型,以將 0-9 的手寫數字分類。 其做法是建立神經網路,其接受 28 px x 28 px 影像的像素值作為輸入並輸出含有 10 個機率的清單,每個要分類的數字都適用一個機率。 這是資料的外觀範例。
建立工作區
在 Azure Machine Learning 中建置應用程式所需進行的第一件事,就是建立工作區。 工作區包含用來定型模型的資源,以及已定型的模型本身。 如需詳細資訊,請參閱何謂工作區。
從 Visual Studio Code 中的社群驅動存放庫開啟 azureml-examples/cli/jobs/single-step/tensorflow/mnist 目錄。
在 Visual Studio Code 活動列上,選取 Azure 圖示,以開啟 Azure Machine Learning 視圖。
在 Azure Machine Learning 檢視中,以滑鼠右鍵按一下訂閱節點,然後選取 [建立工作區]。
規格檔案隨即出現。 使用下列選項設定規格檔案。
$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
的工作區。 規格檔案中定義的其餘選項,可為工作區提供易記名稱、描述和標籤。以滑鼠右鍵按一下規格檔案,然後選取 [AzureML:執行 YAML]。 建立資源會使用 YAML 規格檔案中定義的設定選項,並使用 CLI (v2) 來提交作業。 此時,會向 Azure 提出要求,以在您的帳戶中建立新的工作區和相依資源。 幾分鐘後,新的工作區就會出現在您的訂用帳戶節點中。
將
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 策展環境。
提交定型作業:
- 開啟 job.yml 檔案。
- 以滑鼠右鍵按一下文字編輯器中的檔案,然後選取 [AzureML:執行 YAML]。
此時,要求會傳送至 Azure,以在工作區中所選的計算目標上執行您的實驗。 這個程序需要幾分鐘的時間。 執行訓練作業的時間量會受到數個因素的影響,例如計算類型和定型資料大小。 若要追蹤實驗的進度,請以滑鼠右鍵按一下目前的執行節點,然後選取 [View Job in Azure portal] \(在 Azure 入口網站中檢視作業\)。
當要求開啟外部網站的對話方塊出現時,請選取 [開啟]。
當模型完成定型時,執行節點旁的狀態標籤會更新為 [已完成]。
下一步
- 啟動與 Azure Machine Learning 整合的 Visual Studio Code (預覽) (部分機器翻譯)
- 如需在本機編輯、執行和偵錯程式碼的逐步解說,請參閱 Python Hello World 教學課程。
- 使用遠端 Jupyter 伺服器,在 Visual Studio Code 中執行 Jupyter Notebook。
- 如需如何在 Visual Studio Code 之外使用 Azure Machine Learning 進行定型的逐步解說,請參閱教學課程:使用 Azure Machine Learning 將模型定型及部署模型。