aprendizagem profunda model inference fluxo de trabalho
Para inferência de modelo para aplicativos de aprendizagem profunda, Databricks recomenda o seguinte fluxo de trabalho. Por exemplo Notebook que usa TensorFlow e PyTorch, consulte exemplos de inferência de modelo de aprendizagem profunda.
Carregue os dados em Spark DataFrames. Dependendo do tipo de dados, Databricks recomenda as seguintes maneiras de carregar dados:
Arquivos de imagem (JPG, PNG): Carregue os caminhos da imagem em um Spark DataFrame. O carregamento de imagens e os dados de entrada de pré-processamento ocorrem em um UDF pandas.
files_df = spark.createDataFrame(map(lambda path: (path,), file_paths), ["path"])
TFRecords: carrega o uso de dados do spark-tensorflow-connector.
df = spark.read.format("tfrecords").load(image_path)
fonte de dados como Parquet, CSV, JSON, JDBC e outros metadados: Carregue o uso de dados Spark fonte de dados.
Realize inferência de modelo usando UDFs pandas. pandas UDFs usam Apache Arrow para transferir dados e pandas para trabalhar com os dados. Para fazer a inferência de modelo, a seguir estão os passos gerais no fluxo de trabalho com pandas UDFs.
Carregar o modelo treinado: para eficiência, o Databricks recomenda transmitir os pesos do modelo do driver e carregar o gráfico do modelo e obter os pesos das variáveis transmitidas em um UDF do pandas.
Carregar e pré-processar dados de entrada: para carregar dados em lotes, a Databricks recomenda usar a API tf.data para TensorFlow e a classe DataLoader para PyTorch. Ambos também oferecem suporte à pré-busca e ao carregamento multiencadeado para ocultar a latência vinculada ao IO.
predição do modelo de execução: inferência do modelo de execução nos lotes de dados.
Envie as previsões de volta ao Spark DataFrames: colete os resultados da previsão e retorne como
pd.Series
.
exemplos de inferência de modelos de aprendizagem profunda
Os exemplos nesta seção seguem o fluxo de trabalho de inferência de Aprendizagem Profunda recomendado. Esses exemplos ilustram como executar a inferência de modelo usando um modelo de rede neural de redes residuais profundas pré-treinadas (ResNets).