【 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 查看所上傳的檔案