Solução de referência para aplicativos de imagem

Saiba como fazer a inferência distribuída do modelo de imagem dos notebooks de solução de referência usando o Pandas UDF, PyTorch e TensorFlow em uma configuração comum compartilhada por muitos aplicativos de imagem do mundo real. Essa configuração pressupõe que você armazene várias imagens em um repositório de objetos e, opcionalmente, conte com novas imagens que chegam continuamente.

Fluxo de trabalho para inferência de modelos de imagem

Suponha que você tenha vários modelos de DL (aprendizado profundo) treinados para classificação de imagens e detecção de objetos, por exemplo, MobileNetV2 para detectar objetos humanos em fotos carregadas pelo usuário, para ajudar a proteger a privacidade, e queira aplicar esses modelos de DL às imagens armazenadas.

Você pode treinar novamente os modelos e atualizar as previsões computadas anteriormente. No entanto, o carregamento de muitas imagens e a aplicação de modelos de DL consomem muitos recursos de E/S e de computação. Felizmente, a carga de trabalho de inferência é perfeitamente paralela e, teoricamente, pode ser distribuída facilmente. Este guia orienta o uso de uma solução prática, com dois estágios principais:

  1. Imagens de ETL em uma tabela Delta usando o Carregador Automático
  2. Executar inferência distribuída usando UDF do pandas

Imagens de ETL em uma tabela Delta usando o Carregador Automático

Para aplicativos de imagem, inclusive tarefas de treinamento e inferência, a Databricks recomenda que você execute ETL das imagens em uma tabela Delta com o Carregador Automático. O Carregador Automático ajuda no gerenciamento de dados e manipula automaticamente as novas imagens que chegam continuamente.

Conjunto de dados de uma imagem de ETL em um notebook de tabela Delta

Obter notebook

Executar inferência distribuída usando UDF do pandas

Os notebooks a seguir usam PyTorch e TensorFlow tf.Keras para demonstrar a solução de referência.

Inferência distribuída via Pytorch e notebook de UDF do pandas

Obter notebook

Inferência distribuída via Keras e notebook de UDF do pandas

Obter notebook

Limitações: tamanhos de arquivos de imagem

Para arquivos de imagem grandes (tamanho médio de imagem superior a 100 MB), a Databricks recomenda usar a tabela Delta somente para gerenciar os metadados (lista de nomes de arquivo) e carregar as imagens do repositório de objetos usando seus caminhos quando necessário.