共用方式為


教學課程:定型和部署 Azure Machine Learning 模型

適用於:yes 圖示IoT Edge 1.1

重要

IoT Edge 1.1終止支援日期為 2022 年 12 月 13 日。 如需此產品、服務、技術或 API 的支援資訊,請參閱 Microsoft 產品生命週期。 如需更新至最新版本IoT Edge的詳細資訊,請參閱更新IoT Edge

在本文中,我們會進行下列工作:

  • 使用 Azure Machine Learning Studio 定型機器學習模型。
  • 將定型的模型封裝為容器映像。
  • 將容器映像部署為 Azure IoT Edge 模組。

Machine Learning Studio 是用來實驗、定型和部署機器學習模型的基礎區塊。

此文章中的步驟通常是由資料科學家執行的。

在本教學課程的本節中,您將瞭解如何:

  • 在 Azure Machine Learning 工作區中建立 Jupyter Notebook,以定型機器學習模型。
  • 容器化訓練過的機器學習模型。
  • 從容器化機器學習模型建立IoT Edge模組。

必要條件

本文是一系列教學課程的一部分,說明如何在 IoT Edge上使用 Machine Learning。 本系列中的每篇文章皆以先前文章中的工作為基礎。 如果您已直接到達這篇文章,請參閱系列中的 第一篇文章

設定 Azure Machine Learning

我們使用 Machine Learning Studio 來裝載兩個 Jupyter Notebook 和支援的檔案。 在這裡,我們會建立及設定 Machine Learning 專案。 如果您尚未使用 Jupyter 或 Machine Learning Studio,以下是兩個簡介檔:

注意

設定服務之後,可以從任何電腦存取 Machine Learning。 在安裝期間,您應該使用開發 VM,其中包含您需要的所有檔案。

安裝 Azure Machine Learning Visual Studio Code 擴充功能

開發 VM 上的Visual Studio Code應該已安裝此擴充功能。 如果您在不同的實例上執行,請重新安裝擴充功能,如設定Visual Studio Code擴充功能中所述。

建立 Azure Machine Learning 帳戶

若要在 Azure 上布建資源並執行工作負載,請使用您的 Azure 帳號憑證登入。

  1. 在 Visual Studio Code 中,選取功能表列中的 [檢視]>[命令選擇區],以開啟命令選擇區。

  2. 在命令選擇區中輸入 命令 Azure: Sign In ,以啟動登入程式。 依照指示完成登入登入。

  3. 建立 Machine Learning 計算實例以執行您的工作負載。 在命令選擇區上,輸入 命令 Azure ML: Create Compute

  4. 選取 Azure 訂用帳戶。

  5. 選取 [+ 建立新的 Azure ML 工作區],然後輸入 turbofandemo名稱。

  6. 選取您用於此示範的資源群組。

  7. 您應該會在Visual Studio Code視窗右下角看到工作區建立的進度:建立工作區:turobofandemo。 此步驟可能需要一或兩分鐘的時間。

  8. 等候工作區成功建立。 畫面應該會顯示已建立 Azure ML 工作區 turbofandemo

上傳 Jupyter Notebook 檔案

我們會將範例筆記本檔案上傳至新的 Machine Learning 工作區。

  1. 移至 ml.azure.com 並登入。

  2. 選取您的 Microsoft 目錄、Azure 訂用帳戶,以及新建立的 Machine Learning 工作區。

    顯示選取 Azure Machine Learning 工作區的螢幕擷取畫面。

  3. 登入 Machine Learning 工作區之後,請使用左側的功能表,移至 [筆記本 ] 區段。

  4. 選取我的檔案索引標籤。

  5. 選取 [ 上傳 ] (向上箭號圖示) 。

  6. 移至 C:\source\IoTEdgeAndMlSample\AzureNotebooks。 選取清單中的所有檔案,然後選取 [ 開啟]。

  7. 選取 [ 我信任這些檔案的內容] 核取方塊。

  8. 選取 [上傳 ] 以開始上傳。 然後在程式完成之後選取 [ 完成 ]。

Jupyter Notebook 檔案

讓我們檢閱您上傳至 Machine Learning 工作區的檔案。 本教學課程這個部分的活動橫跨兩個使用一些支援檔案的筆記本檔案。

  • 01-turbofan_regression.ipynb:此筆記本會使用 Machine Learning 工作區來建立和執行機器學習實驗。 此筆記本大致會執行下列步驟:

    1. 從裝置控管所產生的 Azure 儲存體帳戶下載資料。
    2. 探索並準備資料,然後使用資料來定型分類器模型。
    3. 使用測試資料集 (Test_FD003.txt) ,從實驗評估模型。
    4. 將最佳分類器模型發佈至 Machine Learning 工作區。
  • 02-turbofan_deploy_model.ipynb:此筆記本會採用在上一個筆記本中建立的模型,並用它來建立準備好部署至IoT Edge裝置的容器映射。 此筆記本會執行下列步驟:

    1. 為模型建立評分指令碼。
    2. 使用儲存在 Machine Learning 工作區中的分類器模型來產生容器映射。
    3. 在 Azure 容器執行個體 上將映射部署為 Web 服務。
    4. 使用 Web 服務來驗證模型及映像是否能如預期般運作。 已驗證的映像將會在此教學課程的建立和部署自訂 IoT Edge 模組部分中,部署至我們的 IoT Edge 裝置。
  • Test_FD003.txt:此檔案包含我們會在驗證定型分類器時用來作為測試集的資料。 為求簡化,我們選擇使用針對原始競賽所提供的測試資料作為測試集。

  • RUL_FD003.txt:此檔案包含Test_FD003.txt檔案中每個裝置上一個週期的剩餘使用 (RUL) 。 如需資料的詳細說明,請參閱 C:\source\IoTEdgeAndMlSample\data\Turbofan 中的readme.txt和損毀傳播Modeling.pdf檔案。

  • Utils.py:此檔案包含一組 Python 公用程式函式來處理資料。 第一個筆記本包含這些函式的詳細說明。

  • README.md:此讀我檔案描述筆記本的使用。

