MPSNNGradientFilterNode(3) MetalPerformanceShaders.framework MPSNNGradientFilterNode(3)

MPSNNGradientFilterNode

#import <MPSNNGraphNodes.h>

Inherits MPSNNFilterNode.

Inherited by MPSCNNBatchNormalizationGradientNode, MPSCNNConvolutionGradientNode, MPSCNNCrossChannelNormalizationGradientNode, MPSCNNDropoutGradientNode, MPSCNNInstanceNormalizationGradientNode, MPSCNNLocalContrastNormalizationGradientNode, MPSCNNLogSoftMaxGradientNode, MPSCNNNeuronGradientNode, MPSCNNPoolingGradientNode, MPSCNNSoftMaxGradientNode, MPSCNNSpatialNormalizationGradientNode, MPSCNNUpsamplingBilinearGradientNode, MPSCNNUpsamplingNearestGradientNode, MPSNNArithmeticGradientNode, and MPSNNConcatenationGradientNode.


(MPSNNGradientFilterNode *__nonnull) - gradientFilterWithSources:
(NSArray< MPSNNGradientFilterNode * > *__nonnull) - gradientFiltersWithSources:
(MPSNNGradientFilterNode *__nonnull) - gradientFilterWithSource:
(NSArray< MPSNNGradientFilterNode * > *__nonnull) - gradientFiltersWithSource:

For each MPSNNFilterNode, there is a corresponding MPSNNGradientFilterNode used for training that back propagates image gradients to refine the various parameters in each node. Generally, it takes as input a gradient corresponding to the result image from the MPSNNFilterNode and returns a gradient image corresponding to the source image of the MPSNNFilterNode. In addition, there is generally a MPSNNState produced by the MPSNNFilterNode that is consumed by the MPSNNGradientNode and the MPSNNGradientNode generally needs to look at the MPSNNFilterNode source image.

If you have a simple method to traverse your inference graph backwards, then -[MPSNNFilterNode gradientFilterWithSource:] is a simple way to construct these.

- (NSArray <MPSNNGradientFilterNode*> * __nonnull) gradientFiltersWithSource: (MPSNNImageNode *__nonnull) gradientImage

Return multiple gradient versions of the filter MPSNNFilters that consume multiple inputs generally result in multiple conjugate filters for the gradient computation at the end of training. For example, a single concatenation operation that concatenates multple images will result in an array of slice operators that carve out subsections of the input gradient image.

Reimplemented from MPSNNFilterNode.

- (NSArray <MPSNNGradientFilterNode*> * __nonnull) gradientFiltersWithSources: (NSArray< MPSNNImageNode * > *__nonnull) gradientImages

Return multiple gradient versions of the filter MPSNNFilters that consume multiple inputs generally result in multiple conjugate filters for the gradient computation at the end of training. For example, a single concatenation operation that concatenates multple images will result in an array of slice operators that carve out subsections of the input gradient image.

Reimplemented from MPSNNFilterNode.

- (MPSNNGradientFilterNode*__nonnull) gradientFilterWithSource: (MPSNNImageNode *__nonnull) gradientImage

Return the gradient (backwards) version of this filter. The backwards training version of the filter will be returned. The non-gradient image and state arguments for the filter are automatically obtained from the target.

Parameters:

gradientImage The gradient images corresponding with the resultImage of the target

Reimplemented from MPSNNFilterNode.

- (MPSNNGradientFilterNode*__nonnull) gradientFilterWithSources: (NSArray< MPSNNImageNode * > *__nonnull) gradientImages

Return the gradient (backwards) version of this filter. The backwards training version of the filter will be returned. The non-gradient image and state arguments for the filter are automatically obtained from the target.

Parameters:

gradientImages The gradient images corresponding with the resultImage of the target

Reimplemented from MPSNNFilterNode.

Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code.

Mon Jul 9 2018 Version MetalPerformanceShaders-119.3