public class MPSMatrixSum extends MPSKernel
MPSMatrixSum performs a pointwise summation of N MPSMatrix objects and applies an optional bias term and neuron activation function.
MPSMatrix A = empty matrix; for (i = 0; i < N; ++i) A += alpha[i]*B[i];
if (bias) A += broadcast(bias);
if (neuron) A = applyNeuron(A);
Where B is the array of MPSMatrix objects, A is the destination MPSMatrix, alpha is an array of scalar values, bias is a vector which is broadcast and accumulated across each row of the intermediate result, and applyNeuron is a neuron activation function.
Each matrix in the array may have an independent origin.
NSObject.Function_instanceMethodForSelector_ret, NSObject.Function_methodForSelector_ret| Modifier | Constructor and Description |
|---|---|
protected |
MPSMatrixSum(org.moe.natj.general.Pointer peer) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
_supportsSecureCoding()
This property must return YES on all classes that allow secure coding.
|
static boolean |
accessInstanceVariablesDirectly() |
static MPSMatrixSum |
alloc() |
static MPSMatrixSum |
allocWithZone(org.moe.natj.general.ptr.VoidPtr zone) |
static boolean |
automaticallyNotifiesObserversForKey(java.lang.String key) |
static void |
cancelPreviousPerformRequestsWithTarget(java.lang.Object aTarget) |
static void |
cancelPreviousPerformRequestsWithTargetSelectorObject(java.lang.Object aTarget,
org.moe.natj.objc.SEL aSelector,
java.lang.Object anArgument) |
static NSArray<java.lang.String> |
classFallbacksForKeyedArchiver() |
static org.moe.natj.objc.Class |
classForKeyedUnarchiver() |
long |
columns()
The number of columns to sum.
|
long |
count()
The number of matrices to sum.
|
static java.lang.String |
debugDescription_static() |
static java.lang.String |
description_static() |
void |
encodeToCommandBufferSourceMatricesResultMatrixScaleVectorOffsetVectorBiasVectorStartIndex(MTLCommandBuffer buffer,
NSArray<? extends MPSMatrix> sourceMatrices,
MPSMatrix resultMatrix,
MPSVector scaleVector,
MPSVector offsetVector,
MPSVector biasVector,
long startIndex)
Encode the operations to the command buffer
|
static long |
hash_static() |
MPSMatrixSum |
init() |
MPSMatrixSum |
initWithCoder(NSCoder aDecoder)
NS_DESIGNATED_INITIALIZER
|
MPSMatrixSum |
initWithCoderDevice(NSCoder aDecoder,
java.lang.Object device)
NSSecureCoding compatability
|
MPSMatrixSum |
initWithDevice(java.lang.Object device)
Standard init with default properties per filter type
|
MPSMatrixSum |
initWithDeviceCountRowsColumnsTranspose(MTLDevice device,
long count,
long rows,
long columns,
boolean transpose)
Initialize a MPSMatrixSum kernel.
|
static NSObject.Function_instanceMethodForSelector_ret |
instanceMethodForSelector(org.moe.natj.objc.SEL aSelector) |
static NSMethodSignature |
instanceMethodSignatureForSelector(org.moe.natj.objc.SEL aSelector) |
static boolean |
instancesRespondToSelector(org.moe.natj.objc.SEL aSelector) |
static boolean |
isSubclassOfClass(org.moe.natj.objc.Class aClass) |
static NSSet<java.lang.String> |
keyPathsForValuesAffectingValueForKey(java.lang.String key) |
float |
neuronParameterA()
Neuron parameter A.
|
float |
neuronParameterB()
Neuron parameter B.
|
float |
neuronParameterC()
Neuron parameter C.
|
int |
neuronType()
Getter funtion for neuronType set using setNeuronType:parameterA:parameterB:parameterC method
|
static MPSMatrixSum |
new_objc() |
static boolean |
resolveClassMethod(org.moe.natj.objc.SEL sel) |
static boolean |
resolveInstanceMethod(org.moe.natj.objc.SEL sel) |
MTLOrigin |
resultMatrixOrigin()
[@property] resultMatrixOrigin
|
long |
rows()
The number of rows to sum.
|
void |
setNeuronTypeParameterAParameterBParameterC(int neuronType,
float parameterA,
float parameterB,
float parameterC)
Specifies a neuron activation function to be used.
|
void |
setResultMatrixOrigin(MTLOrigin value)
[@property] resultMatrixOrigin
|
static void |
setVersion_static(long aVersion) |
static org.moe.natj.objc.Class |
superclass_static() |
static boolean |
supportsSecureCoding() |
boolean |
transpose()
The transposition used to initialize the kernel.
|
static long |
version_static() |
copyWithZone, copyWithZoneDevice, device, encodeWithCoder, label, options, setLabel, setOptionsaccessibilityActivate, accessibilityActivationPoint, accessibilityAssistiveTechnologyFocusedIdentifiers, accessibilityAttributedHint, accessibilityAttributedLabel, accessibilityAttributedUserInputLabels, accessibilityAttributedValue, accessibilityContainerType, accessibilityCustomActions, accessibilityCustomRotors, accessibilityDecrement, accessibilityDragSourceDescriptors, accessibilityDropPointDescriptors, accessibilityElementAtIndex, accessibilityElementCount, accessibilityElementDidBecomeFocused, accessibilityElementDidLoseFocus, accessibilityElementIsFocused, accessibilityElements, accessibilityElementsHidden, accessibilityFrame, accessibilityHint, accessibilityIncrement, accessibilityLabel, accessibilityLanguage, accessibilityNavigationStyle, accessibilityPath, accessibilityPerformEscape, accessibilityPerformMagicTap, accessibilityRespondsToUserInteraction, accessibilityScroll, accessibilityTextualContext, accessibilityTraits, accessibilityUserInputLabels, accessibilityValue, accessibilityViewIsModal, addObserverForKeyPathOptionsContext, attemptRecoveryFromErrorOptionIndex, attemptRecoveryFromErrorOptionIndexDelegateDidRecoverSelectorContextInfo, autoContentAccessingProxy, awakeAfterUsingCoder, awakeFromNib, class_objc, classForCoder, classForKeyedArchiver, copy, dealloc, debugDescription, description, dictionaryWithValuesForKeys, didChangeValueForKey, didChangeValueForKeyWithSetMutationUsingObjects, didChangeValuesAtIndexesForKey, doesNotRecognizeSelector, fileManagerShouldProceedAfterError, fileManagerWillProcessPath, finalize_objc, forwardingTargetForSelector, forwardInvocation, hash, indexOfAccessibilityElement, isAccessibilityElement, isEqual, isKindOfClass, isMemberOfClass, isProxy, methodForSelector, methodSignatureForSelector, mutableArrayValueForKey, mutableArrayValueForKeyPath, mutableCopy, mutableOrderedSetValueForKey, mutableOrderedSetValueForKeyPath, mutableSetValueForKey, mutableSetValueForKeyPath, observationInfo, observeValueForKeyPathOfObjectChangeContext, performSelector, performSelectorInBackgroundWithObject, performSelectorOnMainThreadWithObjectWaitUntilDone, performSelectorOnMainThreadWithObjectWaitUntilDoneModes, performSelectorOnThreadWithObjectWaitUntilDone, performSelectorOnThreadWithObjectWaitUntilDoneModes, performSelectorWithObject, performSelectorWithObjectAfterDelay, performSelectorWithObjectAfterDelayInModes, performSelectorWithObjectWithObject, prepareForInterfaceBuilder, provideImageDataBytesPerRowOrigin_Size_UserInfo, removeObserverForKeyPath, removeObserverForKeyPathContext, replacementObjectForCoder, replacementObjectForKeyedArchiver, respondsToSelector, self, setAccessibilityActivationPoint, setAccessibilityAttributedHint, setAccessibilityAttributedLabel, setAccessibilityAttributedUserInputLabels, setAccessibilityAttributedValue, setAccessibilityContainerType, setAccessibilityCustomActions, setAccessibilityCustomRotors, setAccessibilityDragSourceDescriptors, setAccessibilityDropPointDescriptors, setAccessibilityElements, setAccessibilityElementsHidden, setAccessibilityFrame, setAccessibilityHint, setAccessibilityLabel, setAccessibilityLanguage, setAccessibilityNavigationStyle, setAccessibilityPath, setAccessibilityRespondsToUserInteraction, setAccessibilityTextualContext, setAccessibilityTraits, setAccessibilityUserInputLabels, setAccessibilityValue, setAccessibilityViewIsModal, setIsAccessibilityElement, setNilValueForKey, setObservationInfo, setShouldGroupAccessibilityChildren, setValueForKey, setValueForKeyPath, setValueForUndefinedKey, setValuesForKeysWithDictionary, shouldGroupAccessibilityChildren, superclass, validateValueForKeyError, validateValueForKeyPathError, valueForKey, valueForKeyPath, valueForUndefinedKey, willChangeValueForKey, willChangeValueForKeyWithSetMutationUsingObjects, willChangeValuesAtIndexesForKeypublic static boolean accessInstanceVariablesDirectly()
public static MPSMatrixSum alloc()
public static MPSMatrixSum allocWithZone(org.moe.natj.general.ptr.VoidPtr zone)
public static boolean automaticallyNotifiesObserversForKey(java.lang.String key)
public static void cancelPreviousPerformRequestsWithTarget(java.lang.Object aTarget)
public static void cancelPreviousPerformRequestsWithTargetSelectorObject(java.lang.Object aTarget,
org.moe.natj.objc.SEL aSelector,
java.lang.Object anArgument)
public static NSArray<java.lang.String> classFallbacksForKeyedArchiver()
public static org.moe.natj.objc.Class classForKeyedUnarchiver()
public long columns()
public long count()
public static java.lang.String debugDescription_static()
public static java.lang.String description_static()
public void encodeToCommandBufferSourceMatricesResultMatrixScaleVectorOffsetVectorBiasVectorStartIndex(MTLCommandBuffer buffer, NSArray<? extends MPSMatrix> sourceMatrices, MPSMatrix resultMatrix, MPSVector scaleVector, MPSVector offsetVector, MPSVector biasVector, long startIndex)
buffer - The command buffer in which to encode the operation.sourceMatrices - A list of matrices from which the matrix data is read.resultMatrix - The result matrix.scaleVector - A MPSVector of type MPSDataTypeFloat32 containing the list of
scale factors, specified in single precision.offsetVector - A MPSVector of type MPSDataTypeUInt32 containing the list of
offsets, stored as a packed array of MPSMatrixOffset values.biasVector - A MPSVector containing the bias terms to add to the result
prior to applying the neuron function, if any. May be nil.startIndex - The starting index into the scale and offset vectors.public static long hash_static()
public MPSMatrixSum init()
public MPSMatrixSum initWithCoder(NSCoder aDecoder)
NSCodinginitWithCoder in interface NSCodinginitWithCoder in class MPSKernelpublic MPSMatrixSum initWithCoderDevice(NSCoder aDecoder, java.lang.Object device)
See @ref MPSKernel#initWithCoder.
initWithCoderDevice in class MPSKernelaDecoder - The NSCoder subclass with your serialized MPSMatrixSum kernel.device - The MTLDevice on which to make the MPSMatrixSum object.public MPSMatrixSum initWithDevice(java.lang.Object device)
MPSKernelinitWithDevice in class MPSKerneldevice - The device that the filter will be used on. May not be NULL.public MPSMatrixSum initWithDeviceCountRowsColumnsTranspose(MTLDevice device, long count, long rows, long columns, boolean transpose)
device - The device on which to initialize the kernel.count - The number of matrices to be summed.rows - The number of rows to use in the input matrices.columns - The number of columns to use in the input matrices.transpose - If YES the result of the summation is to be transposed
prior to applying the bias and activation.public static NSObject.Function_instanceMethodForSelector_ret instanceMethodForSelector(org.moe.natj.objc.SEL aSelector)
public static NSMethodSignature instanceMethodSignatureForSelector(org.moe.natj.objc.SEL aSelector)
public static boolean instancesRespondToSelector(org.moe.natj.objc.SEL aSelector)
public static boolean isSubclassOfClass(org.moe.natj.objc.Class aClass)
public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey(java.lang.String key)
public float neuronParameterA()
public float neuronParameterB()
public float neuronParameterC()
public int neuronType()
public static MPSMatrixSum new_objc()
public static boolean resolveClassMethod(org.moe.natj.objc.SEL sel)
public static boolean resolveInstanceMethod(org.moe.natj.objc.SEL sel)
public MTLOrigin resultMatrixOrigin()
The origin, relative to [0, 0] in the result matrix, at which to start writing results. This property is modifiable and defaults to [0, 0] at initialization time. If a different origin is desired then this should be modified prior to encoding the kernel.
public long rows()
public void setNeuronTypeParameterAParameterBParameterC(int neuronType,
float parameterA,
float parameterB,
float parameterC)
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. An MPSMatrixSum kernel is initialized with a default neuron function of MPSCNNNeuronTypeNone.
neuronType - Type of neuron activation function. For full list see MPSCNNNeuronType.hparameterA - parameterA of neuron activation that is shared across all output values.parameterB - parameterB of neuron activation that is shared across all output values.parameterC - parameterC of neuron activation that is shared across all output values.public void setResultMatrixOrigin(MTLOrigin value)
The origin, relative to [0, 0] in the result matrix, at which to start writing results. This property is modifiable and defaults to [0, 0] at initialization time. If a different origin is desired then this should be modified prior to encoding the kernel.
public static void setVersion_static(long aVersion)
public static org.moe.natj.objc.Class superclass_static()
public static boolean supportsSecureCoding()
public boolean _supportsSecureCoding()
NSSecureCoding_supportsSecureCoding in interface NSSecureCoding_supportsSecureCoding in class MPSKernelpublic boolean transpose()
public static long version_static()