Расширьте возможности своего обучения с помощью данных SERP
Это часть серии блогов по внедрению искусственного интеллекта. Если вас интересует предыстория этой истории или ее развитие:
На предыдущих неделях мы изучали, как создать настраиваемый элемент управления процессом обучения для автоматического обучения. На этой неделе мы поговорим о расширении возможностей вашего обучения с помощью данных SERP и об автоматическом тестировании обученных моделей.
Как очистить Google Images с определенным размером изображения и типом объекта?
У Google есть отличный вариант для получения изображений только с указанным размером и еще один вариант для получения изображений с указанной темой.
Например, если мы запросим blackberry
, мы получим телефон Blackberry и фрукты всех размеров:
Это может создать проблемы в тренировочном процессе. Если вы хотите провести различие между плодом ежевики и фруктом апельсином, и если в ваших обучающих данных также есть телефон Blackberry, точность классификации будет ниже по сравнению с обучающими данными, полными изображений с телефоном Blackberry.
Также имеет значение размер изображений. Мы выполняем все виды операций с нечеткими изображениями в обучающем наборе данных, прежде чем подвергнуть его обучению. Разве не было бы здорово, если бы у нас были изображения плодов ежевики указанного размера? Вот где SerpApi приходит на помощь:
Если ввести в Google поисковый запрос blackberry imagesize:500x500
, а затем нажать на вкладку fruit
, Google выдаст изображения плодов ежевики с указанными размерами:
Теперь если скопировать ссылку поиска, в моем случае это:
и замените часть https://www.google.com
на https://serpapi.com
:
Вас встретит вот такая страница:
Вам понадобится учетная запись для использования 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 трансформирует рекрутинг в сфере технологий 👉 Присоединяйтесь к нашему коллективу талантов