深度學習模型推理工作流

對於深度學習應用的模型推斷,Databricks推薦以下工作流程。例如,使用TensorFlow和PyTorch的筆記本,請參見深度學習模型推理實例

  1. 將數據加載到Spark DataFrames中。根據數據類型,Databricks推薦以下方式加載數據:

    • 圖像文件(JPG,PNG):將圖像路徑加載到Spark DataFrame中。圖像加載和預處理輸入數據發生在pandas UDF中。

    files_df火花createDataFrame地圖λ路徑路徑),file_paths),“路徑”])
    df火花格式“tfrecords”負載image_path
    • 數據源,如Parquet、CSV、JSON、JDBC和其他元數據:使用Spark數據源

  2. 使用pandas udf執行模型推斷。熊貓udf使用Apache Arrow來傳輸數據,使用pandas來處理數據。要進行模型推斷,以下是使用pandas udf的工作流中的主要步驟。

    1. 加載訓練過的模型:為了提高效率,Databricks建議從驅動程序中廣播模型的權重,並加載模型圖,並從pandas UDF中的廣播變量中獲取權重。

    2. 加載和預處理輸入數據:若要批量加載數據,Databricks建議使用特遣部隊。data API用於TensorFlow和DataLoader類PyTorch。兩者都支持預取和多線程加載,以隱藏IO綁定延遲。

    3. 運行模型預測:在數據批處理上運行模型推斷。

    4. 將預測發送回Spark DataFrames:收集預測結果並返回為pd。係列

深度學習模型推理實例

本節中的示例遵循推薦的深度學習推理工作流。這些例子說明了如何使用預訓練的深度殘差網絡(ResNets)神經網絡模型進行模型推理。