【问题标题】:Difference between WinML and OnnxRuntime for WPF in C#C# 中 WPF 的 WinML 和 OnnxRuntime 之间的区别
【发布时间】:2020-12-09 07:56:54
【问题描述】:

要将经过训练的 Onnx 模型与 WPF .Net Core 3.1 应用程序打包在一起,我想知道这两种方法是否有任何区别:Microsoft.ML.OnnxRuntime 和 Microsoft.AI.MachineLearning (WinML)? OnnxRuntime 似乎更容易用 C# 实现,而 WinML 的桌面应用程序示例使用 C++。

使用 OnnxRuntime 为公共用户部署 Onnx 模型有什么缺点吗?还是需要特定的推理环境?

如果两种不同的方法本质上是相同的,为什么微软还需要维护它们?

【问题讨论】:

  • 我相信 WinML 只是 Windows,而 ML.NET 是跨平台的。另外,我不确定他们是否在积极支持 WinML,但 ML.NET 仍然在添加功能和错误修复。
  • 我对 ONNX 和 WinML 之间的比较更感兴趣。

标签: c# ml.net onnx onnxruntime windows-machine-learning


【解决方案1】:

感谢您提出的好问题。使用 Microsoft.AI.MachineLearning 可为您在任何 Windows 设备上进行 ML 推理提供高性能和可靠的硬件加速。 ONNX 运行时专注于成为跨平台推理引擎。 Microsoft.AI.MachineLearning 实际上利用 ONNX 运行时优化 CPU 性能,并利用 DirectML 后端优化 GPU 加速。 This diagram 展示了 Windows ML 的完整堆栈。

【讨论】:

    猜你喜欢
    • 2023-04-10
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 2013-05-02
    • 2017-09-22
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多