windows 训练、微调caffenet 训练测试自己的数据
来源:互联网 发布:谢津死亡真相知乎 编辑:程序博客网 时间:2024/05/16 15:20
下载caffeNet模型
下载的caffe-master文件中,/models/bvlc_reference_caffenet 文件夹不包含bvlc_reference_caffenet.caffemodel,下载地址:http://dl.caffe.berkeleyvision.org/bvlc_reference_caffenet.caffemodel 也可以用脚本方式下载。
准备数据—生成lmdb/leveldb
我在这里使用的是bat命令行的方式,也有很多博主上使用shell文件(create_imagenet.sh)。使用sh文件网上也已经有很多的代码,在Windows系统命令行中,可在命令行执行sh create_imagenet.sh
如果要使用.bat文件,代码:
SET GLOG_logtostderr=1D:/CAFFE/caffe-master/Build/x64/Release/convert_imageset.exe --resize_width=200 --resize_height=200 --shuffle --backend=lmdb D:/CAFFE/caffe-master/examples/hello_caffe/data/train/ D:/CAFFE/caffe-master/examples/hello_caffe/train.txt D:/CAFFE/caffe-master/examples/hello_caffe/train_lmdbD:/CAFFE/caffe-master/Build/x64/Release/convert_imageset.exe --shuffle --backend=lmdb D:/CAFFE/caffe-master/examples/hello_caffe/data/val/ D:/CAFFE/caffe-master/examples/hello_caffe/val.txt D:/CAFFE/caffe-master/examples/hello_caffe/val_lmdb pause
这里我使用的是绝对路径,需要的东西有:(按顺序)
convert_imageset.exe转换图像为lmdb/leveldb格式
训练数据集位置:D:/CAFFE/caffe-master/examples/hello_caffe/data/train/
训练数据集标签:D:/CAFFE/caffe-master/examples/hello_caffe/train.txt
训练数据集lmdb文件存放位置:D:/CAFFE/caffe-master/examples/hello_caffe/train_lmdb
同理,测试数据集转换需要:convert_imageset.exe、测试数据集位置、lmdb文件存放位置。
--resize_width –resize_height设置图像的宽度和高度
--shuffle 打乱数据顺序,不然lossaccuracy曲线会震荡
--backend 生成数据的格式,代码中为生成lmdb格式,如果要生成leveldb也可以改为leveldb
注:如果生成失败,需要将已经生成的lmdb文件夹删除,不然会报错
计算图像均值
计算图像均值使用的是compute_image_mean.exe
D:/CAFFE/caffe-master/Build/x64/Release/compute_image_mean.exe --backend=lmdb D:/CAFFE/caffe-master/examples/hello_caffe/train_lmdb D:/CAFFE/caffe-master/examples/hello_caffe/mean.binaryprotoPause
compute_image_mean.exe 计算图像均值
训练数据集的位置: D:/CAFFE/caffe-master/examples/hello_caffe/train_lmdb
生成均值文件及位置: D:/CAFFE/caffe-master/examples/hello_caffe/mean.binaryproto
--backend 输入文件类型
网络定义
选择你要用的网络模型,我这里用的是caffenet,复制原来的train_val.prototext、solver.prototxt、deploy.prototxt到你要建模型的位置,修改相应参数:
train_val.prototext修改:
设置训练数据和测试数据的相应位置以及全连接层输出。
原来的caffenet能够输出1000个类别,但我只需要输出9个类别。在num_output位置设为9,即网络输出类别数量。(TIPS:修改输出标签数量,需要修改全连接层的名称,在这里我加上了_new,例如fc6改为fc6_new。否则会在自己分类时,出现<9 vs 1000>之类的错误)
训练模型
D:/CAFFE/caffe-master/Build/x64/Release/caffe.exe train -solver=D:/CAFFE/caffe-master/examples/hello_caffe/caffemodel/solver.prototxt --weights D:/CAFFE/caffe-master/models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodelPause
Caffe.exe 调用caffe
solver.prototxt 设置输入网络配置
bvlc_reference_caffenet.caffemodel 需要调整的网络模型
solver.Prototxt修改net和snapshot_prefix两个位置,根据需要修改迭代次数、训练模式等等,以下为solver.prototxt文件:
net: "D:/CAFFE/caffe-master/examples/hello_caffe/caffemodel/train_val.prototxt"test_iter: 6test_interval: 20base_lr: 0.001lr_policy: "fixed"gamma: 0.1stepsize: 100000display: 20max_iter: 4000momentum: 0.9weight_decay: 0.0005snapshot: 1000snapshot_prefix: "D:/CAFFE/caffe-master/models/bvlc_reference_caffenet/caffenet_train"solver_mode: GPU
运行bat文件后,就生成了model文件:
测试生成的模型
D:/CAFFE/caffe-master/Build/x64/Release/classification.exe D:/CAFFE/caffe-master/examples/hello_caffe/caffemodel/deploy.prototxt D:/CAFFE/caffe-master/examples/hello_caffe/caffemodel/11.20/caffenet_train_iter_4000.caffemodel D:/CAFFE/caffe-master/examples/hello_caffe/mean.binaryproto D:/CAFFE/caffe-master/examples/hello_caffe/label.txt D:/CAFFE/dataset/12class_tif/water/0186.tifPause
我是参照mnist数据集的分类写出来的,其中:
classification.exe为分类器
deploy.Prototxt文件: 将caffe-master/models/bvlc_reference_caffenet目录下的deploy.Prototxt复制修改,这里改了输出层的标签数量(num_output)和全卷积层名称(与前面的train_val.prototxt文件全卷积层名称一致)。
caffenet_train_iter_4000.caffemodel:为训练生成的模型
label.txt:类别对应的标签,输出了9个类别,分别设置每一个类别对应的标签(根据自己需要,可以为字符串)
0186.tif:测试的图像
结果展示
分类结果,得到该图像为水体的概率为0.9999,为harbor的概率为0.0001
- windows 训练、微调caffenet 训练测试自己的数据
- 用自己的数据训练和测试“caffenet”
- 利用自己的数据微调caffenet
- caffe示例实现之5用CaffeNet训练与测试自己的数据集
- caffe示例实现之5用CaffeNet训练与测试自己的数据集
- caffe示例实现之5用CaffeNet训练与测试自己的数据集
- Caffe_Windows学习笔记(二)用自己的数据训练和测试CaffeNet
- caffe利用caffenet训练自己的图片数据
- caffe----训练自己的图片caffenet模型
- Cafffe入门-win7上训练自己的数据和微调
- 训练自己的数据,微调faster Rcnn模型
- windows-caffe 训练和测试自己的数据集
- caffe 训练测试自己的数据集
- caffe训练测试自己的数据集
- Caffe训练、测试自己的图片数据
- Windows下caffe训练自己的数据
- caffe windows 训练自己的图片数据
- Windows caffe vs2013训练自己的数据
- ajax
- mymoni3——具体代码~添加权限依赖 + 页面布局 + 封装类、工具类
- 银行卡号识别Bank Card Rec 主要功能接口说明
- HBase 常用操作
- matlab Wavedec.函数
- windows 训练、微调caffenet 训练测试自己的数据
- HDU 1254 推箱子(广搜+优先队列)
- Drools7.5.0教程(4)-workbench之项目创建
- android:MVP网络请求数据,运用RecyclerView-LinearLayout展示
- POJ 1265 (Pick 公式+求任意多边形面积+顶点多边形的边整点个数)
- hdu 1009 FatMouse' Trade
- Revit二次开发——怎样在类中直接应用WPF窗口
- arcgis for js叠加栅格图层(Raster Layer)
- 文章标题