DirectML คือไลบรารี DirectX 12 ที่เร่งด้วยฮาร์ดแวร์ประสิทธิภาพสูงสำหรับการเรียนรู้ของเครื่อง DirectML ให้การเร่งความเร็ว GPU สำหรับงานแมชชีนเลิร์นนิงทั่วไปในฮาร์ดแวร์และไดรเวอร์ที่รองรับที่หลากหลาย รวมถึง GPU ที่รองรับ DirectX 12 ทั้งหมดจากผู้ขายเช่น AMD, Intel, NVIDIA และ Qualcomm
เมื่อใช้แบบสแตนด์อโลน DirectML API จะเป็นไลบรารี DirectX 12 ระดับต่ำ และเหมาะสำหรับแอปพลิเคชันประสิทธิภาพสูง เวลาแฝงต่ำ เช่น เฟรมเวิร์ก เกม และแอปพลิเคชันแบบเรียลไทม์อื่นๆ การทำงานร่วมกันอย่างราบรื่นของ DirectML กับ Direct3D 12 รวมถึงค่าใช้จ่ายที่ต่ำและความสอดคล้องกันของฮาร์ดแวร์ ทำให้ DirectML เหมาะอย่างยิ่งสำหรับการเร่งการเรียนรู้ของเครื่องเมื่อต้องการประสิทธิภาพสูง และความน่าเชื่อถือและความสามารถในการคาดเดาของผลลัพธ์จากฮาร์ดแวร์เป็นสิ่งสำคัญ
ข้อมูลเพิ่มเติมเกี่ยวกับ DirectML สามารถพบได้ใน Introduction to DirectML
เยี่ยมชม DirectX Landing Page เพื่อดูแหล่งข้อมูลเพิ่มเติมสำหรับนักพัฒนา DirectX
DirectML ได้รับการเผยแพร่เป็นส่วนประกอบระบบของ Windows 10 และพร้อมใช้งานโดยเป็นส่วนหนึ่งของระบบปฏิบัติการ (OS) Windows 10 ใน Windows 10 เวอร์ชัน 1903 (10.0; Build 18362) และใหม่กว่า
ตั้งแต่ 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 ตัวอย่างต้องใช้ PyDirectML ซึ่งเป็นไลบรารีการฉายภาพ Python แบบโอเพ่นซอร์สสำหรับ DirectML ซึ่งสามารถสร้างและติดตั้งในสภาพแวดล้อมการดำเนินการ Python จาก Python/src โปรดดูไฟล์ Python/README.md สำหรับรายละเอียดเพิ่มเติม
DxDispatch เป็นไฟล์สั่งการแบบบรรทัดคำสั่งง่ายๆ สำหรับการเรียกใช้โปรแกรมคำนวณ DirectX 12 (รวมถึงตัวดำเนินการ DirectML) โดยไม่ต้องเขียนต้นแบบ C++ ทั้งหมด
Windows ML (WinML) เป็น API ประสิทธิภาพสูงและเชื่อถือได้สำหรับการปรับใช้การอนุมาน ML ที่เร่งด้วยฮาร์ดแวร์บนอุปกรณ์ Windows DirectML ให้แบ็กเอนด์ GPU สำหรับ Windows ML
สามารถเปิดใช้งานการเร่งความเร็ว DirectML ใน Windows ML ได้โดยใช้ LearningModelDevice กับ DirectX DeviceKinds อันใดอันหนึ่ง
สำหรับข้อมูลเพิ่มเติม โปรดดูที่ เริ่มต้นใช้งาน Windows ML
ONNX Runtime เป็นตัวเร่งการอนุมานและการฝึกอบรมข้ามแพลตฟอร์มที่เข้ากันได้กับเฟรมเวิร์ก ML/DNN ยอดนิยมมากมาย รวมถึง PyTorch, TensorFlow/Keras, scikit-learn และอื่นๆ อีกมากมาย
DirectML พร้อมใช้งานในฐานะ ผู้ให้บริการดำเนินการ เสริมสำหรับ ONNX Runtime ที่ให้การเร่งด้วยฮาร์ดแวร์เมื่อทำงานบน Windows 10
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นใช้งาน โปรดดูที่การใช้ผู้ให้บริการดำเนินการ DirectML
PyTorch พร้อม DirectML ช่วยให้สามารถฝึกอบรมและการอนุมานโมเดลการเรียนรู้ของเครื่องที่ซับซ้อนบนฮาร์ดแวร์ที่รองรับ DirectX 12 ที่หลากหลาย ทำได้ผ่าน torch-directml
ซึ่งเป็นปลั๊กอินสำหรับ PyTorch
PyTorch พร้อม DirectML รองรับทั้ง Windows เวอร์ชันล่าสุดและระบบย่อย Windows สำหรับ Linux และพร้อมให้ดาวน์โหลดเป็นแพ็คเกจ PyPI สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นใช้งาน torch-directml
โปรดดูคำแนะนำสำหรับ Windows หรือ WSL 2 บน Microsoft Learn
TensorFlow เป็นแพลตฟอร์มโอเพ่นซอร์สยอดนิยมสำหรับแมชชีนเลิร์นนิง และเป็นเฟรมเวิร์กชั้นนำสำหรับการฝึกโมเดลแมชชีนเลิร์นนิง
การเร่งความเร็ว DirectML สำหรับ TensorFlow 1.15 พร้อมใช้งานสำหรับการดูตัวอย่างแบบสาธารณะแล้วในปัจจุบัน TensorFlow บน DirectML ช่วยให้สามารถฝึกอบรมและการอนุมานโมเดลการเรียนรู้ของเครื่องที่ซับซ้อนบนฮาร์ดแวร์ที่รองรับ DirectX 12 ที่หลากหลาย
TensorFlow บน DirectML รองรับทั้ง Windows 10 เวอร์ชันล่าสุดและระบบย่อย Windows สำหรับ Linux และพร้อมให้ดาวน์โหลดเป็นแพ็คเกจ PyPI สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นใช้งาน โปรดดูการฝึกอบรม ML ที่เร่งด้วย GPU (docs.microsoft.com)
เราหวังว่าจะได้รับการติดต่อจากคุณ!
สำหรับ TensorFlow ที่มีปัญหา DirectML ข้อบกพร่อง และข้อเสนอแนะ หรือสำหรับปัญหา DirectML ทั่วไปและคำติชม โปรดยื่นปัญหาหรือติดต่อเราโดยตรงที่ [email protected]
สำหรับ PyTorch ที่มีปัญหา DirectML ข้อบกพร่อง และข้อเสนอแนะ หรือสำหรับปัญหา DirectML ทั่วไปและคำติชม โปรดยื่นปัญหาหรือติดต่อเราโดยตรงที่ [email protected]
สำหรับปัญหา Windows ML โปรดยื่นปัญหา GitHub ได้ที่ microsoft/Windows-Machine-Learning หรือติดต่อเราโดยตรงที่ [email protected]
สำหรับปัญหา ONNX Runtime โปรดแจ้งปัญหาที่ microsoft/onnxruntime
คู่มือการเขียนโปรแกรม DirectML
การอ้างอิง DirectML API
ขอแนะนำ DirectML (การประชุมนักพัฒนาเกม '19)
เร่งการประมวลผล GPU ด้วย DirectML และ DirectX 12 (SIGGRAPH '18)
Windows AI: ML ที่เร่งด้วยฮาร์ดแวร์บนอุปกรณ์ Windows (Microsoft Build '20)
เล่นเกมด้วย Windows ML (บล็อกนักพัฒนา DirectX)
DirectML ที่ GDC 2019 (บล็อกนักพัฒนา DirectX)
DirectX ❤ Linux (บล็อกนักพัฒนา DirectX)
โครงการนี้ยินดีรับการสนับสนุนและข้อเสนอแนะ การบริจาคส่วนใหญ่กำหนดให้คุณยอมรับข้อตกลงใบอนุญาตผู้ร่วมให้ข้อมูล (CLA) โดยประกาศว่าคุณมีสิทธิ์ที่จะให้สิทธิ์แก่เราในการใช้การบริจาคของคุณจริงๆ สำหรับรายละเอียด โปรดไปที่ https://cla.microsoft.com
เมื่อคุณส่งคำขอดึง CLA-bot จะกำหนดโดยอัตโนมัติว่าคุณจำเป็นต้องจัดเตรียม CLA และตกแต่ง PR อย่างเหมาะสมหรือไม่ (เช่น ป้ายกำกับ ความคิดเห็น) เพียงทำตามคำแนะนำที่ได้รับจากบอท คุณจะต้องทำสิ่งนี้เพียงครั้งเดียวกับ repos ทั้งหมดโดยใช้ CLA ของเรา
โครงการนี้ได้นำหลักจรรยาบรรณของ Microsoft Open Source มาใช้ สำหรับข้อมูลเพิ่มเติม โปรดดูคำถามที่พบบ่อยเกี่ยวกับจรรยาบรรณหรือติดต่อ [email protected] หากมีคำถามหรือความคิดเห็นเพิ่มเติม