[caffe]网络各层参数设置

数据层

数据层是模型最底层,提供提供数据输入和数据从Blobs转换成别的格式进行保存输出,通常数据预处理(减去均值,放大缩小,裁剪和镜像等)也在这一层设置参数实现.

参数设置:

  • name: 名称
  • type: 类型
    • Data: 从LMDB读取数据和标签, 转换(http://deepdish.io/2015/04/28/creating-lmdb-in-python/) 可以使用convert_imageset转换
    • ImageData: 直接读取图片数据
    • ....
  • top: 输出数据(和下一层的bottom一样)
  • bottom: 输入数据()
  • include: 一般训练和测试的时候,模型层不一样,由include指定在哪一层出现, TRIAN/TEST
  • transform_params: 数据预处理
  • data_params: 数据参数

    • source: 数据位置
    • backend
    • batchsize: 设置batch的大小

例如,caffe中自带的mnist example

layer {
  name: "mnist" #名称
  type: "Data" #输入的是LMDB数据,前面的create_mnist.sh做了转换
  include: TRIAN  #只在训练的时候才包括(测试没有label)
  transform_param {
    scale: 0.00390625 #缩放参数
  }
  data_param {
    source: "examples/mnist/mnist_train_lmdb" #数据来源是在当前文件夹中的 mnist_train_lmdb中
    backend: LMDB
    batch_size: 64 #batch的大小
  }
  top: "data" #第一层输出data和label, 无bottom
  top: "label" #
}

convert_imageset [FLAGS] ROOTFOLDER/ LISTFILE DB_NAME

视觉层

卷积层

卷积的目的是提取feature

  • name: 名称
  • type: 层类型
  • bottom: 输入
  • top: 输出
  • lr_mt: 学习率速率, 最终学习率是这个数乘以solver.prototxt 配置文件中的base_lr; 如果有两个lr_mt一个表示偏置学习率,一个表示权值学习率
  • num_outputs: filter的个数
  • kernel_size: 卷积核大小
  • stride: 步长
  • pad: 边缘扩充
  • weight_filler: 权值初始化, 默认为constant, 值全为0,经常用xavier, 也可设置为gaussian
  • bias_filler: 偏置初始化方法, 一般偏置初始化方法可以不设置

例如:

layer {
  name: "conv1" #名称
  type: "Convolution" #层类型
  bottom: "data" #上一层输入数据
  top: "conv1" #这一层输出数据
  param {
    lr_mult: 1  #权重学习率速率
  }
  param {
    lr_mult: 2  #偏置学习率速率
  }
  convolution_param {
    num_output: 20  #filter的个数
    kernel_size: 5    #卷积核的大小
    stride: 1
    weight_filler {
      type: "xavier"  #权重初始化方法
    }
    bias_filler {
      type: "constant"  #偏置初始化方法
    }
  }
}

池化层

减少数据量和数据维度

  • kernel_size:池化核大小
  • pool: 池化方法, max, ave, stochastic
  • pad:
  • stride

Normalization

 

原文地址:https://www.cnblogs.com/vincentcheng/p/8474506.html

时间: 2024-10-30 07:03:04

[caffe]网络各层参数设置的相关文章

c++ caffe 输出 activation map 、 层参数

python输出activation map与层参数:https://blog.csdn.net/tina_ttl/article/details/51033660 caffe::Net文档: https://caffe.berkeleyvision.org/doxygen/classcaffe_1_1Net.html#a6f6cf9d40637f7576828d856bb1b1826 caffe::Blob文档: http://caffe.berkeleyvision.org/doxygen/

caffe的cancat层

我在训练Goolenet inception-v3时候出现了concat错误,因此写下concat层的一些知识点,以供读者跳坑 concat层在inception-v3网络中存在非常明显,之所以需要concat层是由于在之前的卷积池化层进行了卷积核大小的变化 卷积核大小变化的出发点:1.减小sobel算子维度,从而降低整个卷积层的参数,如,将5*5的卷积转化为2个3*3的卷积,其参数多少就会由25个转化为9+9=18个,在卷积层的卷积核转化时 还会有这种操作:将n*n的卷积转化为1*n和n*1并

阿里云RDS-MYSQL数据库参数设置,K哥

2016.9.2 最近被阿里云的数据库要搞疯掉了 自打阿里云抽风,非要取消myisam引擎,都换成innodb 没事总是主备切换,也没有错误日志 一问客服就是物理机波动,擦,波动是什么???????? 服务器自己跳舞了吗 看了看参数设置,很多都不知道 这两天有时间自己搜索整理了下 发给大家,有需要的看看 我的服务器应用主要是WEB网站服务 有一些不懂的地方或者不对的地方,还请大牛不吝赐教! 回复在评论中就可以了,thank you 我是K哥 auto_increment_offset表示自增长字

C3p0的参数设置

C3p0的参数设置:ComboPooledDataSource和BasicDataSource一样提供了一个用于关闭数据源的close()方法,这样我们就可以保证Spring容器关闭时数据源能够成功释放. C3P0拥有比DBCP更丰富的配置属性,通过这些属性,可以对数据源进行各种有效的控制: acquireIncrement:当连接池中的连接用完时,C3P0一次性创建新连接的数目: acquireRetryAttempts:定义在从数据库获取新连接失败后重复尝试获取的次数,默认为30: acqu

(二)NS3如何编译、运行脚本和 Command Line命令行参数设置

二.编译.运行脚本和Command Line命令行参数设置 7. 编译和运行脚本主要步骤 1) 将编写的脚本复制到ns-3.22/scratch目录下(可以在ubuntu窗口界面直接复制) 进入ns3目录: /ns-3.22 $ cp examples/tutorial/first.cc  scratch/myfirst.cc将脚本复制到scratch目录下 2) 构建(编译) $ ./waf 3) 运行 $ ./waf --run scratch/myfirst (可能会有运行权限问题,可在r

网络七层知多少,学以致用

OSI网络七层包括:1{应用层,表示层,会话层,传输层}2{网络层,数据链路层,物理层} 1主要负责互操作性 2用于创造两个网络设备间的物理连接. 第7层应用层:OSI中的最高层.为特定类型的网络应用提供了访问OSI环境的手段.应用层确定进程之间通信的性质,以满足用户的需要.应用层不仅要提供应用进程所需要的信息交换和远程操作,而且还要作为应用进程的用户代理,来完成一些为进行信息交换所必需的功能.它包括:文件传送访问和管理FTAM.虚拟终端VT.事务处理TP.远程数据库访问RDA.制造报文规范MM

Socket中的异常和参数设置

1.常见异常 1.java.net.SocketTimeoutException . 这个异 常比较常见,socket 超时.一般有 2 个地方会抛出这个,一个是 connect 的 时 候 , 这 个 超 时 参 数 由connect(SocketAddress endpoint,int timeout) 中的后者来决定,还有就是 setSoTimeout(int timeout),这个是设定读取的超时时间.它们设置成 0 均表示无限大. 2.java.net.BindException:Ad

关于mysql的wait_timeout参数 设置不生效的问题【转】

关于wait_timeout 有一次去online set wait_timeout 的时候发现改了不生效,如下: mysql> show variables like 'wait_timeout';+---------------+-------+| Variable_name | Value |+---------------+-------+| wait_timeout | 100 |+---------------+-------+1 row in set (0.00 sec) mysq

linux TCP 参数设置

tcp_syn_retries :INTEGER 默认值是5 对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃.不应该大于255,默认值是5,对应于180秒左右时间.(对于大负载而物理通信良好的网络而言,这个值偏高,可修改为2.这个值仅仅是针对对外的连接,对进来的连接,是由tcp_retries1 决定的) tcp_synack_retries :INTEGER 默认值是5 对于远端的连接请求SYN,内核会发送SYN + ACK数据报,以确认收到上一个 SYN连接请求包.这是所谓的