Тренируйте вашу модель с помощью Custom Vision

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

Служба Azure Custom Vision — это служба распознавания изображений, которая позволяет создавать, развертывать и улучшать собственные модели распознавания изображений. Служба пользовательского визуального распознавания доступна в виде набора собственных пакетов SDK, а также через веб-интерфейс на веб-сайте Пользовательского визуального распознавания.

Создание ресурсов и проекта Custom Vision

Создание ресурса Custom Vision

Чтобы использовать службу пользовательского визуального распознавания, необходимо создать ресурсы пользовательского визуального распознавания в Azure.

  1. Перейдите на главную страницу учетной записи Azure и выберите Create a resource.

Выбор ресурсов Azure

  1. В поле поиска найдите Custom Visionи введите Azure Marketplace. Выберите Create Custom Vision , чтобы открыть диалоговое окно на странице "Создание пользовательского визуального распознавания".

Выбор пакетов

  1. На странице диалогового окна "Пользовательское визуальное распознавание" выберите следующее:
  • Выберите оба Training и Prediction ресурсы.
  • Выберите подписку для управления развернутыми ресурсами. Если вы не видите подписку Azure в меню, выйдите и снова откройте свою учетную запись Azure, используя те же учетные данные, с которыми вы открыли учетную запись.
  • Создайте новую группу ресурсов и присвойте ей имя. В этом руководстве мы назвали наш MLTraining, но вы можете выбрать собственное имя или использовать существующую группу ресурсов, если она уже у вас есть.
  • Присвойте проекту имя. В этом руководстве мы назвали наш classificationApp, но вы можете использовать любое имя по вашему выбору.
  • Для обоих TrainingPrediction ресурсов укажите расположение как "Восточная часть США" и ценовую категорию " Бесплатный FO".
  1. Нажмите Review + create, чтобы развернуть ресурсы Custom Vision. Развертывание ресурсов может занять несколько минут.

Развертывание нового ресурса пользовательского визуального распознавания

Создание проекта в пользовательском визуальном представлении

Теперь, когда вы создали ресурс, пришло время создать учебный проект в Пользовательском визуальном представлении.

  1. В веб-браузере перейдите на страницу пользовательского визуального распознавания и выберите Sign in. Войдите с той же учетной записью, которую вы использовали для входа на портал Azure.

  2. Выберите New Project , чтобы открыть новое диалоговое окно проекта.

Создание проекта

  1. Создайте проект следующим образом:
  • Name: КлассификацияПищи.
  • Description: классификация различных типов пищи.
  • Resource: сохраните тот же ресурс, который вы открыли ранее, — ClassificationApp [F0].
  • Project Types: classification
  • Classification Types: Multilabel (Multiple tags per image)
  • Domains: Food (compact).
  • Export Capabilities: Basic platforms (Tensorflow, CoreML, ONNX, ...)

Замечание

Чтобы экспортировать его в формат ONNX, убедитесь, что выбран Food (compact) домен. Не компактные домены нельзя экспортировать в ONNX.

Это важно

Если учетная запись входа связана с учетной записью Azure, в раскрывающемся списке "Группа ресурсов Azure" отобразится все группы ресурсов Azure, включающие ресурс службы пользовательского визуального распознавания. Если группа ресурсов недоступна, убедитесь, что вы вошли в customvision.ai с той же учетной записью, что и для входа на портал Azure.

  1. После заполнения диалогового окна выберите Create project.

Завершение проекта

Отправка обучаемого набора данных

Теперь, когда вы создали проект, вы отправите ранее подготовленный набор данных образов продуктов питания из Наборов открытых наборов данных Kaggle.

  1. Выберите ваш проект FoodClassification, чтобы открыть веб-интерфейс сайта Custom Vision.

  2. Нажмите кнопку Add images и нажмите кнопку Browse local files.

Диалоговое окно добавления изображений

  1. Перейдите к расположению набора данных изображения и выберите папку обучения — vegetable-fruit. Выберите все изображения в папке и выберите open. Откроется возможность тегирования.

  2. Введите vegetable-fruit в поле My Tags и нажмите Upload.

