이 페이지에는 Windows ML에 대한 커뮤니티의 가장 인기 있는 질문에 대한 답변이 포함되어 있습니다.
내가 가진 ONNX 모델이 Windows ML로 실행될지 어떻게 알 수 있나요?
모델이 Windows ML에서 실행되는지 확인하는 가장 쉬운 방법은 WinML Model Runner 도구사용하는 것입니다. 또는 지정된 Windows 릴리스에 대해 지원되는 모든 ONNX 버전에 대한 자세한 내용은 ONNX 버전 및 Windows 빌드 확인할 수 있습니다.
다른 형식의 모델을 ONNX로 변환하려면 어떻게 해야 하나요?
WinMLTools 사용하여 Apple CoreML 및 scikit-learn과 같은 여러 다른 형식의 모델을 ONNX로 변환할 수 있습니다.
모델을 내보내거나 내 모델을 ONNX로 변환하려고 할 때 내 모델에 "지원되지 않는 연산자"가 있다고 말하는 오류가 발생합니다. 제가 뭘 해야 하나요?
네이티브 학습 프레임워크의 일부 연산자는 현재 ONNX 버전에서 지원되지 않을 수 있습니다. 먼저 대상 Windows 빌드 대해 지원되는ONNX 버전을 확인하고 모델을 지원되는 최대 버전으로 변환하는 것이 좋습니다. 이후 버전의 ONNX에는 이전 버전에 비해 더 큰 연산자 집합에 대한 지원이 포함됩니다.
문제가 계속 발생하는 경우 데이터 과학 팀과 협력하여 지원되지 않는 연산자를 방지하는 것이 좋습니다. 권장되는 방법 중 하나는 원본 프레임워크에서 모델의 아키텍처를 변경하고 모델을 대상 ONNX 버전으로 변환/내보내는 것입니다. 아직 모델을 다시 학습할 필요가 없습니다. 아키텍처를 변환하려고 시도할 수 있으며, 성공하면 모델의 전체 재학습으로 넘어갈 수 있습니다.
모델을 로드할 수 없는 이유는 무엇인가요?
모델을 로드하는 데 문제가 있을 수 있는 몇 가지 이유가 있지만 UWP에서 개발할 때 가장 일반적인 이유 중 하나는 파일 액세스 제한 때문입니다. 기본적으로 UWP 애플리케이션은 파일 시스템의 특정 부분에만 액세스할 수 있으며 다른 위치에 액세스하려면 사용자 권한 또는 추가 기능이 필요합니다. 자세한 내용은 파일 액세스 권한 참조하세요.
어떤 버전의 WinMLTools를 사용해야 하나요?
항상 최신 버전의 winmltools 패키지를 다운로드하고 설치하는 것이 좋습니다. 이렇게 하면 최신 버전의 Windows를 대상으로 하는 ONNX 모델을 만들 수 있습니다.
winmltools 대신 onnxmltools를 사용할 수 있나요?
예, 가능하지만 Windows ML에서 지원하는 최소 ONNX 버전인 ONNX v1.2.2를 대상으로 하려면 올바른 버전의 onnxmltools 설치해야 합니다. 설치할 버전을 잘 모르는 경우 최신 버전의 winmltools 설치하는 것이 좋습니다. 이렇게 하면 Windows에서 지원하는 ONNX 버전을 대상으로 지정할 수 있습니다.
자동 코드 생성(mlgen)을 가져오기 위해 사용해야 하는 Visual Studio 버전은 무엇입니까?
mlgen 지원하는 최소 권장 Visual Studio 버전은 15.8.7입니다. Windows 10 버전 1903 이상에서는 mlgen 더 이상 SDK에 포함되지 않으므로 확장을 다운로드하고 설치해야 합니다. Visual Studio 2017 및 Visual Studio 2019대한 하나가 있습니다.
mlgen을 실행하려고 할 때 오류 메시지가 표시되고 코드가 생성되지 않습니다. 무슨 일이 일어날 수 있을까요?
mlgen을 실행하려고 할 때 가장 일반적인 두 가지 오류는 다음과 같습니다.
- 필수 특성 'consumed_inputs'에없습니다. 이 오류 메시지가 표시되면 17763보다 오래된 Windows 10 SDK 버전으로 ONNX v1.2 모델을 실행하려고 할 가능성이 높습니다. SDK 버전을 확인하고 버전 17763 이상으로 업데이트하는 것이 좋습니다.
- 형식 오류: 노드(ZipMap)의 출력 인수(손실)의 형식(map(string,tensor(float)))이 예상 형식과 일치하지 않습니다.: 이 오류가 발생하면 ONNX 모델이 빌드 17763부터 WinML에서 수락한 버전보다 이전 버전일 가능성이 큽니다. 변환기 패키지를 사용 가능한 최신 버전으로 업데이트하고 모델을 1.2 버전의 ONNX로 다시 변환하는 것이 좋습니다.
WinML은 기본적으로 무엇을 실행하나요?
LearningModelDeviceKind실행할 디바이스를 지정하지 않거나 LearningModelDeviceKind.Default사용하는 경우 시스템에서 모델을 평가할 디바이스를 결정합니다. 일반적으로 CPU입니다. GPU에서 WinML을 실행하려면 LearningModelDevice만들 때 다음 값 중 하나를 지정합니다.
- LearningModelDeviceKind.DirectX
- LearningModelDeviceKind.DirectXHighPerformance
- LearningModelDeviceKind.DirectXMinPower
메모
Windows ML에 대한 도움말을 보려면 다음 리소스를 사용합니다.
- Windows ML에 대한 기술 질문을 하거나 대답하려면 Stack Overflowwindows-machine-learning 태그를 사용하세요.
- 버그를 보고하려면 GitHub문제를 제출하세요.