【FCN实践】03 训练
2017-06-03 20:58
169 查看
Fully Convolutional Networks for Semantic Segmentation
——————————————————————————————————————————【FCN实践】01 常见问题 http://blog.csdn.net/binlearning/article/details/72854136
【FCN实践】02 模型迁移及初始化 http://blog.csdn.net/binlearning/article/details/72854244
【FCN实践】03 训练 http://blog.csdn.net/binlearning/article/details/72854407
【FCN实践】04 预测 http://blog.csdn.net/binlearning/article/details/72854583
【项目源码】https://github.com/binLearning/fcn_voc_32s
——————————————————————————————————————————
经过参数迁移及初始化以后,可以用两种方法来进行训练。一是caffe命令行形式,二是python程序形式。
1.命令行形式
path-to-caffe/build/tools/caffe train -solver solver.prototxt -weights voc_fcn32s_trans_init.caffemodel -gpu 0
solver. prototxt
train_net: "./model/voc_fcn32s_train.prototxt" test_net: "./model/voc_fcn32s_val.prototxt" test_iter: 736 # make test net, but don't invoke it from the solver itself test_interval: 8498 display: 100 average_loss: 20 lr_policy: "fixed" # lr for unnormalized softmax base_lr: 1e-10 # high momentum momentum: 0.99 # no gradient accumulation iter_size: 1 max_iter: 849800 weight_decay: 0.0005 snapshot: 8498 snapshot_prefix: "snapshot/voc_fcn32s" test_initialization: false
注:
①模型需要先经过参数迁移及初始化处理;
②solver. prototxt中需要设置有效的测试间隔(test_interval);
③python layer操作实现文件(voc_layers.py)放到path-to-caffe/python文件夹中。
2.python程序形式
根据官网开源程序修改。
import os import sys import numpy as np import caffe import score weights = './model/voc_fcn32s_trans_init.caffemodel' # init caffe.set_device(0) caffe.set_mode_gpu() solver = caffe.SGDSolver('solver.prototxt') solver.net.copy_from(weights) # scoring val = np.loadtxt('./data/segvalid11.txt', dtype=str) for _ in range(100): solver.step(8498) #score.seg_tests(solver, False, val, layer='score') score.seg_tests(solver, 'val_save_{0}', val, layer='score')
注:
①测试间隔由solver.step(8498)中的数值控制;
②score.seg_tests函数中的第二个形参如果有效则会存储测试时的score图像。
3.改进score图像
原程序中保存图像为灰度图,标签值即像素值,但标签值很小([1,20])所以预测结果不容易观察,现改成以对应的颜色来表示物体,保存为颜色图。
4.训练概况
5.训练各阶段预测示例
2007_000033
2007_000491
2007_009521
相关文章推荐
- 用自制数据训练修改过的基于caffe的fcn网络时loss在一个较大值震荡的解决方法
- 2015级计科软件《数据结构与算法》实践能力专题训练8排序
- caffe初步实践---------使用训练好的模型完成语义分割任务
- hadoop(03)、Hadoop Map/Reduce框架的简单实践
- Caffe实践】如何利用Caffe训练ImageNet分类网络
- 【object detection】RCNN 实践篇 - 使用 Alexnet 预训练 17-flower 数据集(17分类),使用 2-flower 数据集进行 fine-tuning
- FCN语义分割——训练自己的数据
- C03-Java同步实践加强班第6周上机任务
- 使用FCN做图像语义分割(实践篇)
- 2015-03 iOS最佳实践
- Caffe_03_用训练好的模型测试
- 在ASP.NET MVC中使用Knockout实践03,巧用data参数
- 金旭亮老师课程《面向对象软件开发实践之基本技能训练》第二章作业
- [置顶] FCN训练不收敛的原因分析和最详细的FCN训练与测试自己的数据程序配置
- 全卷积神经网络 图像语义分割实验:FCN数据集制作,网络模型定义,网络训练(提供数据集和模型文件,以供参考)
- Caffe实践 - 基于VGG16 多标签分类的训练与部署
- ABP基础实践训练,一个简易的博客(增删改查)等功能 一:
- 【object detection】RCNN 实践篇 - 使用 Alexnet 预训练 17-flower 数据集(17分类),使用 2-flower 数据集进行 fine-tuning
- C03-Java同步实践加强班第6周上机任务
- 基于caffe的fcn网络的训练