objc2_ml_compute/generated/
MLCRMSPropOptimizer.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10extern_class!(
11    /// The MLCRMSPropOptimizer specifies the RMSProp optimizer.
12    ///
13    /// See also [Apple's documentation](https://developer.apple.com/documentation/mlcompute/mlcrmspropoptimizer?language=objc)
14    #[unsafe(super(MLCOptimizer, NSObject))]
15    #[derive(Debug, PartialEq, Eq, Hash)]
16    #[cfg(feature = "MLCOptimizer")]
17    #[deprecated = "Use Metal Performance Shaders Graph or BNNS instead."]
18    pub struct MLCRMSPropOptimizer;
19);
20
21#[cfg(feature = "MLCOptimizer")]
22extern_conformance!(
23    unsafe impl NSCopying for MLCRMSPropOptimizer {}
24);
25
26#[cfg(feature = "MLCOptimizer")]
27unsafe impl CopyingHelper for MLCRMSPropOptimizer {
28    type Result = Self;
29}
30
31#[cfg(feature = "MLCOptimizer")]
32extern_conformance!(
33    unsafe impl NSObjectProtocol for MLCRMSPropOptimizer {}
34);
35
36#[cfg(feature = "MLCOptimizer")]
37impl MLCRMSPropOptimizer {
38    extern_methods!(
39        /// The momentum factor.  A hyper-parameter.
40        ///
41        /// The default is 0.0.
42        #[deprecated = "Use Metal Performance Shaders Graph or BNNS instead."]
43        #[unsafe(method(momentumScale))]
44        #[unsafe(method_family = none)]
45        pub unsafe fn momentumScale(&self) -> c_float;
46
47        /// The smoothing constant.
48        ///
49        /// The default is 0.99.
50        #[deprecated = "Use Metal Performance Shaders Graph or BNNS instead."]
51        #[unsafe(method(alpha))]
52        #[unsafe(method_family = none)]
53        pub unsafe fn alpha(&self) -> c_float;
54
55        /// A term added to improve numerical stability.
56        ///
57        /// The default is 1e-8.
58        #[deprecated = "Use Metal Performance Shaders Graph or BNNS instead."]
59        #[unsafe(method(epsilon))]
60        #[unsafe(method_family = none)]
61        pub unsafe fn epsilon(&self) -> c_float;
62
63        /// If True, compute the centered RMSProp, the gradient is normalized by an estimation of its variance.
64        ///
65        /// The default is false.
66        #[deprecated = "Use Metal Performance Shaders Graph or BNNS instead."]
67        #[unsafe(method(isCentered))]
68        #[unsafe(method_family = none)]
69        pub unsafe fn isCentered(&self) -> bool;
70
71        #[cfg(feature = "MLCOptimizerDescriptor")]
72        /// Create a MLCRMSPropOptimizer object with defaults
73        ///
74        /// Returns: A new MLCRMSPropOptimizer object.
75        #[deprecated = "Use Metal Performance Shaders Graph or BNNS instead."]
76        #[unsafe(method(optimizerWithDescriptor:))]
77        #[unsafe(method_family = none)]
78        pub unsafe fn optimizerWithDescriptor(
79            optimizer_descriptor: &MLCOptimizerDescriptor,
80        ) -> Retained<Self>;
81
82        #[cfg(feature = "MLCOptimizerDescriptor")]
83        /// Create a MLCRMSPropOptimizer object
84        ///
85        /// Parameter `optimizerDescriptor`: The optimizer descriptor object
86        ///
87        /// Parameter `momentumScale`: The momentum scale
88        ///
89        /// Parameter `alpha`: The smoothing constant value
90        ///
91        /// Parameter `epsilon`: The epsilon value to use to improve numerical stability
92        ///
93        /// Parameter `isCentered`: A boolean to specify whether to compute the centered RMSProp or not
94        ///
95        /// Returns: A new MLCRMSPropOptimizer object.
96        #[deprecated = "Use Metal Performance Shaders Graph or BNNS instead."]
97        #[unsafe(method(optimizerWithDescriptor:momentumScale:alpha:epsilon:isCentered:))]
98        #[unsafe(method_family = none)]
99        pub unsafe fn optimizerWithDescriptor_momentumScale_alpha_epsilon_isCentered(
100            optimizer_descriptor: &MLCOptimizerDescriptor,
101            momentum_scale: c_float,
102            alpha: c_float,
103            epsilon: c_float,
104            is_centered: bool,
105        ) -> Retained<Self>;
106    );
107}
108
109/// Methods declared on superclass `MLCOptimizer`.
110#[cfg(feature = "MLCOptimizer")]
111impl MLCRMSPropOptimizer {
112    extern_methods!(
113        #[deprecated]
114        #[unsafe(method(new))]
115        #[unsafe(method_family = new)]
116        pub unsafe fn new() -> Retained<Self>;
117
118        #[deprecated]
119        #[unsafe(method(init))]
120        #[unsafe(method_family = init)]
121        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
122    );
123}