Caffe Knowledge about Softmax and fine tuning
来源:互联网 发布:合肥软件培训机构 编辑:程序博客网 时间:2024/06/16 22:00
1、在caffe中,softmax layer输出的是原始的输入在每一个分类标签上的概率,例如在lenet网络中,输出的分类共有0-9的10中分类,那么softmax layer就会输出含有10个元素的向量,每一个元素表示输入在每一个分类上的概率。
2、http://blog.csdn.net/u013989576/article/details/72190134?locationNum=3&fps=1 CNN提取特征
3、
第一个,微调数据的准备
微调的目的是使别人训练好的模型更适合自己的数据,因此,微调的数据一般都是适合自己应用的数据。但是,大牛建议,在微调是不要全部使用自己的数据,应该将自己的数据和原始训练数据混合在一起,并逐步增加自己的数据的比例,这样效果可能会好一些。
第二个,网络的修改
微调是在已经训练好的模型的基础上,用自己的数据继续训练网络。那为什么叫微调为网络而不是继续训练网络。个人觉得微调指的是可以局部调整参数,也就是我们可以在微调是可以只调节某一层的权重,一般只调节全连接层的权重。那么要怎样实现这个目的呢?这就需要我们修改网络配置文件中的lr_mult和decay_mult两个参数,如下图:
如果你不想改变某一层的参数,只要将这一层对应的lr_mult和decay_mult都设置成0即可。
注意:这种方式的效果可能并不好,有的大牛建议,增大最后一个全连接层的lr_mult,如分别设置层10和20
第三个,最后一个全连接层的修改
修改的地方有两个:
一,我们的微调数据的种类和原始训练数据的种类可能不同,因此我们需要将层中的参数num_ouput:你的数据类型。
二,当你修改了num_output参数后,由于与原始模型不同了,所以在加载模型时会报错,因此这一层的权重我们就不能从模型中加载,要重新训练。错误提示如下:
模型加载时是按照层的名字加载的,因此我们需要修改参数的名字,这样这一层的权重就可以从新初始值开始训练。
- Caffe Knowledge about Softmax and fine tuning
- Caffe fine-tuning 学习
- Caffe fine-tuning 微调网络
- Caffe fine-tuning 微调网络
- Caffe fine-tuning 微调网络
- Caffe fine-tuning 微调网络
- caffe|Fine-tuning for driver
- 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 微调网络
- Caffe fine-tuning 微调网络
- transfer learning and fine-tuning
- 2017.08.04小结
- 双活解决方案如何部署“应用”双活?
- python大牛的博客,没事多去看
- 项目入门经验杂记
- CodeForces
- Caffe Knowledge about Softmax and fine tuning
- php+apache+mysql自定义安装
- 【数学建模】图与网络 提纲 & matlab代码
- 奶牛集会
- OGNL
- 谈JavaScript中的变量和数据类型
- Numpy学习教程
- 异步任务,开启网络的dialog , 解析网络上的json
- 程序员百度云资源