search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

【重磅】Facebook 開源產業級深度學習框架 Caffe2,帶來跨平台機器學習工具

新智元報道

作者:caffe2 team

譯者:文強

【新智元導讀】Facebook 開發者大會今天召開。同時,Facebook 宣布開源 production-ready 的深度學習框架 Caffe2,輕量級、模塊化,在移動端和雲上都做了優化。同時提供的還有 C++ 和 Python API,以及模型庫 Caffe2 Model Zoo,裡面有視覺、語音、翻譯等預訓練模型,方便開發人員和研究者直接使用。

AI 模型的訓練和部署通常與大量數據中心或超級計算機相關聯,原因很簡單。從大規模的圖像、視頻、文本和語音等各種信息中持續處理、創建和改進模型的能力不是小型計算擅長的。在移動設備上部署這些模型,使其快速輕量級運轉,同樣是令人生畏的任務。克服這些挑戰需要一個強大、靈活、攜帶型(portable)深度學習框架。

Facebook一直在與開源社區一起建立這樣一個框架。今天,我們將第一個生產就緒(production-ready)的 Caffe2 開源,這是一個輕量級和模塊化的深度學習框架,強調便攜性,同時保持了可擴展性和性能。

我們致力於為社區提供高性能的機器學習工具,以便每個人都能創造智能應用和服務。Caffe2 提供了教學和示例,演示了用一台機器上的多顆 GPU 或多台機器的一顆或多顆 GPU 進行大規模學習。學習訓練和部署 iOS,Android 和 Raspberry Pi 模型。在模型庫 Caffe2 Model Zoo 裡面的預訓練模型,只需幾行代碼就能運行。

Facebook 部署 Caffe2 旨在幫助開發人員和研究人員 訓練大規模機器學習模型,並在移動應用中提供 AI 驅動的用戶體驗。現在,開發人員可以獲取許多相同的工具,能夠在大規模分散式場景訓練模型,並為移動設備創建機器學習應用。

我們與英偉達,高通,英特爾,亞馬遜和微軟密切合作,在雲端和移動環境兩個方面都對 Caffe2 做了優化。這些合作將使機器學習從業者能夠使用更複雜的模型快速地進行實驗,並部署下一代 AI 增強型的應用和服務。

Caffe2 會持續更新,歡迎提供意見和建議。

更新信息可以查看 Caffe2 文檔和教程請訪問 caffe2.ai,並查看 GitHub 源代碼。(下文有介紹。)

Caffe2 原理(Philosophy)

Caffe2 的原理與 Caffe 相同,開發原則可以概括為以下5點:

  • 表達(Expression):模型和優化被定義為純文本模式(plaintext schema)而不是代碼。

  • 速度:對學界和產業界都一樣,速度對於最先進的模型和大數據至關重要。

  • 模塊化:新任務和設置需要靈活性和擴展性。

  • 開放性:科學和應用進步需要通用代碼(common code),參考模型和重現性(reproducibility)。

  • 社區:學術研究、startup prototypes 和工業應用通過在 BSD-2 項目中聯合討論和開發,共享實力。

Caffe2:Caffe 的實驗性再造,用更靈活的方式組織計算

根據 Github 頁面介紹,Caffe2 這個深度學習框架,在製作時就考慮到了表達(expression)、速度和模塊化這些特性。

Caffe2 是 Caffe 實驗性的再造,可以提供更靈活的方法組織計算。

Caffe2 是根據 BSD 2-Clause 許可證條款發布的。

目前確定可以運行的 Build Status 如下:

Ubuntu 14.04 (GCC)

Default CPU build

Default GPU build

OS X (Clang)

Default CPU build

Default GPU build

Options (both Clang and GCC)

Nervana GPU

× ZMQ

BLAS

OpenBLAS

ATLAS

× MKL

其他

CMake 2.8 support

List of dependencies for Ubuntu 14.04

List of dependencies for Ubuntu 16.04

List of dependencies for OS X

Caffe2 的宣傳口號 「一次編碼,隨時隨地運行」,可見 Caffe2 想要凸顯其靈活、便攜性,當然,還有預訓練模型。

據介紹,Caffe 開發社區十分活躍,開發人員和研究人員會分享他們的 Caffe 模型,當然,現在也會分享 Caffe2 模型。

