如何使用"顶部"和"底部"参数来构建网络体系结构

cer*_*rou 10 caffe

在Caffe原型文本中,每个图层都包含"顶部"或"底部"参数,以指定图层之间的连接.然而,有时候,例如,"顶部"是图层本身(为什么我们必须将它链接到自身?)或者有几个"顶部"图层."顶部"和"底部"参数的确切含义以及使用它们的规则是什么?

Goo*_*eds 14

层和blob之间存在混淆.

在Caffe中,所有数据都以blob的形式表示.每个图层接收零个或多个blob,转换它们,并发出零个或多个blob.例如,ReLU层接受带有数据的单个blob,应用该函数f(x) = x if x>0, 0 otherwise,并将结果输出为单个blob.分类问题的数据层通常有两个输出blob,一个用于数据,另一个用于标签,没有输入blob.

blob可视化,就像它们从底部到顶部穿过网络一样.因此,输入blob称为底部blob,输出blob称为顶部blob.

现在,在原型文本定义中,该name属性存储图层的名称.该bottom属性存储输入blob的名称.该top属性存储输出blob的名称,为方便起见,通常将其视为与图层名称相同.如果该层有多个输入blob,则有多个bottom属性,如果有多个输出blob,则有多个top属性.


小智 5

在咖啡馆:

  1. 层之间链接的名称(顶部/底部参数)非常重要。
  2. 来自层的向外链接是“顶部”,进入层的传入链接是“底部”。因此,一层的顶部作为底部连接到另一层。有点像两个城镇(层)之间的高速公路(顶部/底部)。Caffe 根据顶部/底部链接的名称确定您的网络结构。
  3. 层本身的名称远没有那么重要,并且不携带结构信息。你只需要这些是明智和独特的。同一条高速公路在两个城镇之间进行交通,无论它们如何命名。
  4. Layers 和 top/bottoms 的命名空间是分开的。因此,您可以将图层命名为与顶部或底部相同的名称。这不代表什么。但它令人困惑,应该避免。