caffe微调网络时的注意事项(持续更新中)
来源:互联网 发布:2017年网络话题 编辑:程序博客网 时间:2024/06/07 22:20
最近在微调遇到了一些困难,在此做一个记录,与大家分享!
第一个,微调数据的准备
微调的目的是使别人训练好的模型更适合自己的数据,因此,微调的数据一般都是适合自己应用的数据。但是,大牛建议,在微调是不要全部使用自己的数据,应该将自己的数据和原始训练数据混合在一起,并逐步增加自己的数据的比例,这样效果可能会好一些。
第二个,网络的修改
微调是在已经训练好的模型的基础上,用自己的数据继续训练网络。那为什么叫微调为网络而不是继续训练网络。个人觉得微调指的是可以局部调整参数,也就是我们可以在微调是可以只调节某一层的权重,一般只调节全连接层的权重。那么要怎样实现这个目的呢?这就需要我们修改网络配置文件中的lr_mult和decay_mult两个参数,如下图:
如果你不想改变某一层的参数,只要将这一层对应的lr_mult和decay_mult都设置成0即可。
注意:这种方式的效果可能并不好,有的大牛建议,增大最后一个全连接层的lr_mult,如分别设置层10和20
第三个,最后一个全连接层的修改
修改的地方有两个:
一,我们的微调数据的种类和原始训练数据的种类可能不同,因此我们需要将层中的参数num_ouput:你的数据类型。
二,当你修改了num_output参数后,由于与原始模型不同了,所以在加载模型时会报错,因此这一层的权重我们就不能从模型中加载,要重新训练。错误提示如下:
模型加载时是按照层的名字加载的,因此我们需要修改参数的名字,这样这一层的权重就可以从新初始值开始训练。
未完待续。。。。。
- caffe微调网络时的注意事项(持续更新中)
- caffe实际运行中遇到的问题(持续更新)
- caffe训练中遇到的一些问题(持续更新......)
- caffe网络微调(fine-tuning)
- caffe 微调网络模型
- keil 软件的使用注意事项(持续更新中)
- 关于论文的注意事项(持续更新)
- caffe训练与微调时的区别
- caffe模型微调时遇到的问题
- Caffe fine-tuning 微调网络
- Caffe fine-tuning 微调网络
- Caffe fine-tuning 微调网络
- Caffe fine-tuning 微调网络
- Caffe fine-tuning 微调网络
- Caffe fine-tuning 微调网络
- Caffe fine-tuning 微调网络
- Caffe fine-tuning 微调网络
- Caffe fine-tuning 微调网络
- Ubuntu16.06 禁用ipv4流量只用ipv6
- 滚动视图 ScrollView PageController NSTimer
- MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合
- Java内存分配
- 343. Integer Break
- caffe微调网络时的注意事项(持续更新中)
- Android webview基础知识
- 非常经典的JAVA编程题(条件运算符)
- 基于s5pv-210开发板 LCD驱动
- 【C语言】求一个整数的因子之和
- 【iOS 开发】从 setNeedsLayout 说起
- hdu 1033 Edge
- boost创建线程例子
- web.xml 配置随笔