Facebook and Microsoft collaborate to simplify conversions from PyTorch to Caffe2

Facebook and Microsoft announced ONNX, the Open Neural Network Exchange this morning in respective blog posts. The Exchange makes it easier for machine learning developers to convert models between PyTorch and Caffe2 to reduce the lag time between research and productization.

Facebook has long maintained the distinction between its FAIR and AML machine learning groups. Facebook AI Research (FAIR) handles bleeding edge research while Applied Machine Learning (AML) brings intelligence to products.

Choice of deep learning framework underlies this key ideological distinction. FAIR is accustomed to working with PyTorch — a deep learning framework optimized for achieving state of the art results in research, regardless of resource constraints.

Unfortunately in the real world, most of us are limited by the computational capabilities of our smartphones and computers. When AML wants to build something for deployment and scale, it opts for Caffe2. Caffe2 is also a deep learning framework but it’s optimized for resource efficiency, particularly with respect to Caffe2Go that’s optimized for running machine learning models on underpowered mobile devices.

The collaborative work Facebook and Microsoft are announcing helps folks easily convert models built in PyTorch into Caffe2 models. By reducing the barriers to moving between these two frameworks, the two companies can actually improve the diffusion of research and help speed up the entire commercialization process.

Unfortunately not every company uses the same PyTorch and Caffe2 pairing. Plenty of research is still done in TensorFlow and other key frameworks. Outside of a research context, others have been working to make it easier to convert machine learning models into formats optimized for specific devices.

Apple’s CoreML for example helps developers convert a very limited number of models. At this point CoreML doesn’t even support TensorFlow and the process of creating custom converters seems quite complicated and likely to end in disappointment. As companies like Google and Apple gain more control over machine learning framework optimization on custom hardware, it’s going to be important to continue to monitor interoperability.

The Open Neural Network Exchange has been released on Github, you can find it here.