FCN网络中使用的caffe类型层汇总--Convolution/Deconvolution/Crop/Eltwise/SoftmaxWithLoss
来源:互联网 发布:ubuntu 安装golang1.8 编辑:程序博客网 时间:2024/05/03 22:56
FCN卷积神经网络是深度学习在图像语义分割上的开山之作。其主旨思想就是 将全连接层 转化为卷积操作。其中不但有经典神经网络所使用的Convolution(卷积)操作,还包括Deconvolution、Crop、Eltwise操作。将其整理如下:
1. Crop 层:
主要作用是进行裁切。下面我们举一个例子来说明如何使用Crop 层:
Caffe中的数据是以 blobs形式存在的,blob是四维数据,即 (Batch size, Channel_Num, Height, Width)=(N, C, H, W)
Crop层的输入(bottom blobs)有两个,让我们假设为A和B,输出(top)为C。
- A是要进行裁切的bottom,他的size是 (20,50,512,512)
- B是裁切的参考输入,他的size是(20,10,256,256)
- C是输出(top blob),由A裁切而来,那么他的size是(20,10,256,256)
在这个例子中,轴0的维度不变,我们只需要裁切blob的轴1,2,3,所以我们设置axis=1,代表我们将会裁切轴1和它之后的所有轴。
有两个裁切模式:
模式1---给出3个offsets,每个针对一个dimension,offset=(25,128,128)
- axis=1,offset=(25,128,128)
- crop operation: C = A[: , 25: 25+B.shape[1] , 128: 128+B.shape[2] , 128: 128+B.shape[3] ]
- 也就是说,对于A的轴1,对称裁切了25-35
- 对称裁切:offset = (Original_length - desired length ) / 2
模式1的prototxt写法如下:
layer { name: "crop_layer" type: "Crop" bottom: "A" bottom: "B" top: "C" crop_param { axis: 1 offset: 25 offset: 128 offset: 128 }}
模式2---给出1个offset,适用于三个dimension,offset=25
- 那么就相当于模式1 的 offset=(25,25,25)
模式2的prototxt写法如下:
layer { name: "crop_layer" type: "Crop" bottom: "A" bottom: "B" top: "C" crop_param { axis:2 offset: 19 }}
2. Eltwise层:
Eltwise层的操作有三个:product(点乘), sum(相加减) 和 max(取大值),其中sum是默认操作。
假设输入(bottom)为A和B,如果要实现element_wise的A+B,即A和B的对应元素相加,prototxt文件如下:
layer { name: "eltwise_layer" type: "Eltwise" bottom: "A" bottom: "B" top: "diff" eltwise_param { operation: SUM }}如果实现A-B,则prototxt为:
layer { name: "eltwise_layer" type: "Eltwise" bottom: "A" bottom: "B" top: "diff" eltwise_param { operation: SUM coeff: 1 coeff: -1 }}
未完待续。。。
0 0
- FCN网络中使用的caffe类型层汇总--Convolution/Deconvolution/Crop/Eltwise/SoftmaxWithLoss
- caffe中Eltwise层
- Caffe中Convolution层
- caffe SoftmaxWithLoss 层
- Caffe 学习:Eltwise层
- Caffe 学习:Eltwise层
- Caffe 学习:Eltwise层
- caffe中的Eltwise层
- caffe用python设置网络的Convolution层Pooling层和LRN--caffe学习(4))
- caffe crop层
- caffe crop层理解
- caffe中的crop层
- caffe 功能层之Eltwise层
- caffe层解析之softmaxwithloss层
- 使用caffe-future完成FCN网络的训练
- caffe 里deconvolution layer (解卷积层)的理解
- caffe之SoftmaxWithLoss层 自定义实现
- 基于caffe的fcn网络的训练
- Spring学习(九)使用ioc注解方式配置bean
- 一般执行
- 应用汉化过程遇到的问题 汉化必须注意的事项
- Spring事务传播隔离只读回滚超时5种属性详细
- 001java面试笔记——【java基础篇】
- FCN网络中使用的caffe类型层汇总--Convolution/Deconvolution/Crop/Eltwise/SoftmaxWithLoss
- Session方法(2)
- 文章标题
- ArcEngine 实现擦除(Erase)产生的问题
- 业务流量暴涨hold不住?还得靠ANS集群
- TCPView
- 常见生活接口
- express框架的路由
- 关于前端技术模块化、预编译、双向绑定等实例说明