云网牛站
所在位置:首页 > Linux新闻 > 开源神经网络交换ONNX模型的开源高性能推理引擎ONNX Runtime介绍

开源神经网络交换ONNX模型的开源高性能推理引擎ONNX Runtime介绍

2018-12-06 15:28:01作者:秦风稿源:云网牛站

微软已经宣布开放了ONNX Runtime,一款开源神经网络交换ONNX模型的开源高性能推理引擎,支持Linux,Windows和Mac操作系统。以下将向你介绍它。

 

使用ONNX Runtime的理由

ONNX Runtime是一个开放式架构,不断发展以适应和解决AI和深度学习中的最新发展和挑战。微软正运用其在内部使用ONNX Runtime进行Bing搜索,Bing Ads,Office生产力服务等。我们将使用ONNX标准使ONNX Runtime保持最新,支持所有ONNX版本以及未来的兼容性,同时保持与先前版本的向后兼容性。

ONNX Runtime一直致力于为机器学习中广泛且不断增长的使用场景提供最佳性能。重点关注以下3个核心领域:

1.运行任何ONNX模型。

2.高性能。

3.跨平台。

 

ONNX介绍

开源神经网络交换ONNX模型的开源高性能推理引擎ONNX Runtime介绍

ONNX全称是Open Neural Network Exchange,是微软和Facebook发布的一个深度学习开发工具生态系统,旨在让AI开发人员能够随着项目发展而选择正确的工具。

ONNX所针对的是深度学习开发生态中最关键的问题之一,在任意一个框架上训练的神经网络模型,无法直接在另一个框架上用。开发者需要耗费大量时间精力把模型从一个开发平台移植到另一个。因此,如何实现不同框架之间的互操作性,简化从研究到生产的路径,成为了重中之重。

ONNX的工作原理是:

实时跟踪某个神经网络是如何在这些框架上生成的,接着,使用这些信息创建一个通用的计算图,即符合ONNX标准的计算图。这样做行得通,是因为在计算方面,这些框架产生的最终结果都非常接近,虽然更高级的表达不同。

ONNX目前支持Caffe2、PyTorch、Microsoft Cognitive Toolkit、Apache MXNet等工具。 

 

ONNX Runtime介绍

1.与ONNX版本保持一致

ONNX Runtime提供对ONNX规范的全面支持,可用于运行基于ONNX v1.2.1及更高版本的所有模型。

截至2018年11月,ONNX Runtime支持最新发布的ONNX版本(1.3)。1.4发布后,ONNX Runtime将与更新的规范保持一致,增加对新运营商和其他功能的支持。

2.传统的ML支持

ONNX Runtime完全支持传统ML场景的ONNX规范的ONNX-ML配置文件。

3.高性能

可以将ONNX Runtime与CPU和GPU硬件配合使用。还可以将其他执行提供程序插入ONNX Runtime。通过许多图形优化和各种加速器,与其他运行时相比,ONNX Runtime通常可以提供更低的延迟和更高的效率。这提供了更平滑的端到端客户体验,并通过提高机器利用率降低了成本。

目前,ONNX Runtime支持CUDA和MKL-DNN(带有使用MKL构建的选项)以进行计算加速。

4.跨平台支持

ONNX Runtime支持Linux,Windows和Mac平台。

5.ONNX Runtime技术设计

ONNX Runtime采用可扩展的设计构建,使其具有多种功能,可支持各种高性能的模型。

 

相关链接

ONNX Runtime项目主页

ONNX项目主页

 

相关主题

AWS帮助构建ONNX开源AI平台

精选文章
热门文章