【caffe2從頭學】:2.學習caffe2

Jack_Kuo發表於2018-09-03

本片文章是我的【caffe2從頭學】系列中的一篇,如果想看其他文章,請看目錄:


0.目錄
1.快速開始

1.1.什麼是caffe2 ?
1.2.安裝caffe2

2.學習caffe2
3.caffe2官方教程的安裝與使用

3.1.Blobs and Workspace, Tensors,Net 概念
3.2.Caffe2 的一些基本概念 - Workspaces&Operators & Nets & Nets 視覺化
3.3.Brewing Models(快速構建模型)
3.4.Toy_Regression
3.5.Models and Datasets
3.6.Loading_Pretrained_Models
3.7.Image_Pre-Processing_Pipeline
3.8.MNIST
3.9.create_your_own_dataset

4.參考
5.API

相關程式碼在我的github倉庫:https://github.com/JackKuo666/csdn/tree/master/caffe2


1.[操作符]總覽(Operators Overview)

1.1.什麼是Operators

簡而言之,我們可以把它看做是更加靈活的caffe1.0中的layer:
這裡寫圖片描述

  如上圖所示,caffe2僅僅是把caffe1.0中的w,b拿下來當做輸入了,中間的layer換了個叫法叫做operators。

1.2.Operators庫

operators-catalogue:https://caffe2.ai/docs/operators-catalogue.html
【我們之後有會專開一篇介紹。】

1.3.編寫自己的自定義Operators

這個頁面介紹編寫自定義操作符:https://caffe2.ai/docs/custom-operators.html
【我們之後有會專開一篇介紹。】

1.4.稀疏Operators

Caffe2支援表示稀疏特徵並對張量段執行相應的操作。請參閱稀疏運算子指南:https://caffe2.ai/docs/sparse-operations.html
【我們之後有會專開一篇介紹。】

2.在iOS / Android上整合Caffe2(Integrating Caffe2 on iOS/Android)

在iOS / Android上整合Caffe2:https://caffe2.ai/docs/mobile-integration.html
【我們之後有會專開一篇介紹。】

3.分散式訓練(Distributed Training)

Caffe2最重要的功能之一是簡單的內建分散式訓練。這意味著您可以非常快速地向上或向下擴充套件而無需重構您的設計。
  【因為我的電腦是單GPU的,所以目前暫時用不到】:https://caffe2.ai/docs/distributed-training.html

4.資料集(Datasets)

1.caffe2 有專門的 Models and Datasets tutorial:https://caffe2.ai/docs/tutorial-models-and-datasets.html來介紹資料集的提取與製作。
2.你也可以依照Caffe2 Python tutorial:https://caffe2.ai/docs/tutorial-MNIST.html下載一個 MNIST handwriting dataset來解壓載入感受一下caffe2的資料集。
3.同時,你也可以去t Caffe2’s Model Zoo:https://caffe2.ai/docs/zoo.html。你也可以從中找到某些作者利用公開資料集製作caff2適用的資料集的程式碼。
4.caffe2官方提供的適用caffe2的資料集在這裡:https://caffe2.ai/docs/datasets.html

【當然,我們知道caffe2同caffe1一樣適用 LevelDB格式的資料集,所以,後期我們會專門開一個部落格介紹怎樣把自己的圖片製作成caffe2適用的LevelDB格式的資料集】

5.caffe2的模型庫(Caffe2 Model Zoo)

caffe2訓練好的模型庫可以在這裡找到:https://github.com/caffe2/models

5.1.caffe1 的模型需要轉換到caffe2模型

Caffe2使用更新的格式,通常是protobuf .pb檔案格式,因此原始**.caffemodel**檔案將需要轉換。
這裡有模型轉換教程:https://caffe2.ai/docs/caffe-migration.html

5.2.如何下載和載入已經訓練好的caffe2 Models

在Caffe2中載入一個預先訓練過的模型來執行諸如物件檢測等預測之類的事情非常簡單。

您需要兩個檔案:
  1)定義網路的protobuf,
  2)具有所有網路權重的protobuf。

第一個通常稱為predict_net.pb,第二個通常稱為init_net.pb。predict_net很小,而init_net通常很大。下面是兩個用於執行Squeezenet模型的protobuf檔案。單擊圖示以下載它們。下載頁在:https://caffe2.ai/docs/zoo.html
  下載完成之後你的當前資料夾會有兩個檔案:

predict_net.pb #這個存的是網路
init_net.pb #這個存的是訓練好的引數

如果接著按照原網頁看下去會很迷惑,這裡我們跳一步,直接開始下載官方的Tutorials,然後找到裡邊的
Loading Pre-Trained Models檔案,之後按照裡邊的步驟先跑一遍例子,就完成本部分內容了。

【具體怎麼下載官方Tutorials,請關注下篇部落格】

相關文章