[matlab]vl_nnpool

%VL_NNPOOL CNN poolinng.
%   Y = VL_NNPOOL(X, POOL) applies the pooling operator to all
%   channels of the data X using a square filter of size POOL. X is a
%   SINGLE array of dimension H x W x D x N where (H,W) are the
%   height and width of the map stack, D is the image depth (number
%   of feature channels) and N the number of of images in the stack.
%
%   Y = VL_NNPOOL(X, [POOLY, POOLX]) uses a rectangular filter of
%   height POOLY and width POOLX.
%
%   DZDX = VL_NNPOOL(X, POOL, DZDY) computes the derivatives of the
%   block projected onto DZDY. DZDX and DZDY have the same dimensions
%   as X and Y respectively.
%
%   VL_NNPOOL(..., 'option', value, ...) takes the following options:
%
%   `Stride`:: 1
%     The output stride (downsampling factor). It can be either a
%     scalar for isotropic downsampling or a vector [STRIDEY
%     STRIDEX].
%
%   `Pad`:: 0
%     The amount of input padding. Input images are padded with zeros
%     by this number of pixels on all sides before the convolution is
%     computed. It can also be a vector [TOP BOTTOM LEFT RIGHT] to
%     specify a different amount of padding in each direction. The
%     size of the pooling filter has to exceed the padding.
%
%   `Method`:: 'max'
%     Specify method of pooling. It can be either 'max' (retain max value
%     over the pooling region per channel) or 'avg' (compute the average
%     value over the pooling region per channel).
%
%   The pooling window must be not larger than the padded image, i.e.
%
%     1 <= POOLY <= HEIGHT + (PADTOP + PADBOTTOM),
%     1 <= POOLX <= WIDTH + (PADLEFT + PADRIGHT).
%
%   The output a is a SINGLE array of dimension YH x YW x K x N of N
%   images with K challens and size:
%
%     YH = floor((H + (PADTOP+PADBOTTOM) - POOLY)/STRIDEY) + 1,
%     YW = floor((W + (PADLEFT+PADRIGHT) - POOLX)/STRIDEX) + 1.
%
%   The derivative DZDY has the same dimension of the output Y and
%   the derivative DZDX has the same dimension as the input X.
%
%   ## CUDNN SUPPORT
%
%   If compiled in, the function will use cuDNN convolution routines
%   (with the exception of asymmetric left-right or top-bottom
%   padding and average pooling that triggers a bug in cuDNN). You
%   can use the 'NoCuDNN' option to disable cuDNN or 'cuDNN' to
%   activate it back again (the choice sticks until MATLAB purges the
%   MEX files for any reason).

% Copyright (C) 2014 Andrea Vedaldi, Karel Lenc, and Max Jaderberg.
% Copyright (C) 2015 Andrea Vedaldi and Karel Lenc.
% All rights reserved.
%
% This file is part of the VLFeat library and is made available under
% the terms of the BSD license (see the COPYING file).

几种调用方式:
Y = VL_NNPOOL(X, POOL)
正方形核池化。
input:X(HxWxDxN)D为feature通道数
kernel size:POOL
Y = VL_NNPOOL(X, [POOLY, POOLX])
长方形核池化。
input:X,同上
kernel size:POOLY(h) x POOLX(w)

DZDX = VL_NNPOOL(X, POOL, DZDY)
计算该块投射在dzdy上的导数。
input:X
DZDX and DZDY 分别和X,Y有相同的维度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值