深度學習模型推理工作流
對於深度學習應用的模型推斷,Databricks推薦以下工作流程。例如,使用TensorFlow和PyTorch的筆記本,請參見深度學習模型推理實例。
將數據加載到Spark DataFrames中。根據數據類型,Databricks推薦以下方式加載數據:
圖像文件(JPG,PNG):將圖像路徑加載到Spark DataFrame中。圖像加載和預處理輸入數據發生在pandas UDF中。
files_df=火花。createDataFrame(地圖(λ路徑:(路徑),file_paths),[“路徑”])
TFRecords:使用spark-tensorflow-connector。
df=火花。讀。格式(“tfrecords”)。負載(image_path)
數據源,如Parquet、CSV、JSON、JDBC和其他元數據:使用Spark數據源。
使用pandas udf執行模型推斷。熊貓udf使用Apache Arrow來傳輸數據,使用pandas來處理數據。要進行模型推斷,以下是使用pandas udf的工作流中的主要步驟。
加載訓練過的模型:為了提高效率,Databricks建議從驅動程序中廣播模型的權重,並加載模型圖,並從pandas UDF中的廣播變量中獲取權重。
加載和預處理輸入數據:若要批量加載數據,Databricks建議使用特遣部隊。data API用於TensorFlow和DataLoader類PyTorch。兩者都支持預取和多線程加載,以隱藏IO綁定延遲。
運行模型預測:在數據批處理上運行模型推斷。
將預測發送回Spark DataFrames:收集預測結果並返回為
pd。係列
。