Caffe2 模型庫的頁面開始說,你可以用這些模型快速構建 demo 並探索深度學習功能,而不需要耗費時間和計算資源從頭開始訓練模型,你可以重新創建和評估其他項目的結果,或者改進以前發布的模型,歡迎分享和討論。

下面列出了 Caffe 模型,還提供了一組可用於 Caffe2 的模型。由於剛剛起步,Caffe2 模型現在還比較少。

目前,只有圖像分類的 Squeezenet、BVLC AlexNet、BVLC CaffeNet 模型、BVLC GoogleNet 模型和 ImageNet ILSVRC13 RCNN 有 Caffe2 預訓練模型,相信很快就會有更多豐富。

Caffe2 中基本計算單元之一是 Operators。每個 Operator 包含給定適當數量和類型的輸入和參數來計算輸出所需的邏輯。Caffe 和 Caffe2 功能的總體差異如下圖所示:

(關於如何將 Caffe 模型轉換為 Caffe2 模型主頁上有非常詳細而且友好的教程。)

  • 圖像分類

  • 圖像分割

  • 對象和場景標記

  • 風格

  • 人臉

  • 視頻處理

據介紹,Caffe2 的深度學習應用主要是計算機視覺(CV)、聊天機器人(Chat Bots)、物聯網(IoT)、語音識別、翻譯以及醫療。

此外,沒有在上圖中列出的,還有廣告和其他一些應用,包括面向學術界研究人員的,可以改進現有模型、創新新的模型、開發演算法和更智能的神經網路。

還有工程師和開發人員,介紹中說,最終許多行業都會用到深度學習,即使你沒有直接從事深度學習相關工作,你的公司也會將深度學習併入平台。

Caffe2強調易用性, 旨在為開發人員提供一種簡單直觀的方式親身體驗深度學習。

在某些情況下,你可能希望使用現有的模型,跳過整個「學習」的步驟,在嘗試訓練你自己的模型之前,就熟悉深度學習是如何的實用和有效。

Caffe2 API:C++ & Python

Caffe2 給出了 C++ 和 Python 的 API。

  • C++:http://caffe2.ai/doxygen-c/html/classes.html

  • Python:http://caffe2.ai/doxygen-python/html/annotated.html

Caffe2 的網站非常友好,除了 API,不僅包括了教程(Tutorial)、參考(Reference),在最開始還有介紹深度學習的部分——Learn。

Learn 這部分從深度學習知識和應用講起,介紹了如何將 Caffe2 整合入 iOS 和 Android。不僅如此,還有分散式訓練和資料庫的介紹。

在教程在方面,有模型和資料庫介紹,從 Caffe2 的基本講起,包括 Workspaces、Operators & Nets,還有 Toy Regression、圖像預處理、載入預訓練模型、MNIST(從頭開始創建一個 CNN)的講解,教你自己創建資料庫,以及 AI 攝像機 Demo 和教程,RNN 和 LSTM 網路的介紹。

在 2016 年 11 月發布 Caffe2go 時,Caffe 作者賈揚清介紹說,Caffe2 是 Facebook 第一個具有產業實力的深度學習平台,可以跨平台用同樣的代碼集全速運行。由於模塊化設計,框架可以使用相同的語言,但要分別在各個平台上優化。例如,框架可以在手機(iOS 和 Android)的 NNPack 和伺服器 GPU 的 CUDNN 之間選擇。因此,開發者可以專業於演算法的工作,而不用研究怎樣運行卷積。

人工智慧已經產生了深遠的影響,但大部分 AI 還是局限於大型數據中心,遠離實際使用 AI 應用和服務的人。我們不可能讓人隨身攜帶超級計算機,那麼,讓 AI 在當前最為普及便攜的設備——智能手機工作上工作就成為關鍵一環。

以下是開源地址和體驗鏈接:

3月27日,新智元開源·生態AI技術峰會暨新智元2017創業大賽頒獎盛典隆重召開,包括「BAT」在內的主流 AI 公司、600多名行業精英齊聚,共同為2017人工智慧的發展畫上了濃墨重彩的一筆。

訪問以下鏈接,回顧大會盛況:



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