(3)caffe学习之微调预训练的模型训练自己的数据集
2018-03-27 18:58
399 查看
打开train_val.prototxt文件,修改name,输出类别数,两个lr_mult均扩大十倍,因为我们主要训练最后一层layer {
name: "fc8_15"
type: "InnerProduct"
bottom: "fc7"
top: "fc8_15"
param {
lr_mult: 10
decay_mult: 1
}
param {
lr_mult: 20
decay_mult: 0
}
inner_product_param {
num_output: 15
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "accuracy"
type: "Accuracy"
bottom: "fc8_15"
bottom: "label"
top: "accuracy"
include {
phase: TEST
}
}
layer {
name: "loss"
type: "SoftmaxWithLoss"
bottom: "fc8_15"
bottom: "label"
top: "loss"
}然后下载预训练的模型bvlc_reference_caffenet.caffemodel放入自己设置的文件夹下,在终端运行:
cd caffe #进入caffe根目录
./build/tools/caffe train --solver=/home/qf/git/myfile/bvlc_reference_caffenet/solver.prototxt --weights=./models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel
即可!!!!
若直接在终端测试网络,可直接运行:
./build/tools/caffe test --solver=/home/qf/git/myfile/bvlc_reference_caffenet/solver.prototxt --weights=/home/qf/git/myfile/bvlc_reference_caffenet/my_bvlc_reference_caffenet.caffemodel
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以下为个人理解:
题外话1:如训练网络时不想将txt文件转换为lmdb文件也是可以的,在train_val.prototxt文件中前两层的输入类型由Data改为ImageData,同时将输入的train_lmdb和val_lmdb换成txt文件。
题外话2:我们训练时使用的train_val.prototxt文件前两部分是TRAIN 和TEST,如果我们的train 和val数据集图像不重合,则在训练过程中已经进行了分类测试。一般情况下验证集图像是训练集图像的一部分,这时,在使用测试集测试时,可以在train_val.prototxt文件中加一层,然后训练和测试时改一下solver.prototxt 就好了。
name: "fc8_15"
type: "InnerProduct"
bottom: "fc7"
top: "fc8_15"
param {
lr_mult: 10
decay_mult: 1
}
param {
lr_mult: 20
decay_mult: 0
}
inner_product_param {
num_output: 15
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "accuracy"
type: "Accuracy"
bottom: "fc8_15"
bottom: "label"
top: "accuracy"
include {
phase: TEST
}
}
layer {
name: "loss"
type: "SoftmaxWithLoss"
bottom: "fc8_15"
bottom: "label"
top: "loss"
}然后下载预训练的模型bvlc_reference_caffenet.caffemodel放入自己设置的文件夹下,在终端运行:
cd caffe #进入caffe根目录
./build/tools/caffe train --solver=/home/qf/git/myfile/bvlc_reference_caffenet/solver.prototxt --weights=./models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel
即可!!!!
若直接在终端测试网络,可直接运行:
./build/tools/caffe test --solver=/home/qf/git/myfile/bvlc_reference_caffenet/solver.prototxt --weights=/home/qf/git/myfile/bvlc_reference_caffenet/my_bvlc_reference_caffenet.caffemodel
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以下为个人理解:
题外话1:如训练网络时不想将txt文件转换为lmdb文件也是可以的,在train_val.prototxt文件中前两层的输入类型由Data改为ImageData,同时将输入的train_lmdb和val_lmdb换成txt文件。
题外话2:我们训练时使用的train_val.prototxt文件前两部分是TRAIN 和TEST,如果我们的train 和val数据集图像不重合,则在训练过程中已经进行了分类测试。一般情况下验证集图像是训练集图像的一部分,这时,在使用测试集测试时,可以在train_val.prototxt文件中加一层,然后训练和测试时改一下solver.prototxt 就好了。
相关文章推荐
- Caffe深度学习入门—— caffenet 微调网络 训练自己的数据并测试训练的模型
- 深度学习-CAFFE利用CIFAR10网络模型训练自己的图像数据获得模型-1.制作自己的数据集
- caffe 框架下微调已有模型训练自己的数据实现图像分类
- 深度学习ssd检测模型训练自己的数据集
- 深度学习(一)学会用CAFFE训练自己的模型
- 深度学习Caffe平台实例——CIFAR-10数据集在caffe平台上模型训练及实例使用模型进行预测
- 深度学习-CAFFE利用CIFAR10网络模型训练自己的图像数据获得模型-3结合caffe中的CIFAR10修改相关配置文件并训练
- (1)caffe学习之调用预训练的网络训练自己的数据集
- Caffe学习笔记(七)—— solver参数说明及利用自己的数据集对权值微调
- 深度学习-CAFFE利用CIFAR10网络模型训练自己的图像数据获得模型-4应用生成模型进行预测
- Caffe学习笔记3——制作并训练自己的数据集
- Caffe学习系列——Faster-RCNN训练自己的数据集
- caffe学习笔记6--训练自己的数据集
- caffe学习笔记(五)--使用自己的数据集第一次进行训练
- 【caffe学习笔记之6】caffe-matlab/python训练LeNet模型并应用于mnist数据集(1)
- 【深度学习】笔记6:使用caffe中的CIFAR10网络模型和自己的图片数据训练自己的模型(步骤详解)
- caffe-MobileNet-ssd环境搭建及训练自己的数据集模型
- 深度学习Caffe实战笔记(20)Windows平台 Faster-RCNN 训练自己的数据集
- 【神经网络与深度学习】Caffe使用step by step:使用自己数据对已经训练好的模型进行finetuning
- 【caffe学习笔记之7】caffe-matlab/python训练LeNet模型并应用于mnist数据集(2)