Soluzione di riferimento per le applicazioni di immagine
Informazioni su come eseguire l'inferenza del modello di immagine distribuita dai notebook della soluzione di riferimento usando pandas UDF, PyTorch e TensorFlow in una configurazione comune condivisa da molte applicazioni di immagini reali. Questa configurazione presuppone che molte immagini vengano archiviate in uno store di oggetti e che arrivino potenzialmente nuove immagini in continuazione.
Flusso di lavoro per l'inferenza del modello di immagine
Si supponga di avere diversi modelli di Deep Learning (DL) sottoposti a training per la classificazione delle immagini e il rilevamento degli oggetti (ad esempio MobileNetV2, utile a rilevare gli oggetti umani nelle foto caricate dall'utente per proteggere la privacy), e applicare questi modelli DL alle immagini archiviate.
È possibile eseguire nuovamente il training dei modelli e aggiornare le stime calcolate in precedenza. Tuttavia, caricare molte immagini e applicare i modelli DL è pesante sia a livello di I/O sia che di calcolo. Fortunatamente, il carico di lavoro di inferenza è perfettamente parallelo e in teoria può essere distribuito facilmente. Questa guida illustra una soluzione pratica che contiene due fasi principali:
- Immagini ETL in una tabella Delta usando il caricatore automatico
- Eseguire l'inferenza distribuita usando la funzione pandas UDF
Immagini ETL in una tabella Delta usando il caricatore automatico
Per le applicazioni di immagine, incluse le attività di training e inferenza, Databricks consiglia di usare immagini ETL in una tabella Delta con ilcaricatore automatico. Il caricatore automatico consente la gestione dei dati e gestisce automaticamente il flusso di nuove immagini in arrivo.
Set di dati di immagini ETL in un notebook di tabella Delta
Eseguire l'inferenza distribuita usando la funzione pandas UDF
I notebook seguenti usano PyTorch e TensorFlow e tf.Keras per illustrare la soluzione di riferimento.
Inferenza distribuita tramite notebook Pytorch e pandas UDF
Inferenza distribuita tramite notebook Keras e pandas UDF
Limitazioni: dimensioni dei file di immagine
Per i file di immagine di grandi dimensioni (dimensioni medie delle immagini superiori a 100 MB), quando necessario, Databricks consiglia di usare la tabella Delta solo per gestire i metadati (elenco di nomi di file) e caricare le immagini dall'archivio oggetti usando i percorsi.