版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/Cheese_pop/article/details/52024980

DATA

crop:截取原图像中一个固定patch

layers {
name: "data"
type: DATA
top: "data"
top: "label"
data_param {
source: "../data/ImageNet/imagenet-train" #数据存放位置
batch_size: 128 #一次批处理的大小,视内存大小而定。四维数组N*C*H*W中的N
backend: LMDB #数据库类型,默认为leveldb
}
include: { phase: TRAIN } #如果加了这一行的话表示是在训练过程中使用该层,可将TRAIN替换为TEST
}

CONVOLUTION

layer {
name: "conv"
type: "Convolution"
bottom: "data"
top: "conv"
param {
lr_mult: 1 #权重的学习率 该层lr=lr_mult*base_lr
decay_mult: 1 #权重的衰减值
}
param {
lr_mult: 2 #偏置项的学习率
decay_mult: 0 #偏置项的衰减值
}
convolution_param {
num_output: 96 #该层输出的filter的个数。四维数组N*C*H*W中的W
kernel_size: 11 #卷积核大小11*11。可设定长kernel_h与宽kernel_w
stride: 4 #步长,也就是卷积核滑动的距离
weight_filler { #卷积核初始化方式
type: "gaussian" #高斯分布
std: 0.01 #标准差为0.01
}
bias_filler { #偏置项初始化方式
type: "constant" #连续分布
value: 0
}
}
}

这里说一下关于weight_filler和bias_filler的几种设定方式:

TYPE PARAM EXPLAIN
Constant Value 以常量初始化,初始化值为[Value]
Gaussian std,mean 以高斯分布方式初始化,均值为[mean],标准差为[std]
uniform min,max 均匀分布,[min,max]
xavier scale 均匀分布,[-scale,scale],scale=sqrt(3/K*H*W)

RELU

layer {
name: "relu"
type: "ReLU"
bottom: "conv"
top: "conv"
}

