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

Saiba como realizar a inferência distribuída de modelos de imagem a partir de notebooks utilizados como solução de referência, usando pandas UDF, PyTorch e TensorFlow em um ambiente padrão compartilhado por muitas aplicações práticas de imagem. 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 é trivialmente 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 pandas UDF

Carregar imagens com ETL em uma tabela Delta usando o Auto Loader

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

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

Obter notebook

Executar inferência distribuída usando UDF do pandas

Os seguintes notebooks 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.