<MPSDeviceProvider>(3) MetalPerformanceShaders.framework <MPSDeviceProvider>(3)
NAME
<MPSDeviceProvider>
SYNOPSIS
#import <MPSCoreTypes.h>
Inherited by MPSKeyedUnarchiver.
Instance Methods
(id< MTLDevice >) - mpsMTLDevice
Detailed Description
A way of extending a NSCoder to enable the setting of MTLDevice for unarchived objects When a object is initialized by a NSCoder, it calls
-initWithCoder:, which is missing the necessary MTLDevice to correctly initialize the MPSKernel, or MPSNNGraph. If the coder does not
conform to MPSDeviceProvider, the system default device will be used. If you would like to specify which device to use, subclass the
NSCoder (NSKeyedUnarchiver, etc.) to conform to MPSDeviceProvider so that the device can be gotten from the NSCoder.
See MPSKeyedUnarchiver for one implementation of this protocol. It reads files prepared with the NSKeyedArchiver and allows you to set the
MTLDevice that the unarchived objects use.
Method Documentation
- (id <MTLDevice>) mpsMTLDevice
Return the device to use when making MPSKernel subclasses from the NSCoder
Reimplemented in MPSKeyedUnarchiver.
Author
Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code.
Version MetalPerformanceShaders-100 Thu Feb 8 2018 <MPSDeviceProvider>(3)
Check Out this Related Man Page
MPSCNNSoftMaxGradient(3) MetalPerformanceShaders.framework MPSCNNSoftMaxGradient(3)NAME
MPSCNNSoftMaxGradient
SYNOPSIS
#import <MPSCNNSoftMax.h>
Inherits MPSCNNGradientKernel.
Instance Methods
(nonnull instancetype) - initWithDevice:
(nullable instancetype) - initWithCoder:device:
Additional Inherited Members
Detailed Description
This depends on Metal.framework The softMax gradient filter calculates the gradient to be backpropagated. The softMax gradient just as the
softMax filter, is applied across feature channels and at all spatial locations. It computes the gradient for a given output generated by
the corresponding softMax (i.e. MPSCNNSoftMax) layer and the gradient computed by the previous layer in the back-propagation pass. For each
feature channel in an image in a feature map, the softMax gradient filter computes the following: result gradient channel in pixel
outputGradient(x,y,k) = softMax(x,y,k) * (inputGradient(x,y,k) - sum(inputGradient(x,y,0) * softMax(x,y,0) ... inputGradient(x,y,N-1) *
softMax(x,y,N-1))) where N is the number of feature channels
The incoming gradient is the primary source. The original output of corresponding softMax is the secondary source.
Method Documentation
- (nullable instancetype) initWithCoder: (NSCoder *__nonnull) aDecoder(nonnull id< MTLDevice >) device
NSSecureCoding compatability While the standard NSSecureCoding/NSCoding method -initWithCoder: should work, since the file can't know
which device your data is allocated on, we have to guess and may guess incorrectly. To avoid that problem, use initWithCoder:device
instead.
Parameters:
aDecoder The NSCoder subclass with your serialized MPSKernel
device The MTLDevice on which to make the MPSKernel
Returns:
A new MPSKernel object, or nil if failure.
Reimplemented from MPSCNNGradientKernel.
- (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device
Initializes a MPSCNNSoftMaxGradient function
Parameters:
device The MTLDevice on which this MPSCNNSoftMaxGradient filter will be used
Returns:
A valid MPSCNNSoftMaxGradient object or nil, if failure.
Reimplemented from MPSCNNGradientKernel.
Author
Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code.
Version MetalPerformanceShaders-100 Thu Feb 8 2018 MPSCNNSoftMaxGradient(3)