Windows Machine Learning 시작
앱에서 Windows Machine Learning을 사용하는 방법에는 여러 가지가 있습니다. 핵심에는 몇 가지 간단한 단계가 필요합니다.
학습된 ONNX(Open Neural Network Exchange) 모델을 가져오거나 ONNXMLTools를 사용하여 다른 ML 프레임워크에서 학습된 모델을 ONNX로 변환합니다.
애플리케이션에 ONNX 모델 파일을 추가하거나 대상 디바이스에서 다른 방법으로 사용할 수 있도록 합니다.
애플리케이션 코드에 모델을 통합한 다음, 애플리케이션을 빌드하고 배포합니다.
기본 솔루션과 NuGet WinML 솔루션 비교
아래 표에는 Windows ML용으로 제공되는 기본 솔루션과 NuGet 패키지의 가용성, 배포 방식, 언어 지원, 서비스 및 다음 버전과의 호환성이 설명되어 있습니다.
속성 | 기본 | NuGet |
---|---|---|
가용성 | Windows 10 버전 1809 이상 | Windows 8.1 이상 |
배포 | Windows SDK에 기본 제공 | 애플리케이션에 포함된 패키지 및 배포판 |
서비스 제공 | Microsoft 제공(고객 혜택 자동) | 개발자 제공 |
이후 버전과의 호환성 | 새 기능으로 자동 롤 포워드 | 개발자가 수동으로 패키지를 업데이트해야 함 |
기본 솔루션으로 애플리케이션을 실행하는 경우 Windows ML 런타임(ONNX 모델 추론 엔진 포함)은 Windows 10 디바이스(또는 서버 배포를 목적으로 하는 경우 Windows Server 2019)에서 학습된 모델을 평가합니다. Windows ML은 하드웨어 추상화를 처리하므로 개발자는 CPU, GPU는 물론이고 향후 AI 가속기를 포함한 광범위한 실리콘을 목표로 할 수 있습니다. Windows ML 하드웨어 가속은 DirectX 제품군의 일부로 ML 추론을 실행하기 위한 성능이 뛰어난 하위 수준의 API인 DirectML을 기반으로 빌드됩니다.
NuGet 패키지의 경우 이러한 레이어는 아래 다이어그램의 이진 파일로 표시됩니다. Windows ML은 Microsoft.ai.machinelearning.dll에 기본 제공됩니다. 임베디드 ONNX 런타임은 여기에 포함되지 않으며, 그 대신 ONNX 런타임이 onnxruntime.dll 파일에 기본 제공됩니다. WindowsAI NuGet 패키지 내부에는 임베디드 DirectML EP가 포함되어 있습니다. 최종 이진 파일인 DirectML.dll은 DirectML의 실제 플랫폼 코드이며 Windows에 기본 제공되는 Direct 3D 및 컴퓨팅 드라이버를 기반으로 빌드됩니다. 이러한 세 가지 이진 파일이 모두 NuGet 릴리스에 포함되어 있으므로 애플리케이션과 함께 배포할 수 있습니다.
또한 onnxruntime.dll에 직접 액세스하여 플랫폼 간 시나리오를 대상으로 하는 동시에 모든 Windows 디바이스에서 스케일링되는 동일한 하드웨어 독립적 가속이 가능합니다.
Microsoft의 다른 기계 학습 솔루션
Microsoft는 사용자의 요구 사항에 맞는 다양한 기계 학습 솔루션을 제공합니다. 이러한 솔루션은 클라우드, 온-프레미스 및 로컬 디바이스에서 실행됩니다. 자세한 내용은 Microsoft의 기계 학습 제품 옵션이란?을 참조하세요.
자세한 정보
Windows ML NuGet 패키지를 사용하려면 자습서: 기존 WinML 앱을 NuGet 패키지에 이식을 참조하세요.
최신 Windows ML 기능 및 수정은 릴리스 정보를 참조하세요.
참고 항목
Windows ML에 대한 도움말은 다음 리소스를 참조하세요.
- Windows ML에 대한 기술적인 질문을 하거나 질문에 답하려면, Stack Overflow에서 windows-machine-learning 태그를 사용하세요.
- 버그를 보고하려면 GitHub에서 문제를 제출하세요.