Share via


딥 러닝 모델 유추 워크플로

딥 러닝 애플리케이션에 대한 모델 유추의 경우 Azure Databricks는 다음 워크플로를 권장합니다. TensorFlow 및 PyTorch를 사용하는 Notebook 예제는 딥 러닝 모델 유추 예제를 참조하세요.

  1. Spark DataFrames에 데이터를 로드합니다. 데이터 형식에 따라 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 DataFrames로 다시 보내기: 예측 결과를 수집하고 pd.Series로 반환합니다.

딥 러닝 모델 유추 예제

이 섹션의 예제는 권장되는 딥 러닝 유추 워크플로를 따릅니다. 이러한 예제에서는 미리 학습된 심층 ResNet(잔류 네트워크) 신경망 모델을 사용하여 모델 유추를 수행하는 방법을 보여 줍니다.