public class MPSCNNBinaryFullyConnected extends MPSCNNBinaryConvolution
The MPSCNNBinaryFullyConnected specifies a fully connected convolution layer with binary weights and optionally binarized input image. See @ref MPSCNNFullyConnected for details on the fully connected layer and MPSCNNBinaryConvolution for binary convolutions.
The default padding policy for MPSCNNBinaryConvolution is different from most filters. It uses MPSNNPaddingMethodSizeValidOnly instead of MPSNNPaddingMethodSizeSame.
NSObject.Function_instanceMethodForSelector_ret, NSObject.Function_methodForSelector_ret| Modifier | Constructor and Description |
|---|---|
protected |
MPSCNNBinaryFullyConnected(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 MPSCNNBinaryFullyConnected |
alloc() |
static MPSCNNBinaryFullyConnected |
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() |
static java.lang.String |
debugDescription_static() |
static java.lang.String |
description_static() |
static long |
hash_static() |
MPSCNNBinaryFullyConnected |
init() |
MPSCNNBinaryFullyConnected |
initWithCoder(NSCoder aDecoder)
NS_DESIGNATED_INITIALIZER
|
MPSCNNBinaryFullyConnected |
initWithCoderDevice(NSCoder aDecoder,
java.lang.Object device)
NSSecureCoding compatability
|
MPSCNNBinaryFullyConnected |
initWithDevice(java.lang.Object device)
Standard init with default properties per filter type
|
MPSCNNBinaryFullyConnected |
initWithDeviceConvolutionDataOutputBiasTermsOutputScaleTermsInputBiasTermsInputScaleTermsTypeFlags(MTLDevice device,
MPSCNNConvolutionDataSource convolutionData,
org.moe.natj.general.ptr.ConstFloatPtr outputBiasTerms,
org.moe.natj.general.ptr.ConstFloatPtr outputScaleTerms,
org.moe.natj.general.ptr.ConstFloatPtr inputBiasTerms,
org.moe.natj.general.ptr.ConstFloatPtr inputScaleTerms,
long type,
long flags)
Initializes a binary fully connected kernel with binary weights as well as both pre and post scaling terms.
|
MPSCNNBinaryFullyConnected |
initWithDeviceConvolutionDataScaleValueTypeFlags(MTLDevice device,
MPSCNNConvolutionDataSource convolutionData,
float scaleValue,
long type,
long flags)
Initializes a binary fully connected kernel with binary weights and a single scaling term.
|
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) |
static MPSCNNBinaryFullyConnected |
new_objc() |
static boolean |
resolveClassMethod(org.moe.natj.objc.SEL sel) |
static boolean |
resolveInstanceMethod(org.moe.natj.objc.SEL sel) |
static void |
setVersion_static(long aVersion) |
static org.moe.natj.objc.Class |
superclass_static() |
static boolean |
supportsSecureCoding() |
static long |
version_static() |
inputFeatureChannels, outputFeatureChannelsappendBatchBarrier, clipRect, destinationFeatureChannelOffset, destinationImageAllocator, destinationImageDescriptorForSourceImagesSourceStates, dilationRateX, dilationRateY, edgeMode, encodeToCommandBufferSourceImage, encodeToCommandBufferSourceImageDestinationImage, encodeToCommandBufferSourceImageDestinationStateDestinationImage, encodeToCommandBufferSourceImageDestinationStateDestinationStateIsTemporary, encodingStorageSizeForSourceImageSourceStatesDestinationImage, isBackwards, isResultStateReusedAcrossBatch, isStateModified, kernelHeight, kernelWidth, offset, padding, resultStateForSourceImageSourceStatesDestinationImage, setClipRect, setDestinationFeatureChannelOffset, setDestinationImageAllocator, setEdgeMode, setOffset, setPadding, setSourceFeatureChannelMaxCount, setSourceFeatureChannelOffset, sourceFeatureChannelMaxCount, sourceFeatureChannelOffset, strideInPixelsX, strideInPixelsY, temporaryResultStateForCommandBufferSourceImageSourceStatesDestinationImagecopyWithZone, 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, willChangeValuesAtIndexesForKeyprotected MPSCNNBinaryFullyConnected(org.moe.natj.general.Pointer peer)
public static boolean accessInstanceVariablesDirectly()
public static MPSCNNBinaryFullyConnected alloc()
public static MPSCNNBinaryFullyConnected 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 static java.lang.String debugDescription_static()
public static java.lang.String description_static()
public static long hash_static()
public MPSCNNBinaryFullyConnected init()
init in class MPSCNNBinaryConvolutionpublic MPSCNNBinaryFullyConnected initWithCoder(NSCoder aDecoder)
NSCodinginitWithCoder in interface NSCodinginitWithCoder in class MPSCNNBinaryConvolutionpublic MPSCNNBinaryFullyConnected initWithCoderDevice(NSCoder aDecoder, java.lang.Object device)
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.
initWithCoderDevice in class MPSCNNBinaryConvolutionaDecoder - The NSCoder subclass with your serialized MPSKerneldevice - The MTLDevice on which to make the MPSKernelpublic MPSCNNBinaryFullyConnected initWithDevice(java.lang.Object device)
MPSCNNKernelinitWithDevice in class MPSCNNBinaryConvolutiondevice - The device that the filter will be used on. May not be NULL.public MPSCNNBinaryFullyConnected initWithDeviceConvolutionDataOutputBiasTermsOutputScaleTermsInputBiasTermsInputScaleTermsTypeFlags(MTLDevice device, MPSCNNConvolutionDataSource convolutionData, org.moe.natj.general.ptr.ConstFloatPtr outputBiasTerms, org.moe.natj.general.ptr.ConstFloatPtr outputScaleTerms, org.moe.natj.general.ptr.ConstFloatPtr inputBiasTerms, org.moe.natj.general.ptr.ConstFloatPtr inputScaleTerms, long type, long flags)
initWithDeviceConvolutionDataOutputBiasTermsOutputScaleTermsInputBiasTermsInputScaleTermsTypeFlags in class MPSCNNBinaryConvolutiondevice - The MTLDevice on which this MPSCNNBinaryFullyConnected filter will be usedconvolutionData - A pointer to a object that conforms to the MPSCNNConvolutionDataSource protocol.
The MPSCNNConvolutionDataSource protocol declares the methods that an
instance of MPSCNNBinaryFullyConnected uses to obtain the weights and the convolution descriptor.
Each entry in the convolutionData:weights array is a 32-bit unsigned integer value
and each bit represents one filter weight (given in machine byte order).
The featurechannel indices increase from the least significant bit within the 32-bits.
The number of entries is =
ceil( inputFeatureChannels/32.0 ) * outputFeatureChannels * kernelHeight * kernelWidth
The layout of filter weight is so that it can be reinterpreted as a 4D tensor (array)
weight[ outputChannels ][ kernelHeight ][ kernelWidth ][ ceil( inputChannels / 32.0 ) ]
(The ordering of the reduction from 4D tensor to 1D is per C convention. The index based on
inputchannels varies most rapidly, followed by kernelWidth, then kernelHeight and finally
outputChannels varies least rapidly.)outputBiasTerms - A pointer to bias terms to be applied to the convolution output. Each entry is a float value.
The number of entries is = numberOfOutputFeatureMaps. If nil then 0.0 is used for bias.
The values stored in the pointer are copied in and the array can be freed after this function returns.outputScaleTerms - A pointer to scale terms to be applied to binary convolution results per output feature channel.
Each entry is a float value. The number of entries is = numberOfOutputFeatureMaps. If nil then 1.0 is used.
The values stored in the pointer are copied in and the array can be freed after this function returns.inputBiasTerms - A pointer to offset terms to be applied to the input before convolution and before input scaling.
Each entry is a float value. The number of entries is 'inputFeatureChannels'. If NULL then 0.0 is used for bias.
The values stored in the pointer are copied in and the array can be freed after this function returns.inputScaleTerms - A pointer to scale terms to be applied to the input before convolution, but after input biasing.
Each entry is a float value. The number of entries is 'inputFeatureChannels'. If nil then 1.0 is used.
The values stored in the pointer are copied in and the array can be freed after this function returns.type - What kind of binarization strategy is to be used.flags - See documentation above and documentation of MPSCNNBinaryConvolutionFlags.public MPSCNNBinaryFullyConnected initWithDeviceConvolutionDataScaleValueTypeFlags(MTLDevice device, MPSCNNConvolutionDataSource convolutionData, float scaleValue, long type, long flags)
initWithDeviceConvolutionDataScaleValueTypeFlags in class MPSCNNBinaryConvolutiondevice - The MTLDevice on which this MPSCNNBinaryFullyConnected filter will be usedconvolutionData - A pointer to a object that conforms to the MPSCNNConvolutionDataSource protocol.
The MPSCNNConvolutionDataSource protocol declares the methods that an
instance of MPSCNNBinaryFullyConnected uses to obtain the weights and bias terms as
well as the convolution descriptor.
Each entry in the convolutionData:weights array is a 32-bit unsigned integer value
and each bit represents one filter weight (given in machine byte order).
The featurechannel indices increase from the least significant bit within the 32-bits.
The number of entries is =
ceil( inputFeatureChannels/32.0 ) * outputFeatureChannels * kernelHeight * kernelWidth
The layout of filter weight is so that it can be reinterpreted as a 4D tensor (array)
weight[ outputChannels ][ kernelHeight ][ kernelWidth ][ ceil( inputChannels / 32.0 ) ]
(The ordering of the reduction from 4D tensor to 1D is per C convention. The index based on
inputchannels varies most rapidly, followed by kernelWidth, then kernelHeight and finally
outputChannels varies least rapidly.)scaleValue - A single floating point value used to scale the entire convolution.
Each entry is a float value. The number of entries is 'inputFeatureChannels'. If nil then 1.0 is used.type - What kind of binarization strategy is to be used.flags - See documentation above and documentation of MPSCNNBinaryConvolutionFlags.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 static MPSCNNBinaryFullyConnected new_objc()
public static boolean resolveClassMethod(org.moe.natj.objc.SEL sel)
public static boolean resolveInstanceMethod(org.moe.natj.objc.SEL sel)
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 MPSCNNBinaryConvolutionpublic static long version_static()