【 MLOps 】使用 Azure Machine Learning SDK 來建立及執行機器學習管線 - 以 TensorFlow Iris 為例

內容

  • 學習目標
  • 前置準備作業
  • 流程
  • 上傳 Dataset 到 Azure Blob
  • 建立 Microsoft Azure Machine Learning Studio
  • 建立 AzureML Pipeline

學習目標

  • 將訓練與評估的 CSV 檔案從本地端傳送至 Azure Blob
  • AzureML Datastore 連接至 Azure Blob
  • AzureML Datastore 讀取 CSV 檔案並建立對應的 Dataset 物件。
  • 建立 Azure ML PipelineData 物件,以存儲在管道的訓練和評估步驟中產生的中間資料。
  • 通過 Azure ML Pipeline 建立訓練和評估 2 個步驟
    • ① 訓練步驟負責訓練模型,並將生成的模型存儲在 Azure ML Models AssetsAzure Blob 中。
    • ② 評估步驟負責使用測試資料評估模型的性能。

前置準備作業

流程

上傳 Dataset 到 Azure Blob

  • 檔案結構
└── Iris
    ├── Datasets
    │   ├── test
    │   │   └── iris_test.csv
    │   └── training
    │       └── iris_training.csv
    ├── .env
    ├── app.py
    └── requirements.txt
  • 將 Dataset 下載並依上方檔案結構進行存放

  • 建立 Azure Blob

    • 在搜尋框輸入 blob 並點選 Storage accounts 的搜尋結果
    • 點選 Create
    • 輸入相關資訊後點選左下角的 Review

    • 確認相關資訊後點選 Create
    • 建立過程中
    • 點選 Go to resource
    • 建立 Container
      • 點選左邊的 Containers → 點選上方的 + Container
      • 輸入 Container 名稱後點選 Create ( 之後的程式會使用到,請記得所輸入的名稱 )

      • 建立完成
  • 取得 Account Name 與 Key

    • 點選左側的 Access keys ( 之後的程式會使用到 Storage account nameKeyConnection string )
  • 在 Iris 資料夾中建立 .env 檔案內容如下

  • 安裝相關套件

  • 撰寫上傳檔案到 Azure Blob 的 Python 程式

  • 執行上傳程式

python3 app.py

  • 查看 Azure Blob 所上傳的檔案

建立 Microsoft Azure Machine Learning Studio

  • 在輸入框輸入 azure machine learning 後點選 Azure Machine Learning 的搜尋結果

  • 點選上方的 + Create > 點選 New workspace

  • 輸入相關資訊後點選左下方的 Review + create

  • 確認相關資訊後點選左下角的 Create

  • 建立過程中

  • 點選 Go to resource

  • 點選 Launch studio

  • 開啟 Studio 後的畫面

建立 AzureML Pipeline

Step 1. 建立運算資源

  • 點選左側的 Compute > 再點選 + New

  • 輸入 Compute name 與所要使用的硬體規格後點選 Create

  • 建立過程中


Step 2. 上傳 AzureML Sample Code


Step 3. 確認執行環境

  • 開啟 run_iris_pipeline.ipynb 後確認 Compute instancePython 3.8 - AuzreML 是否為綠燈 ( 綠燈代表正常運作中 )


Step 4. 安裝套件與確認 SDK 版本

  • 點選 安裝套件與確認 SDK 版本 程式區塊左側的 以執行程式

  • 執行結果


Step 5. 配置工作環境

  • 點選 配置工作環境 程式區塊左側的 以執行程式

  • 執行結果


Step 6. 連接已有的 Blob

  • 修改設定資訊

    • 第 3 行修改成上面 上傳 Dataset 到 Azure Blob 區塊中所取得的 Storage account name
    • 第 4 行修改成上面 上傳 Dataset 到 Azure Blob 區塊中所取得的 Key
    • 第 5 行修改成上面 上傳 Dataset 到 Azure Blob 區塊中所建立的 Container 名稱
  • 點選 連接已有的 Blob 程式區塊左側的 以執行程式

  • 執行結果


Step 7. 設定 Blob Key Secret

  • 修改設定資訊

    • 第 2 行 value = 後面請修改成上面 上傳 Dataset 到 Azure Blob 區塊中所取得的 Key
  • 點選 設定 Blob Key Secret 程式區塊左側的 以執行程式

  • 執行結果


Step 8. 建立運算叢集

  • 修改資訊

    • 第 13 行 vm_size= 請修改成所要使用的規格
  • 點選 建立運算叢集 程式區塊左側的 以執行程式

  • 執行結果


Step 9. 設定執行環境的 config

  • 點選 設定執行環境的 config 程式區塊左側的 以執行程式

  • 執行結果


Step 10. 建立 Python 腳本步驟

  • 點選 建立 Python 腳本步驟 程式區塊左側的 以執行程式

  • 執行結果


Step 11. 提交實驗

  • 點選 提交實驗 程式區塊左側的 以執行程式

  • 執行結果


Step 12. 確認 Pipeline 執行狀況 ( 執行需花一些時間 )

  • 點選左側的 Pipelines

  • 點選 Step 12 所顯示的 Dispaly name

  • 執行完成

  • Training 的 Metrics

  • Evaluate 的 Metrics

  • Training 的 Parameters

  • Evaluate 的 Parameters


Step 13. 確認 Models

  • 點選左側的 Models

  • 點選左側的 Artifacts


Step 14. 確認 Datasets


Step 15. 確認 Datastores


Step 16. Azure Blob 查看所上傳的檔案

Sample Code

GitHub

List of blogs