Przepływ pracy wnioskowania modelu uczenia głębokiego

W przypadku wnioskowania modelu dla aplikacji uczenia głębokiego usługa Azure Databricks zaleca następujący przepływ pracy. Przykładowe notesy korzystające z bibliotek TensorFlow i PyTorch można znaleźć w temacie Przykłady wnioskowania modelu uczenia głębokiego.

  1. Załaduj dane do ramek danych platformy Spark. W zależności od typu danych usługa Azure Databricks zaleca następujące sposoby ładowania danych:

    • Pliki obrazów (JPG,PNG): załaduj ścieżki obrazów do ramki danych platformy Spark. Ładowanie obrazów i wstępne przetwarzanie danych wejściowych odbywa się w funkcji zdefiniowanej przez użytkownika biblioteki pandas.
    files_df = spark.createDataFrame(map(lambda path: (path,), file_paths), ["path"])
    
    df = spark.read.format("tfrecords").load(image_path)
    
    • Źródła danych, takie jak Parquet, CSV, JSON, JDBC i inne metadane: ładowanie danych przy użyciu źródeł danych platformy Spark.
  2. Wykonywanie wnioskowania modelu przy użyciu funkcji zdefiniowanych przez użytkownika biblioteki pandas.Funkcje zdefiniowane przez użytkownika biblioteki pandas używają narzędzia Apache Arrow do przesyłania danych i biblioteki pandas do pracy z danymi. Aby przeprowadzić wnioskowanie modelu, poniżej przedstawiono szerokie kroki przepływu pracy z funkcjami zdefiniowanymi przez użytkownika biblioteki pandas.

    1. Załaduj wytrenowany model: w celu zwiększenia wydajności usługa Azure Databricks zaleca nadawanie wag modelu ze sterownika i ładowanie grafu modelu oraz pobieranie wag z rozgłaszanych zmiennych w funkcji zdefiniowanej przez użytkownika biblioteki pandas.
    2. Ładowanie i wstępne przetwarzanie danych wejściowych: aby załadować dane w partiach, usługa Azure Databricks zaleca użycie interfejsu API tf.data dla biblioteki TensorFlow i klasy DataLoader dla biblioteki PyTorch. Obie obsługują również wstępne pobieranie i ładowanie wielowątkowy, aby ukryć opóźnienie związane z operacjami we/wy.
    3. Uruchamianie przewidywania modelu: uruchamianie wnioskowania modelu w partii danych.
    4. Wysyłaj przewidywania z powrotem do ramek danych platformy Spark: zbierz wyniki przewidywania i zwróć je jako pd.Series.

Przykłady wnioskowania modelu uczenia głębokiego

Przykłady w tej sekcji są zgodne z zalecanym przepływem pracy wnioskowania uczenia głębokiego. W tych przykładach pokazano, jak przeprowadzić wnioskowanie modelu przy użyciu wstępnie wytrenowanego modelu sieci neuronowych głębokich (ResNets) sieci neuronowych.