zoukankan      html  css  js  c++  java
  • GoogLeNet模型的微调

    我从零开始训练了GoogLeNet模型。 但它没有给我带来希望的结果。 
    作为替代,我想对我的数据集中的GoogLeNet模型进行微调。 有谁知道我应该遵循什么步骤?

    采纳答案:

    假设你正在尝试做图像分类。 这些应该是微调模型的步骤:

    1.分类层

    原始分类层"loss3/classifier"输出1000个类的预测(它的mum_output设置为1000)。 您需要将其替换为具有适当num_output的新图层。 替换分类层:

    1. 更改图层的名称(以便当您从caffemodel文件读取原始权重时,不会与此图层的权重发生冲突)。
    2. num_output更改为您尝试预测的正确数量的输出类。
    3. 请注意,您需要更改所有分类图层。 通常只有一个,但是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/

  • 相关阅读:
    wpf 命令
    wpf 事件
    wpf 依赖属性介绍
    wpf binging (六)多绑定
    ISI的晶圆级MRAM测试仪
    常见存储器分类
    存储器SDRAM简要历史
    当前MRAM市场以及专用MRAM设备测试的重要性
    IPUS SQPI PSRAM为STM32单片机提供RAM扩展方案
    单端口SRAM与双端口SRAM电路结构
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/9009225.html
Copyright © 2011-2022 走看看