深度学习caffe框架(2): layer定义

本文介绍了Caffe框架的layer结构,包括数据输入层、视觉层(卷积层、池化层、LRN层、im2col层)、激活层(如ReLU)、全连接层、Dropout层和Softmax-loss层,详细阐述了各层的功能和参数设置。
摘要由CSDN通过智能技术生成


caffe的代码层次

首先让我们回顾一下caffe的代码层次: blob,layer, net和solver.
其中blob是数据结构, layer是网络的层, net是将layer搭建成的网络,solver是网络BP时候的求解算法. 本节主要介绍caffe的layer基本结构, 种类, 以及不同类型的layer如何定义.

layer的基本结构和种类

Caffe的layer的基本结构:

Layer{
 name: "xx"  # 名称
  type: "xx" # 类型
  top: "xx" # 输出
  bottom: "xx" # 输入
  some_param { # 其他参数定义等
    ...
  }
}

从一个典型的卷积神经网络模型结构出发, 首先需要数据输入层,然后是图像的预处理,例如图像切割slice, 卷积层Convolution, 在caffe中,激活函数等数据运算也用layer的方式定义. 总的来说,caffe的layer种类如下:

  • 数据输入层:
  • 视觉层(Vision Layers): 包括Convolution, Pooling, Local Response Normalization (LRN), im2col等
  • 损失层: softmax-loss层, Euclidean层.
  • 循环层: RNN, LSTM层等.
  • 工具层(Utility layer): 例如reshape层, concat层等
  • 普通层(Common layer): dropout层, 全连接层, embed层.

数据输入层:

一个常见的数据输入层定义如下. 输入数据定义为lmdb数据库格式.

layer {
  name: "data"
  type: "CPMData"
  top: "data"
  top: "label"
  data_param {
    source: "/home/zhecao/COCO_kpt/lmdb_trainVal"  # lmdb数据文件路径
    batch_size: 10
    backend: LMDB
  }
  cpm_transform_param { # 图片预处理
    stride: 8 
    max_rotate_degre
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值