caffe模型訓練流程
準備訓練集與測試集,把相應的放在對應的目錄下。如:訓練目錄:e:/data/train/ ,測試目錄: e:/data/test/。同時編寫相應的指令碼檔案存放所對應的列表清單,即train.txt和test.txt(列表清單中與對應的進行一一對應);
step2:轉換為對應的lmdb資料格式;
深度學習(caffe)原始資料格式為(jpg,jpeg,png,tif),同時大小格式不統一。而在(caffe)深度學習中經常使用的資料型別是lmdb或leveldb,因此需要把轉換為相對應的資料庫格式(lmdb為常用格式,效率較高)。
caffe工具自帶的有convert_imageset.exe可執行工具,需要輸入相對應的引數格式即可生成。
#!/usr/bin/en sh
data=e:/testdata/second-train-model
rm -rf $data/img_train_lmdb
e:/caffe-gpu-matlab/caffe-master/build/x64/release/convert_imageset.exe --shuffle \
--resize_height=256 --resize_width=256 \
e:/testdata/second-train-model/train/ \
$data/train.txt \
$data/img_train_lmdb
以上是訓練資料格式的轉換,同理把測試轉換為相應的lmdb資料格式。
step3:計算均值檔案並儲存
減去均值再訓練,會提高訓練速度和精度,因此,一般都會有這個操作。caffe程式提供了乙個計算均值的檔案compute_image_mean.exe,直接呼叫。
編輯以下檔案並儲存;
data=e:/testdata/second-train-model
tools=e:/caffe-gpu-matlab/caffe-master/build/x64/release
$tools/compute_image_mean.exe $data/img_train_lmdb \
$data/imagenet_mean.binaryproto
echo "done."
step4:建立模型並編寫配置檔案
caffe自帶四個模型檔案位於...\caffe-master\models資料夾下面,在這我們使用caffenet模型。複製其中的solver.prototxt train_val.prototxt,修改其中的配置檔案符合自己的程式需要!
solver.prototxt配置檔案如下:
net:"e:/testdata/second-train-model/train_val.prototxt" #訓練檔案路徑
test_iter: 10 #test_iter* batchsize(測試集的)=測試集的大小
test_interval: 2 #表示訓練的時候,每迭代500次就進行一次測試
base_lr: 0.001 #學習率
lr_policy: "step" #學習率變化規律
gamma: 0.1 #學習率變化指數
stepsize: 100000 #學習率變化頻率
display: 20 #螢幕顯示間隔
max_iter: 1000 #總迭代次數1000
momentum: 0.9 #動量
weight_decay: 0.0005 #權重衰減
snapshot: 500 #500次儲存一次快照
snapshot_prefix:"e:/testdata/second-train-model/caffenet_train" #模型儲存路徑
solver_mode: gpu #cpu或gpu
注:配置檔案預設採用sgd(梯度下除法模式);
train_val.prototxt配置檔案如下:
name: "caffenet"
layer }
dim:10表示對待識別樣本進行資料增廣的數量,該值的大小可自行定義。但一般會進行5次crop,將整幅影象分為多個flip。該值為10則表示會將待識別的樣本分為10部分輸入到網路進行識別。如果相對整幅影象進行識別而不進行影象資料增廣,可將該值設定為1
layer {
name: "fc8"
type: "innerproduct"
bottom: "fc7"
top: "fc8"
inner_product_param {
num_output: 5 #設定成自己的樣本種類個數
layer {
name: "prob"
type: "softmax"
bottom: "fc8"
top: "prob"
編寫指令碼檔案並儲存為.sh或.bat執行
深度學習caffe搭建
經過乙個月的時間,從開始接觸深度學習到環境搭建終於成功了!發表第一篇部落格 慶祝一下 按照21天實戰caffe 進行架構搭建出現的錯誤大致的解決辦法,ubuntu用的是14.04 按照裡面第三天的要求進行操作 後來到第五天發現這些依賴包沒什麼用 直接到第5天 protobuffer 出現錯誤 caf...
Python 深度學習Caffe
提到 深度學習庫 就不可能不說到caffe。事實上,自從你開啟這個頁面學習深度學習庫,我就敢打保票你肯定聽說caffe。那麼,究竟caffe是什麼呢?caffe是由berkeley vision and learning center bvlc 建立的深度學習框架。它是模組化的,速度極快。而且被應用...
深度學習 caffe入門學習
目錄下有個caffe.exe net examples mnist lenet train test.prototxt 定義網路結構檔案,也就是我們上一步編寫的檔案 test iter 100 test interval 500 每隔500次用測試資料,做一次驗證 base lr 0.01 學習率 ...