Поделиться через


Информационная панель WinML

Информационная панель WinML представляет собой инструмент для просмотра, редактирования, преобразования и проверки моделей машинного обучения для механизма формирования выводов в Windows ML. Эта платформа интегрирована в ОС Windows 10 и позволяет оценивать обученные модели на локальных устройствах Windows, применяя аппаратные оптимизации для ЦП и GPU, чтобы с высокой производительностью создавать выводы.

Получение инструмента

Информационную панель WinML можно скачать отсюда или скомпилировать из исходного кода по приведенным ниже инструкциям.

Сборки из исходного кода

Для сборки приложения из исходного кода вам потребуются следующие компоненты.

Требования Версия Загрузка Команда для проверки наличия
Python3 3.4+ здесь python --version
Yarn latest здесь yarn --version
Node.js latest здесь node --version
Git latest здесь git --version
MSBuild latest здесь msbuild -version
Nuget latest здесь nuget help

Все шесть обязательных компонентов необходимо добавить в переменную среды PATH. Обратите внимание, что MSBuild и Nuget будут включены в установку Visual Studio 2017.

Процесс сборки и запуска

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

  1. В командной строке клонируйте репозиторий git clone https://github.com/Microsoft/Windows-Machine-Learning.
  2. В этом репозитории введите следующую команду, чтобы перейти в нужную папку: cd Tools/WinMLDashboard.
  3. Выполните git submodule update --init --recursive, чтобы обновить Netron.
  4. Запустите yarn, чтобы скачать зависимости.
  5. Теперь выполните yarn electron-prod, чтобы собрать и запустить классическое приложение, то есть информационную панель.

Все доступные в информационной панели команды можно изучить в файле package.json.

Просмотр и редактирование моделей

В информационной панели используется Netron для просмотра моделей машинного обучения. В WinML используется формат ONNX, но средство просмотра Netron поддерживает несколько разных форматов платформ.

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

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

Кнопка Edit/View переключает режимы редактирования и просмотра. Режим просмотра не позволяет изменять модель, но включает встроенные возможности средства просмотра Netron, например возможность просмотра подробных сведений о каждом узле.

Просмотр и редактирование моделей

Преобразование моделей

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

На вкладке Convert (Преобразование) можно преобразовать в формат ONNX модели следующих платформ:

  • Apple Core ML;
  • TensorFlow (для тех моделей, которые поддерживают преобразование в ONNX);
  • Keras
  • Scikit-learn (для тех моделей, которые поддерживают преобразование в ONNX);
  • Xgboost;
  • LibSVM

Также это средство поддерживает проверку преобразованной модели с использованием встроенной подсистемы вывода в Windows ML на основе синтетических (по умолчанию) или реальных входных данных на ЦП или GPU.

Преобразование модели

Проверка моделей

Когда ваша модель ONNX будет готова, вы сможете проверить успешность преобразования, попытавшись оценить эту модель в подсистеме вывода в Windows ML. Эти процессы выполняются на вкладке Run (см. фрагмент ниже).

Здесь вы можете выбрать разные сценарии оценки: на ЦП (по умолчанию) или на GPU, с реальными или синтетическими (по умолчанию) данными и т. д. Результат оценки отображается в окне консоли в нижней части экрана.

Обратите внимание, что возможность проверки доступна только в обновлении Windows 10 за октябрь 2018 г. или в более новых версиях Windows 10, так как это средство имеет зависимость от подсистемы вывода в Windows ML.

Проверка модели

Отладка вывода

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

Для отладки модели выполните следующие действия.

  1. Перейдите на вкладку Edit и выберите оператор, для которого вы намерены собрать промежуточные данные. На боковой панели вы увидите меню Debug, где можно выбрать нужный формат промежуточных данных для сбора. Параметры в настоящее время являются текстом и PNG. Вариант Text создаст текстовый файл с измерениями, типом данных и значениями тензора, созданным этим оператором. PNG будет форматировать эти данные в файл изображения, который может быть полезным для приложений компьютерного зрения.

Отладка модели

  1. Перейдите на вкладку Run и выберите модель для отладки.
  2. В поле Capture выберите из раскрывающегося списка Debug.
  3. Выберите входное изображение или CSV-файл, которые будут переданы в модель во время выполнения. Обратите внимание, что это обязательный шаг для сбора данных отладки.
  4. Выберите папку выходных данных, куда будут экспортироваться данные отладки.
  5. Выберите Run. Когда выполнение завершится, вы сможете перейти в указанную папку и просмотреть собранные данные отладки.

Запуск модели

Вы также можете открыть режим просмотра отладочных данных в приложении Electron любым из следующих способов.

  • Выполните его с атрибутом flag --dev-tools.
  • Выберите View -> Toggle Dev Tools в меню приложения.
  • Нажмите сочетание клавиш Ctrl + Shift + I.