Relu标准函数:f(x)=max(0,x)f(x)=max(0,x)。 
当未指定negative_slope值时,为标准Relu层;指定negative_slope值时,f(x)={x,negative_slope×x,x>0x≤0f(x)={x,x>0negative_slope×x,x≤0

LRN

layer {
name: "norm"
type: "LRN"
bottom: "conv"
top: "norm"
lrn_param {
local_size: 5#对于cross channel LRN,表示需要求和的channel的数量;对于within channel LRN,表示需要求和的空间区域的边长。默认为5
alpha: 0.0001 #LRN公式中的参数alpha
beta: 0.75 #LRN公式中的参数beta
}
}

POOLING

layer {
name: "pool"
type: "Pooling"
bottom: "norm1"
top: "pool1"
pooling_param {
pool: MAX #有三种池化方式:MAX,AVG,STOCHASTIC
kernel_size: 3 #卷积核大小;可设定长kernel_h与宽kernel_w
stride: 2 #步长
}
}

INNERPRODUCT

参数和卷积层几乎一样,仅贴出代码,不做过多解释

layer {
name: "fc7"
type: "InnerProduct"
bottom: "fc6"
top: "fc7"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 4096
weight_filler {
type: "gaussian"
std: 0.005
}
bias_filler {
type: "constant"
value: 0.1
}
}
}

ACCURACY

layer {
name: "accuracy"
type: "Accuracy"
bottom: "fc8"
bottom: "label"
top: "accuracy"
include {phase: TEST}
}

可添加

accuracy_param {
top_k: 5
}

默认为top_1,添加该项后,选择测试top_k准确率。

SOFTMAX_LOSS

layers {
name: "loss"
type: SOFTMAX_LOSS
bottom: "pool3"
bottom: "label"
top: "loss"
include: { phase: TRAIN }
}

注意,在计算softmax_loss前,将pool3层默认经过了一次softmax计算。 
另外,以上所有层的name项都是自己随意定的,只要好辨认,不重复就可以。

Caffe常用层参数介绍的更多相关文章

  1. 深入浅出 JVM GC(4)常用 GC 参数介绍

    # 前言 从前面的3篇文章中,我们分析了5个垃圾收集器,还有一些 GC 的算法,那么,在 GC 调优中,我们肯定会先判断哪里出现的问题,然后再根据出现的问题进行调优,而调优的手段就是 JVM 提供给我 ...

  2. Caffe的solver参数介绍

      版权声明:转载请注明出处,谢谢! https://blog.csdn.net/Quincuntial/article/details/59109447 1. Parameters solver.p ...

  3. Hadoop(三) HADOOP常用命令参数介绍

    -help 功能:输出这个命令参数手册 -ls                  功能:显示目录信息 示例: hadoop fs -ls hdfs://hadoop-server01:9000/ 备注 ...

  4. java常用JVM参数介绍

    采集服务JVM参数说明 -Xmx4g -Xms4g -Xmn512m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=4g -Xss256k Xms 是指设定程 ...

  5. Caffe学习系列(5):其它常用层及参数

    本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accuracy层,reshape层和dropout层及其它们的参数配置. 1.softmax-loss so ...

  6. 转 Caffe学习系列(5):其它常用层及参数

    本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accuracy层,reshape层和dropout层及其它们的参数配置. 1.softmax-loss so ...

  7. 4、Caffe其它常用层及参数

    借鉴自:http://www.cnblogs.com/denny402/p/5072746.html 本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accu ...

  8. caffe(5) 其他常用层及参数

    本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accuracy层,reshape层和dropout层及其它们的参数配置. 1.softmax-loss so ...

  9. 【转】Caffe初试(七)其它常用层及参数

    本文讲解一些其它的常用层,包括:softmax-loss层,Inner Product层,accuracy层,reshape层和dropout层及它们的参数配置. 1.softmax-loss sof ...

随机推荐

  1. XML与HTML区别

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流!—————————— Xml简介 1. xml是什么? Xml 是eXtended markup lang ...

  2. spark web ui中的skipped的含义

    顾名思义,跳出的意思啦. 例如如图: skipped的stages代表是已经执行过了.所以不需要再执行了. 如何,你有一个 testRdd.然后先做 testRdd.Filter("xxx& ...

  3. 033 Java Spark的编程

    1.Java SparkCore编程 入口是:JavaSparkContext 基本的RDD是:JavaRDD 其他常用RDD: JavaPairRDD JavaRDD和JavaPairRDD转换: ...

  4. rabbitmq学习(四) —— 发布订阅

    为了说明这种模式,我们将建立一个简单的日志系统.这个系统将由两个程序组成,第一个将发出日志消息,第二个将接收并处理日志消息.在我们的日志系统中,每一个运行的接收程序的副本都会收到日志消息. 交换器(E ...

  5. eclipse launching workspace太慢的解决方法

    这几天eclipse调试Android项目的时候反应超慢,右下显示launching workspace就不怎么动了,今天终于卡的受不了了,在网上搜了写方法,设置了下总算好点了,现在把方法贴出来,跟大 ...

  6. [ 转载 ] Java中成员变量 和局部变量

    java语言支持的变量类型 类变量:独立于方法之外的变量,用 static 修饰. 局部变量:类的方法中的变量. 实例变量(全局变量):独立于方法之外的变量,不过没有 static 修饰. publi ...

  7. GBDT算法

    GBDT通过多轮迭代,每轮迭代产生一个弱分类器,其中弱分类器通常选择为CART树,每个分类器在上一轮分类器的残差基础上进行训练. 对于GBDT算法,其中重要的知识点为: 1.GBDT是梯度下降法从参数 ...

  8. 任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。

    任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和. 当n=7共14种拆分方法: 7=1+1+1+1+1+1+1 7=1+1+1+1+1+2 7=1+1+1+1+3 7=1+1+1+2+2 ...

  9. BZOJ2081 : [Poi2010]Beads

    暴力枚举$k$,对于一个子串,计算它正着的hash值以及反着的hash值,取最小值得到其最终hash值. 对于$k$,一共有$\lfloor\frac{n}{k}\rfloor$个子串,计算出它们的最 ...

  10. bzoj 3285 离散对数解指数方程

    /************************************************************** Problem: 3285 User: idy002 Language: ...