iT邦幫忙

2025 iThome 鐵人賽

DAY 19
0
AI & Data

ML/DL實作-「營養抗老」專題製作系列 第 19

Day 19:Flyte Pipeline 串接 — ETL → 訓練 → 匯出

  • 分享至 

  • xImage
  •  

🎯 目標

建立一個 跨階段的 Flyte Workflow:

抓資料並清洗 (ETL)

匯入 MySQL(更新 evidence 表)

準備特徵資料集

訓練 ML 模型

匯出 ONNX 模型

能一鍵觸發,完成全套「資料 → 模型」流程

為後續 Day19 的 部署 / 自動化觸發 做準備

🏗️ Pipeline 設計
Workflow:wf_etl_train_pipeline(effect_id: str)

t_fetch_sources(Day16)

讀取 evidence_E001.auto.csv / evidence_E002.auto.csv

t_clean_validate(Day16)

清洗後存成 clean.parquet

t_load_mysql(Day16)

寫入 mymall.evidence

t_prepare_dataset(Day17)

從 DB 或 parquet 生成 (X_train, y_train)

輸出到 train.parquet

t_train_model(Day17)

使用 sklearn / pytorch 訓練

輸出 model.pkl

t_export_onnx(Day17)

輸出 recommender_${effect_id}.onnx

路徑:data/models/

t_evaluate_model(Day17)

輸出 metrics.json(accuracy, f1, auc)

🧰 技術重點

Flyte Workflow 串接:

wf_etl_day3 和 wf_train_pipeline 原本是分開的

Day18 要整合成一個 pipeline

在 Flyte UI 上能看到 一條完整 DAG

成果管理

data/models/recommender_E001.onnx

data/models/recommender_E002.onnx

data/metrics/metrics_E001.json

版本控制

每次 pipeline 跑完,產生一個時間戳目錄,例如:

✅ 驗收標準

Pipeline 可跑通,一次完成 ETL + 訓練 + 匯出

Flyte UI DAG 清楚顯示各個 task

metrics.json 中至少有一個評估指標(accuracy/f1)

Spring Boot /api/recommendations/ai 成功讀取最新 ONNX

📦 今日交付

workflows/pipeline_day18.py

wf_etl_train_pipeline(effect_id: str)

outputs/2025-09-18Txx-xx-xx/

recommender_E001.onnx

metrics_E001.json
    

上一篇
Day 18_Flyte 任務化 — 模型訓練與 ONNX 匯出
系列文
ML/DL實作-「營養抗老」專題製作19
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言