9 月 8 日消息,据 VentureBeat 报道,软件巨头微软和社交网络 Facebook 今天宣布推出新的开源项目,旨在为不同编程框架的神经网络创建共享模型。这个新项目名为“开放神经网络交换”(ONNX),它将允许人们在 Cognitive Toolkit、PyTorch 以及 Caffe2 之间共享模型。
ONNX 应该可以帮助解决目前机器学习生态系统中的一个关键问题。开发和执行神经网络和其他机器学习系统有很多不同的框架,但是它们都是截然不同的,而且不支持互操作。通过使用 ONNX,Facebook 可以导出使用 PyTorch 创建的训练模型,并使用 Caffe2 进行推理。这对于在研究中创建模型,并将其应用于 Caffe2 中非常重要。微软表示,它正致力于发布一款 Cognitive Toolkit 以支持 ONNX 项目。
这套系统的工作原理是,通过跟踪这些框架在运行时如何生成神经网络,然后使用该信息创建可移动的通用计算图。这是可能的,因为每个框架在计算时都会产生非常相似的结果,即使更高层次的表示存在差异。目前,ONNX 最大的问题是它与其他流行的机器学习框架不兼容,包括起源于谷歌的 TensorFlow 和亚马逊偏爱的机器学习框架 Apache MXNet。
然而,加大对该项目的支持非常重要。Facebook 表示,为了支持这个项目,它必须对 PyTorch 和 Caffe2 进行修改。微软和 Facebook 都表示,他们希望开源社区能够帮助他们改进 ONNX,以便将来支持更多框架。此外,ONNX 不支持哪些更为复杂的网络,比如在 PyTorch 中创建动态流控制。但 Facebook 计划在未来加入这样的计划。