Class MPSNNOptimizerDescriptor

  • All Implemented Interfaces:
    NSObject

    public class MPSNNOptimizerDescriptor
    extends NSObject
    MPSNNOptimizerDescriptor The MPSNNOptimizerDescriptor base class. Optimizers are generally used to update trainable neural network parameters. Users are usually expected to call these MPSKernels from the update methods on their Convolution or BatchNormalization data sources. Before the gradient is used to update the original value, some preprocessing occurs on each gradient where it is scaled or clipped If regularization is chosen the appropriate regularization loss gradient is added to the value gradient.
    • Constructor Detail

      • MPSNNOptimizerDescriptor

        protected MPSNNOptimizerDescriptor​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • allocWithZone

        public static java.lang.Object allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • applyGradientClipping

        public boolean applyGradientClipping()
        [@property] applyGradientClipping A bool which decides if gradient will be clipped The default value is NO
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(java.lang.Object aTarget,
                                                                                 org.moe.natj.objc.SEL aSelector,
                                                                                 java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        public static NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        public static org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • gradientClipMax

        public float gradientClipMax()
        [@property] gradientClipMax The maximum value at which incoming gradient will be clipped before rescaling, applyGradientClipping must be true
      • gradientClipMin

        public float gradientClipMin()
        [@property] gradientClipMin The minimum value at which incoming gradient will be clipped before rescaling, applyGradientClipping must be true
      • gradientRescale

        public float gradientRescale()
        [@property] gradientRescale The gradientRescale at which we apply to incoming gradient values The default value is 1.0
      • hash_static

        public static long hash_static()
      • initWithLearningRateGradientRescaleApplyGradientClippingGradientClipMaxGradientClipMinRegularizationTypeRegularizationScale

        public MPSNNOptimizerDescriptor initWithLearningRateGradientRescaleApplyGradientClippingGradientClipMaxGradientClipMinRegularizationTypeRegularizationScale​(float learningRate,
                                                                                                                                                                    float gradientRescale,
                                                                                                                                                                    boolean applyGradientClipping,
                                                                                                                                                                    float gradientClipMax,
                                                                                                                                                                    float gradientClipMin,
                                                                                                                                                                    long regularizationType,
                                                                                                                                                                    float regularizationScale)
        Initialization for the MPSNNOptimizerDescriptor object
        Parameters:
        learningRate - The learningRate which will be applied
        gradientRescale - The gradientRescale which will be applied
        applyGradientClipping - The BOOL which sets if gradientClipping would be applied to the gradient
        gradientClipMax - The gradientClipMax which will be applied
        gradientClipMin - The gradientClipMin which will be applied
        regularizationType - The regularizationType which will be applied
        regularizationScale - The regularizationScale which will be applied
        Returns:
        A valid MPSNNOptimizerDescriptor object or nil, if failure.
      • initWithLearningRateGradientRescaleRegularizationTypeRegularizationScale

        public MPSNNOptimizerDescriptor initWithLearningRateGradientRescaleRegularizationTypeRegularizationScale​(float learningRate,
                                                                                                                 float gradientRescale,
                                                                                                                 long regularizationType,
                                                                                                                 float regularizationScale)
        Initialization for the MPSNNOptimizerDescriptor object, no gradient clipping would be applied
        Parameters:
        learningRate - The learningRate which will be applied
        gradientRescale - The gradientRescale which will be applied
        regularizationType - The regularizationType which will be applied
        regularizationScale - The regularizationScale which will be applied
        Returns:
        A valid MPSNNOptimizerDescriptor object or nil, if failure.
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(java.lang.String key)
      • learningRate

        public float learningRate()
        [@property] learningRate The learningRate at which we update values The default value is 0.001f
      • new_objc

        public static java.lang.Object new_objc()
      • optimizerDescriptorWithLearningRateGradientRescaleApplyGradientClippingGradientClipMaxGradientClipMinRegularizationTypeRegularizationScale

        public static MPSNNOptimizerDescriptor optimizerDescriptorWithLearningRateGradientRescaleApplyGradientClippingGradientClipMaxGradientClipMinRegularizationTypeRegularizationScale​(float learningRate,
                                                                                                                                                                                          float gradientRescale,
                                                                                                                                                                                          boolean applyGradientClipping,
                                                                                                                                                                                          float gradientClipMax,
                                                                                                                                                                                          float gradientClipMin,
                                                                                                                                                                                          long regularizationType,
                                                                                                                                                                                          float regularizationScale)
        Creates a descriptor on autoreleaspool for the MPSNNOptimizerDescriptor object
        Parameters:
        learningRate - The learningRate which will be applied
        gradientRescale - The gradientRescale which will be applied
        applyGradientClipping - The BOOL which sets if gradientClipping would be applied to the gradient
        gradientClipMax - The gradientClipMax which will be applied
        gradientClipMin - The gradientClipMin which will be applied
        regularizationType - The regularizationType which will be applied
        regularizationScale - The regularizationScale which will be applied
        Returns:
        A valid MPSNNOptimizerDescriptor object or nil, if failure.
      • optimizerDescriptorWithLearningRateGradientRescaleRegularizationTypeRegularizationScale

        public static MPSNNOptimizerDescriptor optimizerDescriptorWithLearningRateGradientRescaleRegularizationTypeRegularizationScale​(float learningRate,
                                                                                                                                       float gradientRescale,
                                                                                                                                       long regularizationType,
                                                                                                                                       float regularizationScale)
        Creates a descriptor on autoreleaspool for the MPSNNOptimizerDescriptor object, no gradient clipping would be applied
        Parameters:
        learningRate - The learningRate which will be applied
        gradientRescale - The gradientRescale which will be applied
        regularizationType - The regularizationType which will be applied
        regularizationScale - The regularizationScale which will be applied
        Returns:
        A valid MPSNNOptimizerDescriptor object or nil, if failure.
      • regularizationScale

        public float regularizationScale()
        [@property] regularizationScale The regularizationScale at which we apply L1 or L2 regularization, it gets ignored if regularization is None The default value is 0.0
      • regularizationType

        public long regularizationType()
        [@property] regularizationType The regularizationType which we apply. The default value is MPSRegularizationTypeNone
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • setApplyGradientClipping

        public void setApplyGradientClipping​(boolean value)
        [@property] applyGradientClipping A bool which decides if gradient will be clipped The default value is NO
      • setGradientClipMax

        public void setGradientClipMax​(float value)
        [@property] gradientClipMax The maximum value at which incoming gradient will be clipped before rescaling, applyGradientClipping must be true
      • setGradientClipMin

        public void setGradientClipMin​(float value)
        [@property] gradientClipMin The minimum value at which incoming gradient will be clipped before rescaling, applyGradientClipping must be true
      • setGradientRescale

        public void setGradientRescale​(float value)
        [@property] gradientRescale The gradientRescale at which we apply to incoming gradient values The default value is 1.0
      • setLearningRate

        public void setLearningRate​(float value)
        [@property] learningRate The learningRate at which we update values The default value is 0.001f
      • setRegularizationScale

        public void setRegularizationScale​(float value)
        [@property] regularizationScale The regularizationScale at which we apply L1 or L2 regularization, it gets ignored if regularization is None The default value is 0.0
      • setRegularizationType

        public void setRegularizationType​(long value)
        [@property] regularizationType The regularizationType which we apply. The default value is MPSRegularizationTypeNone
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • version_static

        public static long version_static()