【问题标题】:weights used by caffe layers with same name in different phases不同阶段同名的 caffe 层使用的权重
【发布时间】:2016-07-07 20:50:27
【问题描述】:

我有一个类似的 prototxt:

layer{
  name:"l1"
  bottom: "b1"
  top: "t1"
  include{
    phase: TRAIN
  }
}
layer{
  name:"l1"
  bottom: "b1"
  top: "t2"
  include{
    phase: TEST
  }
}

有两层
同名
不同的斑点
不同阶段

测试阶段使用什么权重?
1.) 在训练阶段学习的权重(因为层具有相同的名称)
2.) 随机初始权重

【问题讨论】:

    标签: caffe


    【解决方案1】:

    在训练阶段学习的权重将尝试在测试阶段使用。

    但如果不满足以下两个条件中的任何一个,则会发生错误以停止测试:

    1. 两层的blob个数相等
    2. 两层blob的形状(每个维度的大小)是一致的

    事实上,测试网络中的层总是会尝试从训练网络中具有相同名称的层复制权重,并检查包含权重的 blob 的数量和形状,以确保它将使用正确的权重。

    详细信息可以在"template void Net::ShareTrainedLayersWith(const Net* other)" 函数中找到,该函数将被测试网络对象调用以在测试开始时从训练网络复制权重。

    【讨论】:

      猜你喜欢
      • 2016-08-19
      • 1970-01-01
      • 2018-08-07
      • 1970-01-01
      • 1970-01-01
      • 2017-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多