Deep Learning-Modellrückschluss: Workflow
Für den Modellrückschluss für Deep Learning-Anwendungen empfiehlt Azure Databricks den folgenden Workflow. Beispielnotebooks, die TensorFlow und PyTorch verwenden, finden Sie unter Beispiele für den Deep Learning-Modellrückschluss.
Laden Sie die Daten in Spark-DataFrames. Je nach Datentyp empfiehlt Azure Databricks die folgenden Methoden zum Laden von Daten:
- Bilddateien (JPG, PNG): Laden Sie die Bildpfade in einen Spark-DataFrame. Das Laden von Bildern und das Vorverarbeiten von Eingabedaten erfolgt in einer Pandas-UDF.
files_df = spark.createDataFrame(map(lambda path: (path,), file_paths), ["path"])
- TFRecords: Laden Sie die Daten mit spark-tensorflow-connector.
df = spark.read.format("tfrecords").load(image_path)
- Datenquellen wie Parquet, CSV, JSON, JDBC und andere Metadaten: Laden Sie die Daten mithilfe von Spark-Datenquellen.
Führen Sie den Modellrückschluss mit benutzerdefinierten Pandas-Funktionen aus.Benutzerdefinierte Pandas-Funktionen übertragen Daten und Pandas für die Arbeit mit Daten mithilfe von Apache Arrow. Für den Modellrückschluss werden die folgenden umfassenden Schritte im Workflow mit Pandas-UDFs durchgeführt.
- Laden des trainierten Modells: Aus Effizienzgründen empfiehlt Azure Databricks, die Gewichtungen des Modells vom Treiber zu übertragen, das Modelldiagramm zu laden und die Gewichtungen aus den übertragenen Variablen in einer Pandas-UDF abzurufen.
- Laden und Vorverarbeiten von Eingabedaten: Zum Laden von Daten in Batches empfiehlt Azure Databricks die Verwendung der tf.data-API für TensorFlow und der DataLoader-Klasse für PyTorch. Beide unterstützen auch Vorabrufe und Multithread-Ladevorgänge, um die E/A-gebundene Latenz zu beseitigen.
- Ausführen der Modellvorhersage: Führen Sie den Modellrückschluss für den Datenbatch aus.
- Zurücksenden von Vorhersagen an Spark-DataFrames: Sammeln Sie die Vorhersageergebnisse, und geben Sie sie als
pd.Series
zurück.
Deep Learning-Modellrückschluss: Beispiele
Die Beispiele in diesem Abschnitt folgen dem empfohlenen Deep Learning-Rückschlussworkflow. Diese Beispiele veranschaulichen, wie Modellrückschlüsse mit einem vortrainierten ResNets-Modell (Deep Residual Networks) erstellt werden.