ONNX,即 OpenNeuralNetworkExchange,是微软和Facebook发布的一个深度学习开发工具生态系统,旨在让AI开发人员能够随着项目发展而选择正确的工具。
ONNX所针对的是深度学习开发生态中最关键的问题之一,在任意一个框架上训练的神经网络模型,无法直接在另一个框架上用。开发者需要耗费大量时间精力把模型从一个开发平台移植到另一个。因此,如何实现不同框架之间的互操作性,简化从研究到生产的路径,成为了重中之重。
ONNX的工作原理是:
实时跟踪某个神经网络是如何在这些框架上生成的,接着,使用这些信息创建一个通用的计算图,即符合ONNX标准的计算图。这样做行得通,是因为在计算方面,这些框架产生的最终结果都非常接近,虽然更高级的表达不同。
ONNX 目前支持Caffe2、PyTorch、MicrosoftCognitiveToolkit、ApacheMXNet等工具。
评论