Расширьте возможности своего обучения с помощью данных SERP

Это часть серии блогов по внедрению искусственного интеллекта. Если вас интересует предыстория этой истории или ее развитие:

На предыдущих неделях мы изучали, как создать настраиваемый элемент управления процессом обучения для автоматического обучения. На этой неделе мы поговорим о расширении возможностей вашего обучения с помощью данных SERP и об автоматическом тестировании обученных моделей.

Как очистить Google Images с определенным размером изображения и типом объекта?

У Google есть отличный вариант для получения изображений только с указанным размером и еще один вариант для получения изображений с указанной темой.

Например, если мы запросим blackberry, мы получим телефон Blackberry и фрукты всех размеров:

Это может создать проблемы в тренировочном процессе. Если вы хотите провести различие между плодом ежевики и фруктом апельсином, и если в ваших обучающих данных также есть телефон Blackberry, точность классификации будет ниже по сравнению с обучающими данными, полными изображений с телефоном Blackberry.
Также имеет значение размер изображений. Мы выполняем все виды операций с нечеткими изображениями в обучающем наборе данных, прежде чем подвергнуть его обучению. Разве не было бы здорово, если бы у нас были изображения плодов ежевики указанного размера? Вот где SerpApi приходит на помощь:

Если ввести в Google поисковый запрос blackberry imagesize:500x500, а затем нажать на вкладку fruit, Google выдаст изображения плодов ежевики с указанными размерами:

Теперь если скопировать ссылку поиска, в моем случае это:

https://www.google.com/search?q=blackberry+imagesize%3A500x500&oq=blackberry+imagesize%3A500x500&hl=en&tbm=isch&chips=q:blackberry,g_1:fruit:w5Q4DTH5fCg=&sourceid=chrome&ie=UTF-8

и замените часть https://www.google.com на https://serpapi.com:

https://serpapi.com/search?q=blackberry+imagesize%3A500x500&oq=blackberry+imagesize%3A500x500&hl=en&tbm=isch&chips=q:blackberry,g_1:fruit:w5Q4DTH5fCg=&sourceid=chrome&ie=UTF-8

Вас встретит вот такая страница:

Вам понадобится учетная запись для использования SerpApi Google Images Scraper API. Вы можете зарегистрироваться, чтобы получить бесплатные кредиты. SerpAoi может понять URL-адрес и его параметры и разбить параметры для вас. Нам понадобится извлеченный параметр chips.

Та же структура применяется для апельсинов:

Изменения в Кодексе

Я обновил определение класса запроса для поддержки параметра chips. Таким образом, мы можем запросить SerpApi со следующим словарем:

Вы можете изменить параметр ijn с 0 на 1, чтобы разбивать на страницы следующие 100 результатов из Google, автоматически загружая результаты в базу данных хранилища.

Та же структура применима и к апельсину:

Я обновил функцию инициализации класса с поддержкой класса с именем TestCommands:

Я также добавил дополнительную функцию для вызова изображения с указанным идентификатором и выполнения преобразований, если это необходимо:

Я также добавил новую функцию в объект ImagesDatabase для вызова всех уникальных идентификаторов определенной классификации:

Здесь следует отметить, что если не указано явно, все классификации будут соответствовать выполненному запросу. Таким образом, blackberry и blackberry imagesize:500x500 будут двумя разными классификациями. Таким образом, мы можем вызывать только те изображения ежевики, которые являются фруктами и имеют заданные размеры.

Вот объект TestCommands для запуска тестов:

Поскольку я еще не создал настраиваемый объект модели, мы будем использовать только CNN. Как видите, в нем есть все элементы, необходимые для вызова файла модели и создания прогноза. Входные данные будут подвергаться тем же преобразованиям, что и процесс обучения. Однако, например, изменение размера до того же размера не создаст никаких искажений.

Вот класс Test, который мы будем использовать для наших тестов:

Он вызовет базу данных изображений для указанных классификаций и протестирует модель со всеми изображениями (еще не указал предел для каждой классификации) и вернет точность модели.

Наконец, давайте укажем конечную точку для тестирования:

Обучение и тестирование автоматически

Я загрузил 2 страницы изображений blackberry imagesize:500x500 и 2 страницы orange imagesize:500x500 в свое хранилище с помощью SerpApi's Google Images Scraper API

Я использовал следующий файл словаря для обучения модели:

Затем я использовал следующий словарь для проверки модели:

Вот ответ, который я получил от конечной точки тестирования:

Это, конечно, не является репрезентативным для фактического варианта использования, поскольку это небольшое обучение, и тест был проведен на изображениях, на которых модель уже обучена. Но вы можете передать ключ ids вместо label_names, чтобы не использовать один и тот же набор. Но это представитель использования данных SERP, чтобы избавиться от некоторых процедур очистки данных.

Заключение

Я благодарен читателю за его время и внимание, и я благодарен Блестящим людям SerpApi за то, что эта запись в блоге стала возможной. В ближайшие недели мы изучим, как в дальнейшем получить индивидуальный контроль над обучением, обрабатывать некоторые действия с асинхронными процессами и, надеюсь, открыть весь код, чтобы он стал репозиторием с открытым исходным кодом, как только он станет достаточно конкретным.

Первоначально опубликовано на https://serpapi.com 14 июля 2022 г.

Повышение уровня кодирования

Спасибо, что являетесь частью нашего сообщества! Больше контента в публикации Level Up Coding.
Подписывайтесь: Twitter, LinkedIn, Информационный бюллетень
Level Up трансформирует рекрутинг в сфере технологий 👉 Присоединяйтесь к нашему коллективу талантов