【占坑】Pre-train 与 Fine-tuning
2015-09-01 13:19
435 查看
Pre-train的model:
就是指之前被训练好的Model, 比如很大很耗时间的model, 你又不想从头training一遍。这时候可以直接download别人训练好的model, 里面保存的都是每一层的parameter配置情况。(Caffe里对于ImageNet的一个model, 我记得是200+M的model大小)。你有了这样的model之后,可以直接拿来做testing, 前提是你的output的类别是一样的。
如果不一样咋办,但是恰巧你又有一小部分的图片可以留着做fine-tuning, 一般的做法是修改最后一层softmax层的output数量,比如从Imagenet的1000类,降到只有20个类,那么自然最后的InnerProducet层,你需要重新训练,然后再经过Softmax层,再训练的时候,可以把除了最后一层之外的所有层的learning rate设置成为0, 这样在traing过程,他们的parameter 就不会变,而把最后一层的learning
rate 调的大一点,让他尽快收敛,也就是Training Error尽快等于0.
这就是我所理解的Fine-tuning和Pre-train的关系。
就是指之前被训练好的Model, 比如很大很耗时间的model, 你又不想从头training一遍。这时候可以直接download别人训练好的model, 里面保存的都是每一层的parameter配置情况。(Caffe里对于ImageNet的一个model, 我记得是200+M的model大小)。你有了这样的model之后,可以直接拿来做testing, 前提是你的output的类别是一样的。
如果不一样咋办,但是恰巧你又有一小部分的图片可以留着做fine-tuning, 一般的做法是修改最后一层softmax层的output数量,比如从Imagenet的1000类,降到只有20个类,那么自然最后的InnerProducet层,你需要重新训练,然后再经过Softmax层,再训练的时候,可以把除了最后一层之外的所有层的learning rate设置成为0, 这样在traing过程,他们的parameter 就不会变,而把最后一层的learning
rate 调的大一点,让他尽快收敛,也就是Training Error尽快等于0.
这就是我所理解的Fine-tuning和Pre-train的关系。
相关文章推荐
- 旋转进度条 WaitView
- GCD Again HDU杭电1787【欧拉函数】
- HDU 5396 Expression ( 2015 Multi-University Training Contest 9)
- main(int argc, char * argv[])讲解
- TelephoneBook-method包-TelephoneMain类
- TelephoneBook-main包-Telephone类
- HDU 5414 CRB and String( 2015 Multi-University Training Contest 10)
- NSLayoutConstraint约束
- POJ 1995:Raising Modulo Numbers 快速幂
- POJ 1995:Raising Modulo Numbers 快速幂
- rails小记1
- container_of,typeof详解
- Shortcuts Now Are Paid Back with Interest Later
- uva 11374 Airport Express 机场快线 迪杰斯特拉算法
- 根文件系统 编辑 http://baike.baidu.com/link?url=LzxNeeT7z7WnA6NCLzWSMHm_Z_8U-tcQouhTFCEk2UyyXloxHwMdNYAR87
- CRM_ORDER_MAINTAIN 修改订单简单示例
- CRM_ORDER_MAINTAIN 创建订单简单示例
- epoll源码实现分析[整理] http://blog.csdn.net/fengwen168168/article/details/48103009
- Epoll实现原理解析 http://blog.csdn.net/wangxiaoqin00007/article/details/14450021
- epoll_create函数实现源码分析 http://blog.csdn.net/lmh12506/article/details/7556188