Caffe2入門

CAFFE2

https://caffe2.ai/

在今年的 F8 開發者大會上,Facebook 正式宣佈開源內部使用的深度學習框架 - Caffe2。該框架可以用在 iOS、Android 跟樹莓派上訓練和部署模型。且 Facebook 已經與 NVIDIA 、 Qualcomm 、 Intel 、Amazon 、 Google等公司合作未來對雲端以及移動裝置的優化。

什麼是 CAFFE2

  • 一個兼具輕量化、模組化和高度擴展性的開源深度學習框架。
  • 提供 C++ 與 Python 的API。

編寫一次代碼,即可在各個平台中運行

在保有擴展性和高性能的同時, Caffe2 也強調了跨平台的方便性。Caffe2 從一開始就以性能、擴展、移動端部署做為主要設計目標。 Caffe2 的核心 C++ 函式庫能提供速度與跨平台,而其 Python 和 C++ API 可以讓使用者輕鬆的在 Linux 、 Windwos 、 iOS 、 Android 甚至 Raspberry Pi 進行原型設計、訓練、和部署。

Model Zoo

Model Zoo 像是一個模型 App Store 般,讓開發人員在該平台上提供已經訓練好的模型,讓入門人員可以使用這些模型快速建立展示用的應用程式並探索深入的學習功能,而不需要浪費時間和資源去做模型的訓練。你也可以重新創建和評估其他專案的結果,用來發展新的應用或者一起改進目前現有的模型。Caffe2 也提供一個讓開發商以及研究人員參與的社群,讓他們可以在上面分享 Caff Model Zoo 的工作。

深度學習的應用

深度學習和神經網路可以應用與解決任何問題。Caffe2 的深度學習應用主要是關於 CV 、 ChatBost、 IoT 、語音識別、翻譯以及醫療,還有其他一些沒有在下列圖中所提到的應用,像是廣告以及面向學術界研究人員的。

Alt deep learning

如何開始

安裝

參考官方網站的安裝文檔 並且選擇你所需要的裝置平台。並且遵循官方文檔的步驟安裝好你的 Caffe2。

在 iOS/Android 上整合 Caffe2

我們這邊使用官方所編寫好的一個範例 AI Camera Demo
Alt example

建置編譯環境

Android Studio

我們使用Android來當範例,首先需要安裝Android Studio

安裝 Android NDK

因為 Caffe2 會用到 C++ ,在 Android 中我們要使用 C++ 則需要 NDK
Android NDK

相依性套件

Android 平台中,我們需要 Automake 跟 Libtool ,這邊使用 Homebrew 安裝。

1
brew install automake libtool

然後我們還需要 cmake 去編譯我們的 C++ lib。

1
brew install cmake
下載 AI Camera Demo 源代碼
1
2
3
4
git clone https://github.com/bwasti/AICamera.git
git submodule init && git submodule update
cd app/libs/caffe2
git submodule init && git submodule update
運行
Troubleshooting Android Build