在開始之前,我們很感激你對Caffe2感興趣,希望Caffe2在你的機器學習作品中是一個高性能的框架。Caffe2致力于模塊化,促進深度學習想法和原型的實現。
選擇你的學習路線
1. 使用一個現成的預訓練模型(容易)
? 2. 編寫自己的神經網絡(中等)
? 3. 移動應用。做一個應用深度學習技術的移動端APP(高級)
? 選擇1,點擊鏈接,有幾個使用預訓練模型的例子,我們將會展示如何在幾分鐘內跑起demo
? 選擇2,你需要一些深度學習的背景知識。后面會給出一些資料的鏈接。
? 選擇3,你將會看到如何在Android或者IOS上運行圖像分類的APP。這是完全即插即用的,不過你需要了解Caffe2的C++接口。
IPython Notebook
在/caffe/python/examples
目錄下有幾個程序示例,可以幫助你了解如何使用Caffe2
? char_rnn.py:生成一個遞歸神經網絡,對你輸入的文本進行抽樣,然后隨機生成一個類似風格的文本。
? lmdb_create_example.py:生成一個圖片和標簽的lmdb的數據庫,你可以把這個作為框架寫自己的數據讀入接口
? resnet50_trainer.py:多GPU并行訓練Resnet-50。可以用來在imagenet上訓練。
? seq2seq.py:創建一個特殊的能處理文本行的RNN,比如翻譯
? seq2seq_util.py:序列到序列的有用函數
New to Caffe2
Basics of Caffe2 - Workspaces, Operators, and Nets
Caffe2 包含三個概念:
- Workspaces
- Operators
- Nets
Toy Regression - Plotting Lines & Random Data
這個教程主要展示了如何使用Caffe2進行回歸
- 生成隨機樣本數據
- 創建網絡
- 自動訓練網絡
- 查看梯度下降結果和訓練過程中參數的變化
Image Pre-Processing Pipeline
這個例子主要展示了如何進行數據預處理使之適合預訓練的模型。
- 調整
- 縮放
- HWC到CHW的變換(譯者注:縮寫應該是channel,height,width)
- RGB到BGR的變換
- 圖像預處理(譯者注:包括減均值,歸一化等等)
Creating a Convolutional Neural Network from Scratch
MNIST - Handwriting Recognition
這個教程創建一個小小的CNN來識別手寫字符。
Create Your Own Dataset
這個教程告訴你如何導入和修改數據使之能在Caffe2中使用。教程使用的是Iris數據集
Tour of Caffe Components
C++ implementation
gpu.h: needs documentation
? db.h: needs documentation
Python implementation
TensorProtosDBInput: needs documentation
Writing Your Own Operators
自定義Operators參考如下教程
? Guide for creating your own operators
Tutorials Installation
如果你需要跑起手冊里面的例子,你需要安裝如下依賴包
sudo pip install flask graphviz hypothesis jupyter leveldb lmdb matplotlib pydot pyyaml requests scikit-image scipy tornado zeromq
結語:
轉載請注明出處:http://www.lxweimin.com/c/cf07b31bb5f2