Solução de referência para aplicações de imagem
Saiba como fazer inferência de modelo de imagem distribuída a partir de blocos de anotações de solução de referência usando 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 muitas imagens em um armazenamento de objetos e, opcionalmente, tenha novas imagens chegando continuamente.
Fluxo de trabalho para inferência de modelo de imagem
Suponha que você tenha vários modelos treinados de aprendizagem profunda (DL) para classificação de imagens e deteção de objetos — por exemplo, MobileNetV2 para detetar objetos humanos em fotos carregadas pelo usuário para ajudar a proteger a privacidade — e queira aplicar esses modelos DL às imagens armazenadas.
Você pode treinar novamente os modelos e atualizar previsões calculadas anteriormente. No entanto, é pesado em termos de E/S e computação para carregar muitas imagens e aplicar modelos DL. Felizmente, a carga de trabalho de inferência é embaraçosamente paralela e, em teoria, pode ser distribuída facilmente. Este guia orienta você através de uma solução prática que contém duas etapas principais:
- Imagens ETL em uma tabela Delta usando o Auto Loader
- Executar inferência distribuída usando pandas UDF
Imagens ETL em uma tabela Delta usando o Auto Loader
Para aplicativos de imagem, incluindo tarefas de treinamento e inferência, o Databricks recomenda que você faça imagens ETL em uma tabela Delta com o Auto Loader. O Auto Loader ajuda na gestão de dados e lida automaticamente com novas imagens que chegam continuamente.
Conjunto de dados de imagem ETL em um bloco de anotações de tabela Delta
Executar inferência distribuída usando pandas UDF
Os seguintes blocos de anotações usam PyTorch e TensorFlow tf. Keras para demonstrar a solução de referência.
Inferência distribuída via notebook Pytorch e pandas UDF
Inferência distribuída via notebook Keras e pandas UDF
Limitações: Tamanho dos arquivos de imagem
Para arquivos de imagem grandes (tamanho médio de imagem superior a 100 MB), o Databricks recomenda usar a tabela Delta apenas para gerenciar os metadados (lista de nomes de arquivos) e carregar as imagens do repositório de objetos usando seus caminhos quando necessário.