Pracovní postup odvozování modelů hlubokého učení
Pro odvozování modelů pro aplikace hlubokého učení doporučuje Azure Databricks následující pracovní postup. Příklady odvozování modelů hlubokého učení najdete v poznámkových blocích, které používají TensorFlow a PyTorch.
Načtěte data do datových rámců Sparku. V závislosti na datovém typu Azure Databricks doporučuje následující způsoby načtení dat:
- Soubory obrázků (JPG,PNG): Načtěte cesty k obrázkům do datového rámce Sparku. Při načítání a předběžném zpracování vstupních dat obrázku dochází v UDF knihovny pandas.
files_df = spark.createDataFrame(map(lambda path: (path,), file_paths), ["path"])
- TFRecords: Načtěte data pomocí konektoru spark-tensorflow-connector.
df = spark.read.format("tfrecords").load(image_path)
- Zdroje dat, jako jsou Parquet, CSV, JSON, JDBC a další metadata: Načtěte data pomocí zdrojů dat Sparku.
K odvozování modelů použijte uživatelem definované funkce pandas. Funkce definované uživatelem pandas používají Apache Arrow k přenosu dat a knihovny pandas k práci s daty. Pro odvozování modelů jsou v pracovním postupu obecné kroky s uživatelem definovanými funkcemi pandas.
- Načtení natrénovaného modelu: Azure Databricks doporučuje vysílat váhy modelu z ovladače a načíst graf modelu a získat váhy z vysílaných proměnných v UDF knihovny pandas.
- Načtení a předběžné zpracování vstupních dat: K načtení dat v dávkách azure Databricks doporučuje používat rozhraní TF.data API pro TensorFlow a třídu DataLoader pro PyTorch. Obě podporují také předběžné načítání i načítání s více vlákny, aby se skryla latence vázaná na vstupně-výstupní operace.
- Spuštění predikce modelu: Spuštění odvozování modelu v dávce dat
- Odesílání předpovědí zpět do datových rámců Sparku: shromážděte výsledky předpovědi a vraťte se jako
pd.Series
.
Příklady odvozování modelů hlubokého učení
Příklady v této části se řídí doporučeným pracovním postupem odvození hlubokého učení. Tyto příklady ukazují, jak provádět odvozování modelů pomocí předem natrénovaného modelu neuronové sítě s hlubokými zbytkovými sítěmi (ResNets).