caffe上手:caffe训练一般过程--wanglei 写给自己

来源:互联网 发布:淘宝店铺营销策划方案 编辑:程序博客网 时间:2024/04/29 22:29
caffe训练一般过程--wanglei.txt
2017-4-9


1. 将图像数据整理成按类存放的形式,类似catch256形式


2.统一所有图像的格式,一般为jpg。【使用“格式工厂”】


3.数据扩充(镜面、裁剪、旋转),一般扩大20倍以上。【使用“Demo_batch_data_augmentation.m”】


4.在扩充得到的数据上,生成类标签classname.txt(以及其同名mat文件)和所有图像imagepathlist_all.txt(以及其同名mat文件),即产生4个文件。【使用“get_traintxt_and_testtxt_caffe.m”】


5.将扩充得到的数据,按照一定比例(预设值),随机挑选图像,分别得到:文件夹train图像和文件夹test图像,同时分别生成符合caffe规范的两个文件:trian.txt和test.txt。【使用“Get_trainset_testset_from_BigDataSet.m”】


6.检查你所准备好的图像数据(文件夹train和test下图像数是否正确)及其相应的列表文件(train.txt和test.txt下图像行数是否正确)


7.在train图像和val图像上,分别产生相应的LMDB数据。【使用“convertGeneralFormat_tongyong.sh”】


8.在train图像上,生成MeanImage数据。【使用“computMeanImage_tongyong.sh”】


9.修改已有的网络模型结构文件prototxt,主要是替换最后基层IP层(一定要修改原层的名称),以及与它相关层的bolb引用,同时修改替换层相应的权重和偏执的学习率为及学习率的5~10倍(为加快新的替换层参数的学习);修改数据层的训练和测试阶段的source源;修改meanimage路径;。


10.修改已有的相应solver模型优化文件prototxt,主要是修改net引用位置;修改快照文件夹路径


11.修改deploy.prototxt文件,主要是网络的名字name要与train_val.prototxt相同;修改替换最后基层IP层(一定要修改原层的名称),以及与它相关层的bolb引用;


12.准备与训练好的caffemodel文件(与7.8.9.相对应的)


13.画出相应的模型结构图。【使用“drawnet_tongyong.sh”】


14.开始训练,如:./build/tools/caffe train –solver examples/finetune_myself/models/solver.ptototxt –weights examples/finetune_myself/pre_train_models/bvlc_reference_caffenet


15.训练的结果,训练完成后,得到caffemodel文件。如:models_iter_100000.caffemodel


16.开始测试,如:./build/examples/cpp_classification/classification.bin  **/**/deploy.prototxt   **/***/models_iter_100000.caffemodel   **/**/image_mean.binaryproto   **/**/labels.txt   **/**/car.jpg


17.测试的结果,如:
white - "0.9963"  
gray - "0.0036"  
green - "0.0001" 


18.试着去判断一张图的分类。【使用“Demo_test_ilsvrc12_model.sh”】


19.分析各层数据(导出为.mat文件)。【使用“Demo_Save_pramsoftrainedcaffemodel_to_matformat.py”】











0 0