影像應用程式的參考解決方案
了解如何在許多實際的影像應用程式共用的通用組態中,使用 pandas UDF、PyTorch 和 TensorFlow 從參考解決方案筆記本進行分散式影像模型推斷。 此組態假設您在物件存放區中儲存許多影像,並且可以選擇不斷到達新影像。
影像模型推斷的工作流程
假設您具有數個經過訓練的深度學習 (DL) 模型用於影像分類和物件偵測 (例如,MobileNetV2 用於偵測使用者上傳的相片中的人類物件,以協助保護隱私權),並且您希望將這些 DL 模型套用於儲存的影像。
您可以重新訓練模型,並更新先前計算的預測。 但是,載入許多影像和套用 DL 模型同時需要大量 I/O 和大量計算。 幸運的是,推斷工作負載是易於平行的,理論上可以輕鬆地散發。 本指南將逐步引導您完成一個包含兩個主要階段的實用解決方案:
- 使用自動載入器將 ETL 影像載入到差異資料表
- 使用 pandas UDF 執行分散式推斷
使用自動載入器將 ETL 影像載入到差異資料表
對於影像應用程式 (包括訓練和推斷工作),Databricks 建議您使用自動載入器將 ETL 影像載入到差異資料表。 自動載入器可協助管理資料,並自動處理不斷到達的新影像。
將 ETL 影像資料集載入到差異資料表筆記本
使用 pandas UDF 執行分散式推斷
下列筆記本使用 PyTorch 和 TensorFlow tf.Keras 來示範參考解決方案。
透過 Pytorch 和 pandas UDF 筆記本進行的分散式推斷
透過 Keras 和 pandas UDF 筆記本進行的分散式推斷
限制:影像檔大小
對於大型影像檔 (平均影像大小大於 100 MB),Databricks 建議僅使用差異資料表來管理中繼資料 (檔案名稱清單),並在需要時使用路徑從物件存放區載入影像。