通过 Windows 开发扩展 Windows ML 和 DirectML 的覆盖范围
自最初发布以来,Windows ML在Windows上提供了无数机器学习(ML)体验。 Windows ML旨在通过各种Windows硬件提供可靠的高性能结果,旨在简化ML的部署,使开发人员可以专注于创建创新的应用程序。
Windows ML建立在ONNX运行时的基础上,提供了一个简单的,基于模型的,针对Windows开发人员优化的WinRT API。使用此API,您可以采用ONNX模型并将其无缝集成到应用程序中,以增强ML体验。 DirectML API位于ONNX运行时下面,用于跨供应商的硬件加速。 DirectML是DirectX系列的一部分,并提供对实时,关键性能场景的完全控制。
这种端到端的堆栈使开发人员能够在任何Windows设备上运行推理,而无需考虑计算机的硬件配置如何,这些操作全部来自一个兼容的代码库。
该图显示了Windows AI Platform堆栈。
Windows ML用于各种实际应用程序场景。 Windows Photos应用程序使用它来帮助组织照片集,以提供更轻松,更丰富的浏览体验。 Windows墨水堆栈使用Windows ML分析您的笔迹,将墨水笔划转换为文本,形状,列表等。 Adobe Premier Pro提供了一项功能,可以将您的视频并裁剪为您选择的宽高比,同时保留每个帧中的重要动作。
在Windows 10的下一个发行版中,我们将继续以此势头为基础,并进一步扩展以支持更多令人兴奋的独特体验。社区的兴趣和参与提供了宝贵的反馈,使我们能够专注于客户最需要的东西。今天,我们很高兴与您分享一些重要的反馈意见,以及我们将如何不断地以此为基础。
将Windows ML和DirectML带到更多地方
如今,Windows 10版本1809(2018年10月更新)及更高版本已完全支持Windows ML作为内置Windows组件。开发人员可以使用相应的Windows软件开发套件(SDK),并立即开始在其应用程序中使用Windows ML。对于希望继续使用此内置版本的开发人员,我们将继续更新和创新Windows ML,并为您提供每个新Windows版本所需的功能集和性能。
我们听到的一个普遍反馈是,当今的开发人员希望能够向所有客户提供具有同等功能的产品和应用程序。换句话说,开发人员希望在针对较旧版本Windows的应用程序上使用Windows ML,而不仅仅是最新版本。为了支持这一点,我们将使Windows ML作为独立的软件包提供,可以与您的应用程序一起提供。此可重新分配的路径使Windows ML支持Windows 8.1和更高版本上的CPU推理,以及Windows 10 1709和更高版本上的GPU硬件加速。
展望未来,随着Windows ML的每个新更新,将在GitHub上提供相应的redist包,其中包含匹配的新功能和优化。开发人员会发现,无论选择哪种选择,他们都将获得经过广泛测试的官方Windows产品,从而保证了可靠性和高性能。
Windows ML,ONNX运行时和DirectML
除了将Windows ML支持引入更多版本的Windows外,我们还将Windows ML,ONNX Runtime和DirectML统一为我们的方法。作为该堆栈的核心,ONNX Runtime被设计为跨平台推理引擎。使用Windows ML和DirectML,我们围绕此运行时进行构建,以提供针对Windows和各种硬件生态系统而设计的丰富功能和硬件扩展。
我们了解开发人员在构建可提供出色客户体验并同时达到广泛客户群的应用程序时所面临的复杂性。为了为开发人员提供适当的灵活性,我们将Windows ML API和DirectML执行提供程序引入ONNX Runtime GitHub项目。开发人员现在可以选择最适合其应用场景的API集,并且仍将受益于DirectML在Windows生态系统支持的各种设备上的高性能和一致的硬件加速。
在今天的GitHub中,Windows ML和DirectML预览可作为源提供,其中包含有关如何构建Windows ML和DirectML的说明和示例,以及用于CPU部署的预构建NuGet软件包。
您是Windows应用程序开发人员,需要友好的WinRT API,该API将轻松与您的其他应用程序代码集成并针对Windows设备进行优化吗? Windows ML是一个完美的选择。您是否需要使用单一代码路径构建可在其他非Windows设备上运行的应用程序? ONNX Runtime跨平台C API可以提供这一点。
已经使用ONNX运行时C-API并希望签出DirectML EP(预览版)的开发人员可以按照以下步骤进行操作。
- 点赞
- 收藏
- 关注作者
评论(0)