ONNXRuntime、TensorRT扫盲

onnxruntime

  1. 官方介绍:https://baijiahao.baidu.com/s?id=1619064549798705268&wfr=spider&for=pc

个人笔记/理解:
当地时间12月4日,微软在GitHub上宣布ONNX Runtime开源 。

ONNX Runtime是适用于Linux,Windows和Mac上ONNX格式的机器学习模型的高性能推理引擎。

也就是onnxruntime是一套可以推理onnx格式模型的推理引擎(代码),可以运行在CPU、GPU以及MAC上面,可以兼容python、C#、C接口等。

ONNX 是微软FacebookAWS共同开发的深度学习和传统机器学习模型的开放格式

也就是ONNX是一种规范定义的模型格式。因为深度学习框架实在很多,tf、pytorch、paddlepaddle、keras、caffe等,无法统一,那只能先统一格式,然后使用一套高效代码进行推理。这个统一格式就是ONNX格式,这一套高效代码就是ONNXRUNTIME。

很多业界领先的企业都在积极将自己的技术与ONNX Runtime实现集成和整合,使自己的服务能够完整支持ONNX规范,同时实现性能的最优化。比如英特尔(CPU加速)、英伟达(GPU加速)

高通AI业务高级主管Gary Brotman表示:“ONNX Runtime的推出和开源是微软提升跨设备类别框架的互操作性,实现标准化和性能优化的积极一步,我们希望开发人员欢迎在骁龙移动平台上支持ONNX Runtime。

总结一句话,ONNX Runtime对上接受ONNX格式的模型,它本身做高效推理,同时需要运行在各种硬件上,其他硬件需要实现对ONNX的支持。所以各个企业都在积极和ONNX Runtime进行集成,进一步实现加速、优化。ONNX是运行设备和机器学习框架模型之间的一个连接器。起到了承上启下的作用。

TensorRT

TensorRT是可以在NVIDIA各种GPU硬件平台下运行的一个C++推理框架。我们利用Pytorch、TF或者其他框架训练好的模型,可以转化为TensorRT的格式,然后利用TensorRT推理引擎去运行我们这个模型,从而提升这个模型在英伟达GPU上运行的速度。速度提升的比例是比较可观的。

TensorRT是一种高性能深度学习推理优化器运行时加速库,可以为深度学习应用提供低延迟、高吞吐率的部署推理

TensorRT可用于对超大规模数据中心、嵌入式平台或自动驾驶平台进行推理加速。

TensorRT现已能支持TensorFlow、Caffe、Mxnet、Pytorch等几乎所有的深度学习框架,将TensorRT和NVIDIA的GPU结合起来,能在几乎所有的框架中进行快速和高效的部署推理。

也就是说,TensorRT是运行在NVIDIA各种GPU上的C++推理代码。其特点是可以对深度学习模型进行推理加速。

优化方式/使用步骤等可以参考:
文章1
文章2

你可能感兴趣的:(人工智能)