caffe框架:
結構:
Blob:stores data and derivatives
Layer: transform bottom blobs to top blobs
Net:Many layers;computes gradients via forward/backward
Solver:Uses gradients to updata weights
流程:
no need to write code
1.convert data (run a script) 數據轉換:create LMDB using convert_imageset
2.define net (edit prototxt) 定義網絡
3.define solver(edit prototxt)) 定義配置參數
4.train (run a script)
學習資源:Model Zoo
#定義層 例
name:""
layer{
name:""
trandform_param{
scale:0.03}
}
layer{
name:"conv1"
type:"Convolution"
bottom:"data"
top:"conv1"
param{
lr_mult:1
}
convolution_param{
num_output:20
kernel_size:5
stride:1
weight_filler{
type:"xavier" #權重初始化方式
}
bias_filler{
type:"constant"
}
}
}
layer{
name:"pool1"
type:"Pooling"
bottom:"conv1"
top:"pool1"
pooling_param{
pool:MAX
kernel_size:2
stride:2
}
}
#訓練 例
./bulid/tools/caffe train \
-gpu 0 \
-model path/to/trainval.prototxt \
-solver
-weights