深度學習框架Caffe2併入PyTorch,你的開發效率可能要提升不少

AI科技大本營發表於2018-04-02

這裡寫圖片描述

作者 | DavidZh
出品 | 人工智慧頭條(AI_Thinker)

知名深度學習框架 Caffe2 最近正式將程式碼併入了 PyTorch。

目前供職於 Facebook,同時也是 Caffe2 作者賈揚清在知乎回答了相關問題:

因為 PyTorch 有優秀的前端,Caffe2 有優秀的後端,整合起來以後可以進一步最大化開發者的效率。目前 FAIR(Facebook AI 研究院)大概有超過一半的專案在使用 PyTorch,而產品線全線在使用 Caffe2,所以兩邊都有很強的動力來整合優勢。

按照賈揚清的說法,Facebook 去年啟動 ONNX 專案並組建團隊時,就已經開始推動 Caffe2 和 PyTorch 在程式碼層的合併。

這樣做的根本目的還是為了提高開發效率。

就目前的深度學習框架而言,Caffe2 和 MXNet 不支援匯出模型,PyTorch 不支援匯入模型。只有微軟主導的 CNTK(Microsoft Cognitive Toolkit)同時支援模型匯入和匯出。

開發者在某個框架上完成神經網路模型的訓練之後,無法在其它框架上直接使用。當遇到開發平臺間遷移模型的需求是,開發人員需要花費大量時間和精力重新除錯引數甚至模型結構。

Facebook、亞馬遜、微軟聯手開發的 ONNX 開源專案就誕生在這個背景下。ONNX 是 Open Neural Network Exchange 的縮寫,即”開放的神經網路交換”,核心特性是支援深度學習模型的匯入匯出。

這裡寫圖片描述


ONNX 啟動半年多來,英特爾、高通、華為、AMD、ARM 等公司已經加入。上個月英偉達新推出的 TensorRT 也支援了 ONNX。

值得注意的是,Google 主導的 TensorFlow 最近也推出了支援模型匯入、匯出和複用的 TensorFlow Hub。

這樣來看,整個深度學習生態的碎片化情況減輕了不少。未來的競爭,可能就主要是 TensorFlow 和 ONNX 了。

相關文章