Arbetsflöde för modellinferens för djupinlärning
För modellinferens för djupinlärningsprogram rekommenderar Azure Databricks följande arbetsflöde. Exempel på notebook-filer som använder TensorFlow och PyTorch finns i Exempel på slutsatsdragning av djupinlärningsmodeller.
Läs in data i Spark DataFrames. Beroende på datatyp rekommenderar Azure Databricks följande sätt att läsa in data:
- Bildfiler (JPG, PNG): Läs in bildsökvägarna i en Spark DataFrame. Bildinläsning och förbearbetning av indata sker i en Pandas UDF.
files_df = spark.createDataFrame(map(lambda path: (path,), file_paths), ["path"])
df = spark.read.format("tfrecords").load(image_path)
Utföra modellinferens med hjälp av Pandas UDF:er.Pandas UDF:er använder Apache Arrow för att överföra data och Pandas för att arbeta med data. För att göra modellinferens är följande de breda stegen i arbetsflödet med Pandas UDF:er.
- Läs in den tränade modellen: För effektivitet rekommenderar Azure Databricks att du sänder modellens vikter från drivrutinen och läser in modelldiagrammet och hämtar vikterna från de utsända variablerna i en Pandas UDF.
- Läsa in och förbearbeta indata: För att läsa in data i batchar rekommenderar Azure Databricks att du använder tf.data-API:et för TensorFlow och klassen DataLoader för PyTorch. Båda stöder även förinläsning och flertrådad inläsning för att dölja I/O-bunden svarstid.
- Körningsmodellförutsägelse: kör modellinferens för databatchen.
- Skicka tillbaka förutsägelser till Spark DataFrames: samla in förutsägelseresultaten och returnera som
pd.Series
.
Exempel på slutsatsdragning av djupinlärningsmodeller
Exemplen i det här avsnittet följer det rekommenderade arbetsflödet för slutsatsdragning för djupinlärning. De här exemplen visar hur du utför modellinferens med hjälp av en förtränad modell för neurala nätverk (ResNets).