Caffe 初识,揭开面纱
這一段時間把caffe官網上的例子跑了一下,對caffe有了一個大概的了解。如果你想對caffe有個比較清晰的了解,建議認真閱讀官網上的資料,尤其在caffe資料極少的情況下,這種方法是最有效的途徑,可以讓你少走許多彎路,不要上來就在網上隨便找個教程配置環境,上來就想跑例子。。博主就是赤裸裸的例子,在配置環境的時候浪費了好多時間
一、caffe的基本組成?
一個caffe的工程主要包含兩個部分:網絡模型,參數配置,分別對應***.prototxt , ****_solver.prototxt文件。
網絡模型:即定義你網絡的每一層,下圖是用caffe中 /python/draw_net.py畫出的的siamese的模型,非常清晰
層包含:
DATA: 一般指輸入層,包含數據路徑,批處理數據大小batch_size,scale表示數據表示在[0,1],0.00390625即 1/255
CONVOLUATION:卷積層,blobs_lr:1 , blobs_lr:2分別表示weight 及bias更新時的學習率,這里權重的學習率為solver.prototxt文件中定義的學習率真,bias的學習率真是權重學習率的2倍,這樣一般會得到很好的收斂速度。
num_output表示濾波的個數,kernelsize表示濾波的大小,stride表示步長,weight_filter表示濾波的類型
POOLING: 池化層
INNER_PRODUCT: 其實表示全連接,不要被名字誤導
RELU:激活函數,非線性變化層 max( 0 ,x ),一般與CONVOLUTION層成對出現
SOFTMAX:?
參數配置文件:
***_solver.prototxt文件定義一些模型訓練過程中需要到的參數,比較學習率,權重衰減系數,迭代次數,使用GPU還是CPU等等
訓練出的模型被存為***.caffemodel,可供以后使用。
?
二、使用caffe訓練模型包含以下幾個步驟:
三、caffe中比較有用且基礎的接口
1、訓練模型,比如使用mnist的例子
| 1 | ./build/tools/caffe train --solver=examples/mnist/lenet_solver.prototxt |
2、觀察各個階段的運行時間可以使用
./build/tools/caffe time --model=models/bvlc_reference_caffenet/train_val.prototxt3、使用已有模型提取特征
./build/tools/extract_features.bin models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel examples/_temp/imagenet_val.prototxt conv5 examples/_temp/features 10conv5表示提取第五個卷積層的特征, examples/_temp/feaures表示存放結果的目錄
4、對已有模型進行find-tuning,比如我們現在有一個1000類的分類模型,但目前我們的需求僅是20類,此時我們不需要重新訓練一個模型,只需要將最后一層換成20類的softmax層,然后使用已有數據對原模型進行fine-tuning即可
./build/tools/caffe train -solver models/finetune_flickr_style/solver.prototxt -weights models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel -gpu 0如果使用cpu模式,那么最后的-gpu省略
5、還有一個是python下面的接口,draw_net.py可以根據.prototxt文件將模式用圖示的方法表示出來,博文開始的模型圖即用該接口所繪
./python/draw_net.py ./examples/siamese/mnist_siamese.prototxt ./examples/siamese/mnist_siamese.png第一個參數為模型文件,第二個參數為所繪模型圖的保存地址
?
四、運行caffe自帶例子需要注意的問題
1、需要在caffe_root路徑下執行所有操作,因為所有的操作都是基于該路徑的,如數據的路徑等
2、建議在sudo權限下執行,一般用戶權限下執行時有時會報錯
3、在運行程序前確定你的環境配置正確,以免在后面浪費時間,環境配置見caffe + ubuntu14.04 + cuda 6.5 無gpu配置
?
原文地址: http://www.cnblogs.com/dupuleng/articles/4242906.html
總結
以上是生活随笔為你收集整理的Caffe 初识,揭开面纱的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux Used内存到底哪里去了?
- 下一篇: caffe实战笔记