MPSNNConcatenationNode(3)
NAME
MPSNNConcatenationNode
SYNOPSIS
#import <MPSNNGraphNodes.h>
Inherits MPSNNFilterNode.
Instance Methods
(nonnull instancetype) - initWithSources:
Class Methods
(nonnull instancetype) + nodeWithSources:
Additional Inherited Members
Detailed Description
Node representing a the concatenation (in the feature channel
dimension) of the results from one or more kernels
Method Documentation
- (nonnull instancetype) initWithSources: (NSArray< MPSNNImageNode * >
*__nonnull) sourceNodes
Init a node that concatenates feature channels from multiple images In
some neural network designs, it is necessary to append feature channels
from one neural network filter to the results of another. If we have
three image nodes with M, N and O feature channels in them, passed to
-initWithSources: as @[imageM, imageN, imageO], then feature channels
[0,M-1] will be drawn from image M, feature channels [M, M+N-1] will be
drawn from image N and feature channels [M+N, M+N+O-1] will be drawn
from image O.
As all images are padded out to a multiple of four feature channels, M,
N and O here are also multiples of four, even when the MPSImages are
not. That is, if the image is 23 feature channels and one channel of
padding, it takes up 24 feature channels worth of space in the
concatenated result.
Performance Note: Generally, concatenation is free as long as all of
the sourceNodes are produced by filters in the same MPSNNGraph. Most
MPSCNNKernels have the ability to write their results at a feature
channel offset within a target MPSImage. However, if the MPSNNImageNode
source nodes come from images external to the MPSNNGraph, then we have
to do a copy operation to assemble the concatenated node. As a result,
when deciding where to break a large logical graph into multiple
smaller MPSNNGraphs, it is better for concatenations to appear at the
ends of subgraphs when possible rather than at the start, to the extent
that all the images used in the concatenation are produced by that
subgraph.
Parameters:
sourceNodes The MPSNNImageNode representing the source MPSImages
for the filter
Returns:
A new MPSNNFilter node that concatenates its inputs.
+ (nonnull instancetype) nodeWithSources: (NSArray< MPSNNImageNode * >
*__nonnull) sourceNodes
Init a autoreleased node that concatenates feature channels from
multiple images In some neural network designs, it is necessary to
append feature channels from one neural network filter to the results
of another. If we have three image nodes with M, N and O feature
channels in them, passed to -initWithSources: as @[imageM, imageN,
imageO], then feature channels [0,M-1] will be drawn from image M,
feature channels [M, M+N-1] will be drawn from image N and feature
channels [M+N, M+N+O-1] will be drawn from image O.
As all images are padded out to a multiple of four feature channels, M,
N and O here are also multiples of four, even when the MPSImages are
not. That is, if the image is 23 feature channels and one channel of
padding, it takes up 24 feature channels worth of space in the
concatenated result.
Performance Note: Generally, concatenation is free as long as all of
the sourceNodes are produced by filters in the same MPSNNGraph. Most
MPSCNNKernels have the ability to write their results at a feature
channel offset within a target MPSImage. However, if the MPSNNImageNode
source nodes come from images external to the MPSNNGraph, then we have
to do a copy operation to assemble the concatenated node. As a result,
when deciding where to break a large logical graph into multiple
smaller MPSNNGraphs, it is better for concatenations to appear at the
ends of subgraphs when possible rather than at the start, to the extent
that all the images used in the concatenation are produced by that
subgraph.
Parameters:
sourceNodes The MPSNNImageNode representing the source MPSImages
for the filter
Returns:
A new MPSNNFilter node that concatenates its inputs.
Author
Generated automatically by Doxygen for
MetalPerformanceShaders.framework from the source code.
Version MetalPerformanceShaders-Thu2Jul 13 2017 MPSNNConcatenationNode(3)
Mac OS X 10.12.6 - Generated Tue Oct 31 15:33:05 CDT 2017