Классификация изображений с помощью PyTorch и Windows ML

Header image for PyTorch

Из этого руководства вы узнаете, как обучить модель нейронной сети для классификации изображений с помощью PyTorch, экспортировать модель в формат ONNX и развернуть ее в приложении Windows Machine Learning, локально работающем на устройстве с Windows.

Требуются базовые знания языков Python и C#. Желательно иметь опыт работы с машинным обучением, но это не является обязательным требованием.

Если вы хотите перейти непосредственно к установке, см. статью Установка PyTorch.

Если вы уже настроили PyTorch, запустите процесс обучения модели. Для этого нужно получить данные.

Когда у вас будут данные, можно начать обучение модели, а затем преобразовать ее в формат ONNX.

Если у вас есть модель ONNX и вы хотите узнать, как создать приложение WinML с нуля, перейдите к статье Развертывание модели.

Примечание.

При желании вы можете клонировать репозиторий примеров Windows Machine Learning и выполнить готовый код для работы с этим руководством. Решение для обучения с использованием PyTorch можно найти здесь, а готовое приложение Windows ML — здесь. Если вы используете файл PyTorch, обязательно настройте соответствующий интерпретатор PyTorch перед запуском.

Сценарий

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

Предварительные требования для обучения модели с помощью PyTorch:

PyTorch поддерживают следующие дистрибутивы Windows:

  • Windows 7 и более поздних версий. Рекомендуем использовать Windows 10 или более поздней версии.
  • Windows Server 2008 r2 и более поздних версий.

Чтобы использовать Pytorch в Windows, необходимо установить Python 3.x. Python 2.x не поддерживается.

Предварительные требования для развертывания приложения Windows ML

Чтобы создать и развернуть приложение WinML, вам потребуется следующее:

  • Windows 10 версии 1809 (сборка 17763) или выше. Номер версии сборки можно выяснить, запустив winver через интерфейс "Выполнить" (вызывается сочетанием клавиш (Windows logo key + R)).
  • Windows SDK для сборки 17763 или более поздней версии. Пакет SDK можно получить здесь.
  • Visual Studio 2017 версии 15.7 или выше. Рекомендуем использовать Visual Studio 2019. Если вместо этого используется VS2017, некоторые снимки экрана, приведенные в этом руководстве, могут отличаться от фактического интерфейса. Visual Studio можно получить здесь.
  • Расширение Visual Studio "Генератор кода Windows ML" (mlgen). Можно скачать расширение для VS 2019 или VS 2017.
  • Также необходимо включить на компьютере режим разработчика.

Примечание.

API-интерфейсы Windows ML встроены в последние версии Windows 10 (1809 или более поздней версии) и Windows Server 2019. Если целевая платформа является более ранней версией Windows, вы можете перенести приложение WinML в распространяемый пакет NuGet (Windows 8.1 или более поздней версии).

Дальнейшие действия

Начнем с установки PyTorch и настройки нашей среды.

Важно!

PyTorch, логотип PyTorch и все связанные знаки являются товарными знаками Facebook, Inc.