MPSMatrixNeuronGradient(3) | MetalPerformanceShaders.framework | MPSMatrixNeuronGradient(3) |
MPSMatrixNeuronGradient
#import <MPSMatrixNeuron.h>
Inherits MPSMatrixBinaryKernel.
(void) - setNeuronType:parameterA:parameterB:parameterC:
(MPSCNNNeuronType) - neuronType
(float) - neuronParameterA
(float) - neuronParameterB
(float) - neuronParameterC
(void) - setNeuronToPReLUWithParametersA:
(nonnull instancetype) - initWithDevice:
(void) -
encodeToCommandBuffer:gradientMatrix:inputMatrix:biasVector:resultGradientForDataMatrix:resultGradientForBiasVector:
(nullable instancetype) - initWithCoder:device:
(nonnull instancetype) - copyWithZone:device:
NSUInteger sourceNumberOfFeatureVectors
NSUInteger sourceInputFeatureChannels
double alpha
This depends on Metal.framework.
A neuron gradient activation kernel that operates on matrices.
A MPSMatrixNeuronGradient object computes the results of backpropagating the gradients of a loss function with respect to the outputs of an MPSMatrixNeuron object. The corresponding properties and data used by the MPSMatrixNeuronGradient object should correspond to those used by the forward MPSMatrixNeuron object for which the gradient is being computed.
Make a copy of this kernel for a new device -
See also:
Parameters:
Returns:
Reimplemented from MPSKernel.
Encode a MPSMatrixNeuronGradient object to a command buffer and compute its gradient with respect to its input data.
Parameters:
NSSecureCoding compatability See MPSKernel::initWithCoder.
Parameters:
Returns:
Reimplemented from MPSKernel.
Standard init with default properties per filter type
Parameters:
Returns:
Reimplemented from MPSKernel.
Getter funtion for neuronType set using setNeuronType:parameterA:parameterB:parameterC method
Getter funtion for neuronType set using setNeuronType:parameterA:parameterB:parameterC method
Getter funtion for neuronType set using setNeuronType:parameterA:parameterB:parameterC method
Getter funtion for neuronType set using setNeuronType:parameterA:parameterB:parameterC method
Add per output value neuron parameters A for PReLu neuron activation functions.
This method sets the neuron to PReLU, zeros parameters A and B and sets the per output value neuron parameters A to an array containing a unique value of A for each output value.
If the neuron function is f(v,a,b), it will apply
resultMatrix(i, j) = f( input(i, j), A[j], B[j] ) where j in [0, sourceInputFeatureChannels]
See https://arxiv.org/pdf/1502.01852.pdf for details.
All other neuron types, where parameter A and parameter B are shared across output values must be set using -setNeuronType:parameterA:parameterB:
Parameters:
Specifies a neuron activation function to be used.
This method can be used to add a neuron activation funtion of given type with associated scalar parameters A, B, and C that are shared across all output values. Note that this method can only be used to specify neurons which are specified by three (or fewer) parameters shared across all output values (or channels, in CNN nomenclature). It is an error to call this method for neuron activation functions like MPSCNNNeuronTypePReLU, which require per-channel parameter values. For those kind of neuron activation functions, use appropriate setter functions. An MPSMatrixNeuron kernel is initialized with a default neuron function of MPSCNNNeuronTypeNone.
Parameters:
The scale factor to apply to the input.
The number of feature channels in the input vectors.
The number of input vectors which make up the input array.
Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code.
Mon Jul 9 2018 | Version MetalPerformanceShaders-119.3 |