Che cos'è FiftyOne
FiftyOne è una soluzione open-source per lo sviluppo di modelli di computer vision. Come toolkit per l'apprendimento automatico, FiftyOne consente ai team di data science di migliorare l'efficacia dei loro modelli di computer vision attraverso varie funzionalità. Tra queste, la capacità di curare meticolosamente i set di dati di alto livello, di condurre valutazioni approfondite dei modelli, di individuare gli errori, di visualizzare le incorporazioni e di semplificare il percorso verso la produzione.
Perché FiftyOne e Zilliz Cloud (Milvus)
I motori di ricerca vettoriali, come Milvus, semplificano il processo di archiviazione, indicizzazione e ricerca di embeddings vettoriali per il crescente numero di applicazioni di IA costruite ogni giorno.
Per coloro che integrano la ricerca vettoriale nei flussi di lavoro di immagini o video, possono sorgere sfide come l'implementazione del recupero cross-modale o l'incorporazione di filtri di ricerca tradizionali. FiftyOne offre una soluzione come interfaccia di computer vision per la ricerca vettoriale. Grazie all'integrazione nativa con Milvus, FiftyOne consente agli utenti di sfruttare senza problemi il motore di ricerca vettoriale preferito per una ricerca efficiente dei dati visivi con una sola riga di codice. Che si tratti di trovare immagini simili o di cercare oggetti specifici all'interno delle immagini, FiftyOne semplifica il processo, consentendo agli utenti di raggiungere i loro obiettivi di ricerca senza sforzo.
Quando si integra la ricerca vettoriale nei flussi di lavoro di immagini o dati video, possono sorgere diverse sfide:
- Implementare il recupero cross-modale, come la ricerca di immagini in base al testo associato.
- Incorporare filtri di ricerca tradizionali come soglie di confidenza o etichette di classe.
- Ricerca di oggetti specifici all'interno delle immagini, come persone, gatti, cani, auto, biciclette e altro.
Come utilizzare FiftyOne e Zilliz Cloud
Per utilizzare Milvus con FiftyOne, per creare un indice di similarità sui dataset di FiftyOne e utilizzarlo per interrogare i dati è necessario procedere come segue:
- Caricare il set di dati in FiftyOne
- Specificare il modello che si desidera utilizzare per generare i vettori di incorporazioni e configurare se si desidera utilizzare Milvus o Zilliz Cloud per memorizzare questi vettori di incorporazioni.
- Utilizzare il metodo
compute_similarity()per generare un indice di similarità Milvus per i campioni o le patch di oggetti in un set di dati, impostando il parametro backend="milvus" e specificando una brain_key di propria scelta. - Utilizzare questo indice di somiglianza Milvus per interrogare i dati con
sort_by_similarity().
Impostazione di Milvus
## configurazione di milvus ## scaricare e avviare il contenitore docker + pip installare pymilvus ## generare un indice di similarità ## con gli embeddings del modello CLIP ## utilizzando il backend Milvus fob.compute_similarity( dataset, brain_key="milvus_clip_index", backend="milvus", metrica="dotproduct"Interrogare Milvus
## ottenere l'ID del primo campione query = dataset.skip(1).first().id ## trovare le 25 immagini più simili con il backend Milvus sim_view = dataset.sort_by_similarity( query, k=25, brain_key="milvus_clip_index" ) ## visualizzare i risultati sessione = fo.launch_app(sim_view)Per saperne di più
Consultate queste esercitazioni per imparare a usare FiftyOne e Milvus / Zilliz Cloud.