Facebook operates two flagship open source machine learning frameworks — Caffe2 and PyTorch. Their incompatibility, however, made it difficult to transform a PyTorch-defined model into Caffe2 or vice versa. Facebook is doing something about that.
Last Friday the Caffe2 Github page introductory “readme” document was suddenly replaced with a bold link: “Source code now lives in the PyTorch repository.” What this meant was that Caffe2 users could now directly check Caffe2 code in PyTorch.
Facebook AI Researcher and Caffe creator Yangqing Jia says Facebook decided to merge Caffe2 into PyTorch “because this will incur minimal overhead for the Python user community.”
Nothing changes for a PyTorch user, says Facebook AI Researcher Soumith Chintala. “PyTorch is installed, shipped and used exactly how it is done today. Your code will not break. This is development and backend work. If you are not a core-developer, this issue is not even that relevant to you.”
Although most frameworks are similar to certain degrees, each has its unique characteristics. Sharing repository and development infrastructure between different machine learning frameworks can compensate for each one’s shortcomings.
Since its release in October 2016, PyTorch has become a preferred machine learning framework for many AI researchers due to its research flexibility. Over half of Facebook AI projects run on PyTorch. Meanwhile, Caffe 2, launched in April 2017, is more developer-friendly than PyTorch for AI model deployment on IOs, Android and Raspberry Pi devices.
Last September, Facebook and Microsoft announced their Open Neural Network Exchange (ONNX), an open source project that helps researchers to convert models between frameworks. The merging of Caffe2 and PyTorch is a logical next step in this strategy.
The merging also ups the stakes in Facebook’s challenge to the dominant machine learning framework, TensorFlow.
Journalist: Tony Peng| Editor: Michael Sarazen