Информационная панель 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, выполните следующие действия.
- В командной строке клонируйте репозиторий
git clone https://github.com/Microsoft/Windows-Machine-Learning
. - В этом репозитории введите следующую команду, чтобы перейти в нужную папку:
cd Tools/WinMLDashboard
. - Выполните
git submodule update --init --recursive
, чтобы обновить Netron. - Запустите yarn, чтобы скачать зависимости.
- Теперь выполните
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 позволяет получить сведения о том, как необработанные данные проходят через операторы вашей модели. Также вы можете включить визуализацию данных, например для систем компьютерного зрения.
Для отладки модели выполните следующие действия.
- Перейдите на вкладку
Edit
и выберите оператор, для которого вы намерены собрать промежуточные данные. На боковой панели вы увидите менюDebug
, где можно выбрать нужный формат промежуточных данных для сбора. Параметры в настоящее время являются текстом и PNG. Вариант Text создаст текстовый файл с измерениями, типом данных и значениями тензора, созданным этим оператором. PNG будет форматировать эти данные в файл изображения, который может быть полезным для приложений компьютерного зрения.
- Перейдите на вкладку
Run
и выберите модель для отладки. - В поле
Capture
выберите из раскрывающегося спискаDebug
. - Выберите входное изображение или CSV-файл, которые будут переданы в модель во время выполнения. Обратите внимание, что это обязательный шаг для сбора данных отладки.
- Выберите папку выходных данных, куда будут экспортироваться данные отладки.
- Выберите
Run
. Когда выполнение завершится, вы сможете перейти в указанную папку и просмотреть собранные данные отладки.
Вы также можете открыть режим просмотра отладочных данных в приложении Electron любым из следующих способов.
- Выполните его с атрибутом
flag --dev-tools
. - Выберите
View -> Toggle Dev Tools
в меню приложения. - Нажмите сочетание клавиш
Ctrl + Shift + I
.