Bidirectional converters for Neural Network Exchange Format files will be made available as open source projects on Github.
by Peter McGuinness
Khronos last week announced the launch of a project with Au-zone of Calgary, Canada to produce two conversion tools that will allow developers to import NNEF files into TensorFlow and Caffe2 as well as export NNEF files from those training frameworks. In line with Khronos’ recent policy, the tools will be made available in the second half of 2018 as open source projects on Github where contributions from the open source community will be welcomed. These tools will join the converters for Caffe and Tensorflow (which has two formats to consider) and the NNEF parser that are all already available.
The Neural Network Exchange Format is an open, royalty free standard from Khronos that aims to make it easier to transfer neural networks between training frameworks as well as to deploy trained networks onto a wide variety of inference engines. This is seen by Khronos as being most useful when a network must be deployed on mobile or embedded devices and the consortium is therefore planning the release of two methods to make that possible. The engineering teams at Khronos are collaborating to develop NNEF importers for the OpenVX kernel import extension and there is also a separate development effort led by National Tsing-Hua University of Taiwan offshoot Peak Hills group to develop another open source tool, this time to import NNEF networks into the Android NNAPI that will become available on Android 8.1 devices.
The provisional version of the NNEF specification was released in December of 2017 after less than a year of intensive development effort by companies such as Budapest-based AIMotive, which is providing the spec editor, AMD, Qualcomm and Cadence with significant inputs from other member companies including Verisilicon and Arm. Release of the final version is expected early in Q3 of this year and the recruitment of Au-zone (a tools developer for a range of tier one semiconductor companies) to the tools project lays the groundwork for a robust ecosystem for the standard.
Exchange formats are not as sexy as APIs but they are just as necessary and Khronos has been very proactive in the field with the Collada and glTF transfer formats becoming highly successful in the CAD and gaming worlds. Those standards provide stable alternatives to the bewildering array of proprietary 3D modelling formats and NNEF is positioned to do the same thing for the machine learning industry. There is, however, a competitor to NNEF in the ONNX (Open Neural Network Exchange) format developed by Facebook and promoted by Microsoft among others; support for this format on the inferencing side has been announced by a significant number of companies, including Nvidia and Arm.
Competition is good and the existence of two standards is not disastrous. That situation exists in the graphics industry where the competition between OpenGL and D3D has in fact driven the industry forward rather than held it back. The situation is a little different when it comes to something like an exchange format but rivalry between the two groups probably explains some of the motivation for the rapid series of upgrades to ONNX that we have seen since the NNEF spec was released. There is room for two formats in this space and since these two contenders take very different approaches we expect that they will each make their own contribution. ONNX is promoted as being open source and highly reactive to changes in requirements where NNEF is an open standard that takes a very considered approach to backwards compatibility and provides a stable platform for widespread deployment.