【 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 Assets和Azure Blob中。 - ② 評估步驟負責使用測試資料評估模型的性能。
- ① 訓練步驟負責訓練模型,並將生成的模型存儲在
前置準備作業
- 已建立 Azure 帳號並能正常登入與使用
- 本地端電腦已安裝 Python
流程
上傳 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 name、Key與Connection 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
-
下載程式碼後進行解壓縮
-
上傳 AzureML 資料夾中的程式
- 點選
⊕符號 > 點選Upload folder
- 點選
Click to browse and select folder(s)
- 點選
上傳
- 點選
Upload
- 上傳完成
- 點選
Step 3. 確認執行環境
- 開啟
run_iris_pipeline.ipynb後確認Compute instance與Python 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 名稱
- 第 3 行修改成上面
-
點選
連接已有的 Blob程式區塊左側的▷以執行程式
- 執行結果
Step 7. 設定 Blob Key Secret
-
修改設定資訊
- 第 2 行
value =後面請修改成上面上傳 Dataset 到 Azure Blob區塊中所取得的Key
- 第 2 行
-
點選
設定 Blob Key Secret程式區塊左側的▷以執行程式
- 執行結果
Step 8. 建立運算叢集
-
修改資訊
- 第 13 行
vm_size=請修改成所要使用的規格
- 第 13 行
-
點選
建立運算叢集程式區塊左側的▷以執行程式
- 執行結果
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 查看所上傳的檔案