Что такое FiftyOne
FiftyOne - это решение с открытым исходным кодом для разработки моделей компьютерного зрения. Будучи набором инструментов для машинного обучения, FiftyOne позволяет командам, занимающимся наукой о данных, повышать эффективность моделей компьютерного зрения с помощью различных функций. Среди них - возможность тщательного сбора первоклассных наборов данных, проведения тщательной оценки моделей, выявления ошибок, визуализации вкраплений и оптимизации процесса подготовки к производству.
Почему FiftyOne и Zilliz Cloud (Milvus)
Векторные поисковые системы, такие как Milvus, упрощают процесс хранения, индексации и поиска векторных вкраплений для растущего числа приложений искусственного интеллекта, создаваемых каждый день.
Для тех, кто интегрирует векторный поиск в рабочие процессы с изображениями или видео, могут возникнуть такие проблемы, как реализация кросс-модального поиска или включение традиционных поисковых фильтров. FiftyOne предлагает решение в виде интерфейса компьютерного зрения для векторного поиска. Благодаря встроенной интеграции с Milvus, FiftyOne позволяет пользователям без труда использовать предпочтительный векторный поисковый движок для эффективного визуального поиска данных с помощью всего одной строки кода. Будь то поиск похожих изображений или поиск конкретных объектов внутри изображений, FiftyOne упрощает этот процесс, позволяя пользователям без труда достигать поставленных целей поиска.
При интеграции векторного поиска в рабочие процессы с изображениями или видеоданными может возникнуть ряд проблем:
- Реализация кросс-модального поиска, например, поиск изображений по связанному с ними тексту.
- Включение традиционных фильтров поиска, таких как пороги доверия или метки классов.
- Поиск конкретных объектов на изображениях, например людей, кошек, собак, автомобилей, велосипедов и т. д.
Как использовать FiftyOne и Zilliz Cloud
Использование Milvus с FiftyOne, создание индекса сходства для ваших наборов данных FiftyOne и использование его для запросов к вашим данным осуществляется следующим образом:
- Загрузите набор данных в FiftyOne.
- Укажите модель, которую вы хотите использовать для генерации векторов вкраплений, и укажите, хотите ли вы использовать Milvus или Zilliz Cloud для хранения этих векторов вкраплений.
- Используйте метод
compute_similarity()для генерации индекса сходства Milvus для образцов или патчей объектов в наборе данных, задав параметр backend="milvus" и указав ключ brain_key по вашему выбору. - Используйте этот индекс сходства Milvus для запроса данных с помощью метода
sort_by_similarity().
Настройка Milvus
## setup milvus ## загрузите и запустите докер-контейнер + pip install pymilvus ## генерируем индекс сходства ## с вкраплениями модели CLIP ## использование бэкенда Milvus fob.compute_similarity( dataset, brain_key="milvus_clip_index", backend="milvus", metric="dotproduct"Запрос к Milvus
## Получение идентификатора первого образца query = dataset.skip(1).first().id ## найдите 25 наиболее похожих изображений с помощью бэкенда Milvus sim_view = dataset.sort_by_similarity( запрос, k=25, brain_key="milvus_clip_index" ) ## отображение результатов session = fo.launch_app(sim_view)Узнать больше
Ознакомьтесь с этими руководствами, чтобы узнать, как использовать FiftyOne и Milvus / Zilliz Cloud.