Отправка изображений

Подождите, пока первая группа изображений не будет отправлена в проект, а затем нажмите клавишу done. Выбор тега будет применен ко всей группе изображений, которые вы выбрали для отправки. Поэтому проще отправлять изображения из уже готовых групп изображений. Вы всегда можете изменить теги для отдельных изображений после их отправки.

Ход отправки изображения

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

В конце концов у вас будет три различных группы изображений, готовых к обучению.

Отображение тегов изображений

Обучение классификатора модели

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

  1. Чтобы начать учебный процесс, нажмите Train кнопку в правом верхнем углу. Классификатор будет использовать изображения для создания модели, которая определяет визуальные качества каждого тега.

Кнопка

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

В этом руководстве рекомендуется установить порог вероятности на уровне 50%.

  1. Здесь мы будем использовать Quick Training процесс. Advanced Training имеет дополнительные параметры и позволяет специально задать время, используемое для обучения, но нам не нужен этот уровень управления здесь. Нажмите, Train чтобы инициировать учебный процесс.

Выбор типа обучения

Процесс быстрого обучения займет всего несколько минут. В течение этого времени на вкладке Performance отображаются сведения о процессе обучения.

Учебный процесс

Оценка и проверка

Оценка результатов

После завершения обучения вы увидите сводку по первой итерации обучения. Она включает оценку производительности модели — точность и отзыв.

  • Точность указывает на долю определенных классификаций, которые были правильными. В нашей модели точность составляет 98,2%, поэтому если наша модель классифицирует изображение, это, скорее всего, будет прогнозироваться правильно.
  • Отзыв указывает на долю фактических классификаций, которые были правильно определены. В нашей модели полнота составляет 97,5%, что означает, что наша модель правильно классифицирует подавляющее большинство изображений, представленных ей.
  • AP обозначает дополнительную производительность. Это обеспечивает дополнительную метрику, которая суммирует точность и полноту на разных порогах.

Оценка обучения модели

Тестирование модели

Перед экспортом модели можно проверить его производительность.

  1. Выберите Quick Test в правом верхнем углу верхней строки меню, чтобы открыть новое окно тестирования.

Кнопка

В этом окне можно указать URL-адрес образа для тестирования или выбрать Browse local files для использования локально сохраненного образа.

Выбор образа для тестирования

  1. Выберите Browse local files, перейдите к набору данных продуктов питания и откройте папку проверки. Выберите любое случайное fruit-vegetable изображение из папки и нажмите клавишу open.

Результат тестирования появится на экране. В нашем тесте модель успешно классифицировала изображение с вероятностью 99,8%.

Результаты классификации тестов

Вы можете использовать прогноз для обучения на вкладке Predictions , что может повысить производительность модели. Дополнительные сведения см. в разделе "Как улучшить классификатор".

Замечание

Хотите узнать больше об API пользовательского визуального распознавания Azure? Документация по пользовательской службе визуального распознавания содержит дополнительные сведения о веб-портале пользовательского визуального распознавания и пакете SDK.

Экспорт модели в ONNX

Теперь, когда мы обучили нашу модель, мы можем экспортировать ее в ONNX.

  1. Выберите вкладку Performance и откройте Export окно экспорта.

Кнопка экспорта

  1. Выберите ONNX для экспорта модели в формат ONNX.

Выбор формата

  1. При необходимости можно выбрать ONNX 16 параметр float, но в этом руководстве нам не нужно изменять параметры. Выберите Export and Download.

Выбор платформы

  1. Откройте загруженный файл .zip и извлеките из него файл model.onnx. Этот файл содержит модель классификатора.

Поздравляю! Вы успешно создали и экспортировали модель классификации.

Дальнейшие шаги

Теперь, когда у нас есть модель классификации, следующим шагом является создание приложения Windows и его локальное запуск на устройстве Windows.