ONNX,即 Open Neural Network Exchange ,是微软和 Facebook 在今年 9 月发起的一个开放的深度学习开发工具生态系统,旨在让 AI 开发人员能够随着项目发展而选择正确的工具。之后,华为、IBM、英特尔、高通等纷纷宣布宣布支持 ONNX。
ONNX 所针对的是深度学习开发生态中最关键的问题之一,在任意一个框架上训练的神经网络模型,无法直接在另一个框架上用。开发者需要耗费大量时间精力把模型从一个开发平台移植到另一个。因此,如何实现不同框架之间的互操作性,简化从研究到生产的路径,成为了重中之重。借助 ONNX ,AI 开发者即可轻松完成主流深度学习工具的切换。
ONNX 已支持 Caffe2、PyTorch、Microsoft Cognitive Toolkit、Apache MXNet 等工具。亚马逊 MXNet 也已于近日正式宣布支持 ONNX,并表示将与 Facebook、微软和深度学习社区合作,进一步开发 ONNX,使其对于深度学习实践者来说更为易用且强大。
不过说起生态,你会发现 ONNX 的合作并没有 Google 什么事。 作为目前业界主流的机器学习框架,TensorFlow 却并未出现在 ONNX 生态系统中。这也正是为什么许多人认为 Facebook 和微软的这次合作其实更像是为了对抗 Google 的 TensorFlow 而结成的同盟。
当然,对于个人开发者和企业而言,ONNX 开放和互通的“人工智能生态” 能让产品开发的过程更简单、更方便,值得点赞。