執行 Jupyter Notebook

您現已建立好工作區,因此可以接著執行筆記本。

  1. 從 [ 我的檔案] 頁面中,選取 [01-turbofan_regression.ipynb]。

    顯示選取要執行之第一個筆記本的螢幕擷取畫面。

  2. 如果筆記本列為 [不受信任],請選取筆記本右上角的 [不受信任 ] 小工具。 當對話方塊出現時,請選取 [ 信任]。

  3. 為了獲得最佳結果,請參閱每個資料格的文件,並個別加以執行。 選取工具列上的 [執行] 。 稍後,您會發現執行多個資料格會很方便。 您可以忽略升級和淘汰的警告。

    當儲存格執行時,它會在方括弧 ([*]) 之間顯示星號。 當儲存格的作業完成時,星號會以數位取代,而且可能會顯示相關的輸出。 筆記本中的儲存格會循序建置,而且一次只能執行一個資料格。

    您也可以從 [ 儲存格 ] 功能表使用執行選項。 選取 Ctrl+Enter 以執行儲存格,然後選取 Shift+Enter 以執行儲存格並前進到下一個儲存格。

    提示

    為了讓資料格作業保持一致,請避免在瀏覽器中從多個索引標籤執行相同的筆記本。

  4. 在遵循 設定全域屬性 指示的儲存格中,輸入 Azure 訂用帳戶、設定和資源的值。 然後,執行資料格。

    顯示在筆記本中設定全域屬性的螢幕擷取畫面。

  5. 在執行 工作區詳細資料之前的資料格中,尋找指示您登入以進行驗證的連結。

    顯示裝置驗證登入提示的螢幕擷取畫面。

    開啟連結,然後輸入指定的程式碼。 此登入程式會使用 Microsoft Azure 跨平臺命令列介面來驗證 Jupyter Notebook 以存取 Azure 資源。

    顯示驗證裝置確認應用程式螢幕擷取畫面。

  6. 在 [瀏覽結果] 前面的資料格中,複製執行識別碼中的值,然後將其貼到 [重新組成執行] 後面的資料格中包含的執行識別碼。

    顯示在儲存格之間複製執行識別碼的螢幕擷取畫面。

  7. 執行筆記本中其餘的資料格。

  8. 儲存筆記本,並返回您的專案頁面。

  9. 開啟 02-turbofan_deploy_model.ipynb,然後執行每個資料格。 您必須登入,才能在 [ 設定工作區] 之後的儲存格中驗證。

  10. 儲存筆記本,並返回您的專案頁面。

確認是否成功

若要確認筆記本是否已成功完成,請確認其中是否已建立幾個項目。

  1. 在 Machine Learning Notebook 的 [我的檔案 ] 索引標籤上,選取 [ 重新整理]。

  2. 確認已建立下列檔案。

    檔案 描述
    ./aml_config/.azureml/config.json 用來建立 Machine Learning 工作區的組態檔。
    ./aml_config/model_config.json 我們需要在 Azure 的 turbofanDemo Machine Learning 工作區中部署模型的組態檔。
    myenv.yml 提供所部署 Machine Learning 模型相依性的相關資訊。
  3. 確認下列 Azure 資源已建立。 某些資源名稱會附加隨機字元。

    Azure 資源 名稱
    Azure Machine Learning 工作區 turborfanDemo
    Azure Container Registry turbofandemoxxxxxxxx
    Application Insights turbofaninsightxxxxxxxx
    Azure 金鑰保存庫 turbofankeyvaultbxxxxxxxx
    Azure 儲存體 turbofanstoragexxxxxxxxx

偵錯

您可以將 Python 陳述式插入至筆記本以進行偵錯,例如使用 print() 命令來顯示值。 如果您看到未定義的變數或物件,請執行第一次宣告或具現化的儲存格。

如果您需要重做筆記本,您可能需要刪除先前建立的檔案和 Azure 資源。

清除資源

本教學課程是集合的一部分,其中每篇文章都會以上一篇文章中所完成的工作為基礎。 等候清除任何資源,直到您完成最後一個教學課程為止。

下一步

在本文中,我們使用兩個在 Machine Learning Studio 中執行的 Jupyter Notebook,以使用 turbofan 裝置的資料:

  • 訓練 RUL 分類器。
  • 將分類器儲存為模型。
  • 建立容器映射。
  • 將映射部署及測試為 Web 服務。

請前往下一篇文章以建立 IoT Edge 裝置。