Was ist FiftyOne
FiftyOne ist eine Open-Source-Lösung für die Entwicklung von Computer-Vision-Modellen. Als Toolkit für maschinelles Lernen unterstützt FiftyOne Data-Science-Teams dabei, die Effizienz ihrer Computer-Vision-Modelle durch verschiedene Funktionalitäten zu steigern. Dazu gehört die Fähigkeit, erstklassige Datensätze sorgfältig zu kuratieren, gründliche Modellevaluierungen durchzuführen, Fehler zu lokalisieren, Einbettungen zu visualisieren und den Weg zur Produktion zu rationalisieren.
Warum FiftyOne und Zilliz Cloud (Milvus)
Vektorsuchmaschinen wie Milvus rationalisieren den Prozess der Speicherung, Indizierung und Suche von Vektoreinbettungen für die wachsende Zahl von KI-Anwendungen, die jeden Tag erstellt werden.
Für diejenigen, die die Vektorsuche in Bild- oder Video-Workflows integrieren, können sich Herausforderungen ergeben, wie die Implementierung von cross-modalem Retrieval oder die Einbindung traditioneller Suchfilter. FiftyOne bietet eine Lösung als Computer Vision Interface für die Vektorsuche. Mit der nativen Integration von Milvus ermöglicht FiftyOne Anwendern die nahtlose Nutzung ihrer bevorzugten Vektorsuchmaschine für eine effiziente visuelle Datensuche mit nur einer einzigen Zeile Code. Ob es darum geht, ähnliche Bilder zu finden oder nach bestimmten Objekten innerhalb von Bildern zu suchen, FiftyOne vereinfacht den Prozess und ermöglicht es Anwendern, ihre Suchziele mühelos zu erreichen.
Bei der Integration der Vektorsuche in Bild- oder Videodaten-Workflows können verschiedene Herausforderungen auftreten:
- Die Implementierung von cross-modalem Retrieval, wie z.B. die Suche nach Bildern basierend auf zugehörigem Text.
- Einbeziehung traditioneller Suchfilter wie Vertrauensschwellen oder Klassenbezeichnungen.
- Suche nach bestimmten Objekten innerhalb von Bildern, z. B. Menschen, Katzen, Hunde, Autos, Fahrräder usw.
Wie man FiftyOne und Zilliz Cloud nutzt
Um Milvus mit FiftyOne zu verwenden, um einen Ähnlichkeitsindex auf Ihren FiftyOne-Datensätzen zu erstellen und diesen zur Abfrage Ihrer Daten zu verwenden, gehen Sie wie folgt vor:
- Laden Sie Ihren Datensatz in FiftyOne
- Geben Sie das Modell an, mit dem Sie die Einbettungsvektoren generieren wollen, und konfigurieren Sie, ob Sie Milvus oder Zilliz Cloud zum Speichern dieser Einbettungsvektoren verwenden wollen
- Verwenden Sie die Methode "compute_similarity()", um einen Milvus-Ähnlichkeitsindex für die Proben oder Objektfelder in einem Datensatz zu erzeugen, indem Sie den Parameter backend="milvus" setzen und einen brain_key Ihrer Wahl angeben.
- Verwenden Sie diesen Milvus-Ähnlichkeitsindex, um Ihre Daten mit "sort_by_similarity()" abzufragen.
Milvus einrichten
## Milvus einrichten ## Docker-Container herunterladen und starten + pip install pymilvus ## erzeugen einen Ähnlichkeitsindex ## mit CLIP-Modelleinbettungen ## Milvus Backend verwenden fob.compute_similarity( dataset, brain_key="milvus_clip_index", backend="milvus", metric="dotproduct"Abfrage Milvus
## ID der ersten Probe ermitteln query = dataset.skip(1).first().id ## Finde die 25 ähnlichsten Bilder mit Milvus Backend sim_view = dataset.sort_by_similarity( Abfrage, k=25, brain_key="milvus_clip_index" ) ## Ergebnisse anzeigen session = fo.launch_app(sim_view)Mehr erfahren
Schauen Sie sich diese Tutorials an, um zu lernen, wie man die FiftyOne und Milvus / Zilliz Cloud benutzt.