我从零开始训练了GoogLeNet模型。 但它没有给我带来希望的结果。
作为替代,我想对我的数据集中的GoogLeNet模型进行微调。 有谁知道我应该遵循什么步骤?
GoogLeNet模型的微调
模型 微调 GoogleNet
2023-09-14 08:58:39 时间
采纳答案:
假设你正在尝试做图像分类。 这些应该是微调模型的步骤:
1.分类层
原始分类层"loss3/classifier"
输出1000个类的预测(它的mum_output
设置为1000)。 您需要将其替换为具有适当num_output
的新图层。 替换分类层:
- 更改图层的名称(以便当您从caffemodel文件读取原始权重时,不会与此图层的权重发生冲突)。
- 将
num_output
更改为您尝试预测的正确数量的输出类。 - 请注意,您需要更改所有分类图层。 通常只有一个,但是GoogLeNet碰巧有三个:
"loss1/classifier"
,"loss2/classifier"
和"loss3/classifier"
。
2.数据
您需要创建一个新的训练数据集,其中包含您想要调整的新标签。 例如,请参阅这篇文章 ,了解如何制作lmdb数据集。
3.你想要进行多少广泛的调谐?
微调模型时,可以训练所有模型的权重,或者选择修正一些权重(通常是较低/较深层次的过滤器),并仅训练最顶层的权重。 这个选择取决于你,它通常取决于可用的训练数据量(更多的例子你可以承受更多的权重,可以进行微调)。
每个图层(包含可训练参数)都有param { lr_mult: XX }
。 这个系数决定了这些权重对SGD更新的敏感程度。 设置param { lr_mult: 0 }
意味着你修改这个图层的权重,并且在训练过程中它们不会被改变。
相应地编辑您的train_val.prototxt
。
4.运行咖啡
运行caffe train
但提供caffemodel的重量作为初始重量:
~$ $CAFFE_ROOT/build/tools/caffe train -solver /path/to/solver.ptototxt -weights /path/to/orig_googlenet_weights.caffemodel
更多答案请参考GoogLeNet模型的微调。版权归stackoverflow所有,转载请保留此链接 GoogLeNet模型的微调
更多关于caffe 的细节,关注徐其华大神的系列博客,写得非常详细。
链接:http://www.cnblogs.com/denny402/tag/caffe/
相关文章
- 【MIT博士论文】通过奇异值分解、端到端基于模型的方法和奖励塑造的有效强化学习
- PGL图学习之图游走类metapath2vec模型[系列五]
- Thinkphp6学习(5)模型知识总结(一)
- 3. 软件测试——开发模型(瀑布模型,螺旋模型,递增迭代,敏捷开发)
- 【c++】【基础】【primer_plus】【第九章】内存模型与作用域
- 新版KeyShot Pro中文版v10.2.113 (3D模型渲染软件)
- 让ChatGPT编写交互式网页应用的临床预测模型
- 这是一个基于Threejs的商品VR展示系统的 VR模型展示Demo
- 3D 小姐姐模型是怎么“捏”成的? 初识 Mesh 知识点!
- 数据分享|R语言分析上海空气质量指数数据:kmean聚类、层次聚类、时间序列分析:arima模型、指数平滑法|附代码数据
- 全新轻量化模型 | 轻量化沙漏网络助力视觉感知涨点
- 首次:微软用GPT-4做大模型指令微调,新任务零样本性能再提升
- 深入理解MySQL关系模型(mysql关系模型)
- Java内存模型浅析详解编程语言
- 剑指F-35:苏霍伊展示Checkmate SU-75五代战机模型
- 深入了解MySQL的数据模型:结构、类型与关联设计(mysql的模型)