다음을 통해 공유


WinML 대시보드

WinML 대시보드는 Windows ML 유추 엔진에 대한 기계 학습 모델을 보고, 편집하고, 변환하고, 유효성을 검사하는 도구입니다. 엔진은 Windows 10에 기본 제공되며 CPU 및 GPU에 대한 하드웨어 최적화를 사용하여 Windows 디바이스에서 학습된 모델을 로컬로 평가하여 고성능 추론을 사용하도록 설정합니다.

도구 가져오기

여기에서 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

모든 6가지 필수 구성 요소를 환경 경로에 추가해야 합니다. 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로 모델을 쉽게 변환할 수 있습니다.

변환 탭은 다음 원본 프레임워크에서 ONNX로의 변환을 지원합니다.

  • Apple Core ML
  • TensorFlow(ONNX로 변환할 수 있는 모델의 하위 집합)
  • Keras
  • Scikit-learn(ONNX로 변환할 수 있는 모델의 하위 집합)
  • Xgboost
  • LibSVM

또한 이 도구를 사용하면 가상 데이터(기본) 또는 CPU 또는 GPU의 실시간 입력 데이터를 사용하여 기본 제공되는 Windows ML 유추 엔진을 통해 모델을 평가하여 모델을 변환할 수 있습니다.

모델 변환

모델 유효성 검사

ONNX 모델을 만든 후에는 변환이 성공적으로 수행되었는지 여부를 확인하고 Windows ML 유추 엔진에서 모델을 평가할 수 있습니다. 이 작업은 Run 탭(아래 캡처 참조)을 사용하여 수행됩니다.

CPU(기본값)와 GPU, 실제 입력과 가상 입력(기본값) 등 다양한 옵션을 선택할 수 있습니다. 모델 평가 결과가 콘솔 창 맨 아래에 나타납니다.

모델 유효성 검사 기능은 Windows 10 2018년 10월 업데이트 또는 최신 버전의 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 키를 누릅니다.