caffe+cnn

Caffe 的核心模块有三个,分别是 Blobs、Layers 和 Nets。Blobs 用来进行数据存
储、数据交互和处理,通过 Blobs,统一制定了数据内存的接口。Layers 是神经网络
的核心,定义了许多层级结构,它将 Blobs 视为输入输出。Nets 是一系列 Layers 的
集合,并且这些层结构通过连接形成一个网图。

卷积神经网络(CNN)一般包含卷积层、池化层(pooling layer)和 SoftMax 层。


池化层,也称为抽样层,主要是将图像中对不同位置的特征进行聚合。这样做是
因为经过卷积层的图像具有一种“局部性”,图像每个像素点(或者说特征)周围应
该和该点具有较大的相似度。例如,可以使用图像某个区域中特定特征的平均值 (或
最大值)来表示该区域的整体特征。这样做不仅可以降低数据维度(相比使用所有提
取得到的特征),同时还会改善结果(不容易过拟合)。典型的池化技术有以下三种:
a) 均值池化(mean-pooling):选择特定区域中所有值的均值。
b) 最大池化(max-pooling):选择特定区域中值最大的值。
c) 随机池化(stachastic-pooling):随机选择特定区域中的任意一个值。


SoftMax  层
逻辑回归(logistic regression)只能用于二分类,然而当需要进行多分类时,逻
辑回归便不能适用。SoftMax 回归是逻辑回归的改进,主要解决多分类问题。

 caffe实现一个卷积层

layer{ //花括号内为配置信息
name: "conv1" //指定该层的名字为 conv1
type:CONVOLUTION //指定该层的的类型为卷积层(CONVOLUTION)
bottom: "data" //数据输入
top: "conv1" //数据输出
convolution_para{ //卷积层的配置参数
num_output: 96 //输出的卷积核个数
kernel_size: 11 //卷积核大小
stride: 4 //相邻卷积核的间隔
weight_filler {
type: "gaussian"//高斯滤波器
std: 0.01 //标准差 0.01
}
…
}
…
}

caffe实现一个池化层

layer { //花括号内为配置信息
name: "pool1" //指定该层的名字为 pool1
type: "Pooling" //指定该层的的类型为池化层(Pooling)
bottom: "conv1" //数据输入
top: "pool1" //数据输出
pooling_param {
pool: MAX //采用最大池化
kernel_size: 3 //池化区域是 3x3
stride: 2 //相邻池化区域的间隔
}
}

softmax层

layer {
name: "prob" //指定该层的名字为 prob
type: "Softmax"//指定该层的的类型为 SoftMax 层(Softmax)
bottom: "fc8" //数据输入
top: "prob" //数据输出
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>