共用方式為


深度學習模型推斷工作流程

針對深度學習應用程式的模型推斷,Azure Databricks 建議使用下列工作流程。 如需使用 TensorFlow 和 PyTorch 的範例筆記本,請參閱 深度學習模型推斷範例

  1. 將資料載入 Spark DataFrame。 根據資料類型,Azure Databricks 建議使用下列方法來載入資料:

    • 影像檔案 (JPG,PNG):將映射路徑載入 Spark DataFrame。 影像載入和前置處理輸入資料發生在 pandas UDF 中。
    files_df = spark.createDataFrame(map(lambda path: (path,), file_paths), ["path"])
    
    df = spark.read.format("tfrecords").load(image_path)
    
    • Parquet、CSV、JSON、JDBC 和其他中繼資料等資料來源:使用 Spark 資料來源 載入資料。
  2. 使用 pandas UDF 執行模型推斷。 pandas UDF 使用 Apache Arrow 來傳輸資料和 pandas 來處理資料。 若要進行模型推斷,以下是使用 pandas UDF 的工作流程中的廣泛步驟。

    1. 載入定型的模型:為了提高效率,Azure Databricks 建議從驅動程式廣播模型的權數,並載入模型圖形,並從 pandas UDF 中廣播的變數取得權數。
    2. 載入和前置處理輸入資料:若要批次載入資料,Azure Databricks 建議使用適用于 TensorFlow 的 tf.data API PyTorch 的 DataLoader 類別 。 兩者也都支援預先擷取和多執行緒載入,以隱藏 IO 系結延遲。
    3. 執行模型預測:在資料批次上執行模型推斷。
    4. 將預測傳回 Spark DataFrame:收集預測結果,並以 傳回 。 pd.Series

深度學習模型推斷範例

本節中的範例會遵循建議的深度學習推斷工作流程。 這些範例說明如何使用預先定型的深度殘差網路 (ResNets) 類神經網路模型來執行模型推斷。