MPSCNNPoolingL2NormGradient(3) MetalPerformanceShaders.framework MPSCNNPoolingL2NormGradient(3)
NAME
MPSCNNPoolingL2NormGradient
SYNOPSIS
#import <MPSCNNPooling.h>
Inherits MPSCNNPoolingGradient.
Instance Methods
(nonnull instancetype) - initWithDevice:kernelWidth:kernelHeight:strideInPixelsX:strideInPixelsY:
(nullable instancetype) - initWithCoder:device:
Additional Inherited Members
Detailed Description
This depends on Metal.framework Specifies the filter for computing the gradient of the L2-Norm pooling filter. The operation
backpropagates a gradient vector using chain rule.
L2-Norm pooling forward pass is defined as:
out(x) = sqrt( sum_{dx in Window(x)} in(s*x+dx) * in(s*x+dx) ), where
the pooling window definition 'Window(x)' follows MPSCNNPooling specification and 's' is the pixel stride and in() is the source input
image.
Hence the partial derivative of the output value wrt. to the input value needed in the gradient backpropagation in MPSCNNPoolingGradient
is:
d out(x)/d in(y) = sum_{dx in Window(x)} delta_{s*x+dx, y} in(s*x+dx) / out(x), where
delta_{x,y} is the Kronecker delta symbol for which
delta_{x,y} = { 1, when x == y
{ 0, otherwise,
and out(x) is the L2-norm pooling value at point 'x' defined above.
Method Documentation
- (nullable instancetype) initWithCoder: (NSCoder *__nonnull) aDecoder(nonnull id< MTLDevice >) device
NSSecureCoding compatability See MPSKernel::initWithCoder.
Parameters:
aDecoder The NSCoder subclass with your serialized MPSCNNPoolingL2NormGradient
device The MTLDevice on which to make the MPSCNNPoolingL2NormGradient
Returns:
A new MPSCNNPoolingL2NormGradient object, or nil if failure.
Reimplemented from MPSCNNPoolingGradient.
- (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device(NSUInteger) kernelWidth(NSUInteger) kernelHeight(NSUInteger)
strideInPixelsX(NSUInteger) strideInPixelsY
Initialize a gradient L2-norm pooling filter
Parameters:
device The device the filter will run on
kernelWidth The width of the kernel. Can be an odd or even value.
kernelHeight The height of the kernel. Can be an odd or even value.
strideInPixelsX The input stride (upsampling factor) in the x dimension.
strideInPixelsY The input stride (upsampling factor) in the y dimension.
Returns:
A valid MPSCNNPoolingL2NormGradient object or nil, if failure.
Reimplemented from MPSCNNPoolingGradient.
Author
Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code.
Version MetalPerformanceShaders-100 Thu Feb 8 2018 MPSCNNPoolingL2NormGradient(3)