DirectML은 기계 학습을 위한 고성능 하드웨어 가속 DirectX 12 라이브러리입니다. DirectML은 AMD, Intel, NVIDIA, Qualcomm과 같은 공급업체의 모든 DirectX 12 지원 GPU를 포함하여 광범위한 지원 하드웨어 및 드라이버에서 일반적인 기계 학습 작업을 위한 GPU 가속을 제공합니다.
독립 실행형으로 사용되는 경우 DirectML API는 하위 수준 DirectX 12 라이브러리이며 프레임워크, 게임 및 기타 실시간 애플리케이션과 같은 고성능, 대기 시간이 짧은 애플리케이션에 적합합니다. Direct3D 12와 DirectML의 원활한 상호 운용성과 낮은 오버헤드 및 하드웨어 간 적합성 덕분에 DirectML은 고성능이 요구되고 하드웨어 전반에서 결과의 신뢰성과 예측 가능성이 중요한 경우 기계 학습을 가속화하는 데 이상적입니다.
DirectML에 대한 자세한 내용은 DirectML 소개에서 확인할 수 있습니다.
DirectX 개발자를 위한 더 많은 리소스를 보려면 DirectX 랜딩 페이지를 방문하세요.
DirectML은 Windows 10의 시스템 구성 요소로 배포되며 Windows 10 버전 1903(10.0, 빌드 18362) 이상에서 Windows 10 운영 체제(OS)의 일부로 사용할 수 있습니다.
DirectML 버전 1.4.0부터 DirectML은 독립 실행형 재배포 가능 패키지(Microsoft.AI.DirectML 참조)로도 제공됩니다. 이는 DirectML의 고정 버전을 사용하려는 애플리케이션이나 이전 버전의 Windows 10에서 실행할 때 유용합니다. .
DirectML에는 DirectX 12 지원 장치가 필요합니다. 지난 몇 년 동안 출시된 거의 모든 상용 그래픽 카드는 DirectX 12를 지원합니다. 호환되는 하드웨어의 예는 다음과 같습니다.
DirectML은 기본 C++ DirectX 12 API를 노출합니다. 헤더 및 라이브러리(DirectML.h/DirectML.lib)는 재배포 가능 NuGet 패키지의 일부로 제공되며 Windows 10 SDK 버전 10.0.18362 이상에도 포함되어 있습니다.
DirectML은 Windows ML, ONNX Runtime 및 TensorFlow와 같은 여러 프레임워크의 백엔드로 기본 제공됩니다.
자세한 내용은 다음 섹션을 참조하세요.
DirectML C++ 샘플 코드는 샘플에서 사용할 수 있습니다.
DirectML Python 샘플 코드는 Python/samples에서 사용할 수 있습니다. 샘플에는 Python/src에서 Python 실행 환경에 빌드하고 설치할 수 있는 DirectML용 오픈 소스 Python 프로젝션 라이브러리인 PyDirectML이 필요합니다. 자세한 내용은 Python/README.md 파일을 참조하세요.
DxDispatch는 모든 C++ 상용구를 작성하지 않고도 DirectX 12 컴퓨팅 프로그램(DirectML 연산자 포함)을 시작하기 위한 간단한 명령줄 실행 파일입니다.
Windows ML(WinML)은 Windows 장치에 하드웨어 가속 ML 추론을 배포하기 위한 안정적인 고성능 API입니다. DirectML은 Windows ML용 GPU 백엔드를 제공합니다.
DirectX DeviceKind 중 하나와 함께 LearningModelDevice를 사용하여 Windows ML에서 DirectML 가속을 활성화할 수 있습니다.
자세한 내용은 Windows ML 시작을 참조하세요.
ONNX Runtime은 PyTorch, TensorFlow/Keras, scikit-learn 등을 비롯한 많은 인기 ML/DNN 프레임워크와 호환되는 크로스 플랫폼 추론 및 교육 가속기입니다.
DirectML은 Windows 10에서 실행될 때 하드웨어 가속을 제공하는 ONNX Runtime의 선택적 실행 공급자 로 사용할 수 있습니다.
시작에 대한 자세한 내용은 DirectML 실행 공급자 사용을 참조하세요.
DirectML이 포함된 PyTorch를 사용하면 광범위한 DirectX 12 호환 하드웨어에서 복잡한 기계 학습 모델을 훈련하고 추론할 수 있습니다. 이는 PyTorch용 플러그인인 torch-directml
통해 수행됩니다.
DirectML이 포함된 PyTorch는 최신 버전의 Windows와 Linux용 Windows 하위 시스템 모두에서 지원되며 PyPI 패키지로 다운로드할 수 있습니다. torch-directml
시작에 대한 자세한 내용은 Microsoft Learn에서 Windows 또는 WSL 2 지침을 참조하세요.
TensorFlow는 머신러닝을 위한 인기 있는 오픈소스 플랫폼이자 머신러닝 모델 학습을 위한 선도적인 프레임워크입니다.
TensorFlow 1.15용 DirectML 가속은 현재 공개 미리 보기로 제공됩니다. DirectML의 TensorFlow를 사용하면 광범위한 DirectX 12 호환 하드웨어에서 복잡한 기계 학습 모델을 훈련하고 추론할 수 있습니다.
DirectML의 TensorFlow는 최신 버전의 Windows 10과 Linux용 Windows 하위 시스템 모두에서 지원되며 PyPI 패키지로 다운로드할 수 있습니다. 시작하는 방법에 대한 자세한 내용은 GPU 가속 ML 교육(docs.microsoft.com)을 참조하세요.
여러분의 의견을 기다리겠습니다!
DirectML 문제, 버그 및 피드백이 포함된 TensorFlow의 경우 또는 일반적인 DirectML 문제 및 피드백에 대해서는 문제를 제출하거나 [email protected]으로 직접 문의하세요.
DirectML 문제, 버그 및 피드백이 포함된 PyTorch의 경우; 또는 일반적인 DirectML 문제 및 피드백에 대해서는 문제를 제출하거나 [email protected]으로 직접 문의하세요.
Windows ML 문제의 경우 GitHub 문제를 microsoft/Windows-Machine-Learning에 제출하거나 [email protected]으로 직접 문의하세요.
ONNX 런타임 문제의 경우 microsoft/onnxruntime에 문제를 제출하세요.
DirectML 프로그래밍 가이드
DirectML API 참조
DirectML 소개(게임 개발자 컨퍼런스 '19)
DirectML 및 DirectX 12로 GPU 추론 가속화(SIGGRAPH '18)
Windows AI: Windows 장치의 하드웨어 가속 ML(Microsoft Build '20)
Windows ML을 사용한 게임(DirectX 개발자 블로그)
GDC 2019의 DirectML(DirectX 개발자 블로그)
DirectX ❤ Linux(DirectX 개발자 블로그)
이 프로젝트는 기여와 제안을 환영합니다. 대부분의 기여는 귀하가 귀하의 기여를 사용할 권리가 있고 실제로 그렇게 할 권리가 있음을 선언하는 기여자 라이센스 계약(CLA)에 동의해야 합니다. 자세한 내용을 보려면 https://cla.microsoft.com을 방문하세요.
끌어오기 요청을 제출하면 CLA-bot이 자동으로 CLA를 제공해야 하는지 여부를 결정하고 PR을 적절하게 장식합니다(예: 라벨, 댓글). 봇이 제공하는 지침을 따르기만 하면 됩니다. CLA를 사용하여 모든 저장소에서 이 작업을 한 번만 수행하면 됩니다.
이 프로젝트는 Microsoft 오픈 소스 행동 강령을 채택했습니다. 자세한 내용은 행동 강령 FAQ를 참조하거나 추가 질문이나 의견이 있는 경우 [email protected]으로 문의하세요.