一开始先把总的层都给罗列出来,有一个整体的印象

  1. Data layers
  2. Vision layers
  3. Recurret layers
  4. Common layers
  5. Normalization layers
  6. Activaction/Neuron layers
  7. Utility layers
  8. Loss layerscaffe各个层初探(一综述)

接下来简要叙述,各层主要功能,后面分类讲述。

  • Data layers 
    • 这里,Data layers数据层,是原始数据的输入层,主要考虑数据的输入方式和对应的转换。如从数据库leveldb、lmdb中读取数据,也可以直接从内存中读取,还可以从hdf5,甚至是原始的图像读入数据。
  • Vision layers
    • vision_layer主要是图像卷积的操作,像convolusion、pooling、LRN都在里面,输出前后都是图像的结构。还有一个序列化的函数im2col,加速卷积
  • Recurret layers
  • Common layers
    • 这层是指全连接层以及一些相关的处理(dropout防止过拟合)
      • Inner Product - fully connected layer.
      • Dropout
      • Embed - for learning embeddings of one-hot encoded vector (takes index as input).
  • Normalization layers
    • 这层顾名思义归一化层
    • 包括LRN 、MVN、Batch Normalization
    • 目的是修调处理后的数据
  • Activaction/Neuron layers
    • **层
    • 包括各种**函数
  • Utility layers
    • 联合层
    • 比较杂的函数方法都丢到这里。向softmax  。。。。。reshape居然也在
  • Loss layers
    • 这里把反馈、损失 都放在这里,算是比较核心的内容。

总的说来,这些层的主干主要包括个,分别是data layersvison layersCommon layersUtility layers and loss layers。

剩下的主要是为了完善而有的。

相关文章: