Панель мониторинга WinML

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

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

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

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

При создании приложения из источника вам потребуется следующее:

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

Все шесть предварительных требований должны быть добавлены в путь среды. Обратите внимание, что 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, чтобы создать и запустить настольное приложение, которое запустит Dashboard.

Все доступные команды панели мониторинга можно просмотреть на package.json.

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

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

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

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

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

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

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

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

Вкладка Convert поддерживает преобразование в ONNX из следующих исходных платформ:

  • Apple Core ML
  • TensorFlow (подмножество моделей, преобразованных в ONNX)
  • Керас
  • 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. Текст выводит текстовый файл, содержащий измерения, тип данных и необработанные данные тензора, созданные этим оператором. PNG будет форматировать эти данные в файл изображения, который может быть полезным для приложений компьютерного зрения.

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

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

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

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

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