#[repr(C)]pub struct MLCLossLayer { /* private fields */ }
MLCLayer
and MLCLossLayer
only.Expand description
A loss layer
See also Apple’s documentation
Implementations§
Source§impl MLCLossLayer
impl MLCLossLayer
Sourcepub unsafe fn descriptor(&self) -> Retained<MLCLossDescriptor>
👎DeprecatedAvailable on crate feature MLCLossDescriptor
only.
pub unsafe fn descriptor(&self) -> Retained<MLCLossDescriptor>
MLCLossDescriptor
only.The loss descriptor
Sourcepub unsafe fn weights(&self) -> Option<Retained<MLCTensor>>
👎DeprecatedAvailable on crate feature MLCTensor
only.
pub unsafe fn weights(&self) -> Option<Retained<MLCTensor>>
MLCTensor
only.The loss label weights tensor
Sourcepub unsafe fn layerWithDescriptor(
loss_descriptor: &MLCLossDescriptor,
) -> Retained<Self>
👎DeprecatedAvailable on crate feature MLCLossDescriptor
only.
pub unsafe fn layerWithDescriptor( loss_descriptor: &MLCLossDescriptor, ) -> Retained<Self>
MLCLossDescriptor
only.Create a loss layer
Parameter lossDescriptor
: The loss descriptor
Returns: A new loss layer.
Sourcepub unsafe fn layerWithDescriptor_weights(
loss_descriptor: &MLCLossDescriptor,
weights: &MLCTensor,
) -> Retained<Self>
👎DeprecatedAvailable on crate features MLCLossDescriptor
and MLCTensor
only.
pub unsafe fn layerWithDescriptor_weights( loss_descriptor: &MLCLossDescriptor, weights: &MLCTensor, ) -> Retained<Self>
MLCLossDescriptor
and MLCTensor
only.Create a MLComputeLoss layer
Parameter lossDescriptor
: The loss descriptor
Parameter weights
: The loss label weights tensor
Returns: A new loss layer.
Sourcepub unsafe fn softmaxCrossEntropyLossWithReductionType_labelSmoothing_classCount_weight(
reduction_type: MLCReductionType,
label_smoothing: c_float,
class_count: NSUInteger,
weight: c_float,
) -> Retained<Self>
👎DeprecatedAvailable on crate feature MLCTypes
only.
pub unsafe fn softmaxCrossEntropyLossWithReductionType_labelSmoothing_classCount_weight( reduction_type: MLCReductionType, label_smoothing: c_float, class_count: NSUInteger, weight: c_float, ) -> Retained<Self>
MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter labelSmoothing
: Label smoothing value
Parameter classCount
: Number of classes
Parameter weight
: A scalar floating point value
Returns: A new softmax cross entropy loss layer.
Sourcepub unsafe fn softmaxCrossEntropyLossWithReductionType_labelSmoothing_classCount_weights(
reduction_type: MLCReductionType,
label_smoothing: c_float,
class_count: NSUInteger,
weights: Option<&MLCTensor>,
) -> Retained<Self>
👎DeprecatedAvailable on crate features MLCTensor
and MLCTypes
only.
pub unsafe fn softmaxCrossEntropyLossWithReductionType_labelSmoothing_classCount_weights( reduction_type: MLCReductionType, label_smoothing: c_float, class_count: NSUInteger, weights: Option<&MLCTensor>, ) -> Retained<Self>
MLCTensor
and MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter labelSmoothing
: Label smoothing value
Parameter classCount
: Number of classes
Parameter weights
: The loss label weights tensor
Returns: A new softmax cross entropy loss layer.
Sourcepub unsafe fn categoricalCrossEntropyLossWithReductionType_labelSmoothing_classCount_weight(
reduction_type: MLCReductionType,
label_smoothing: c_float,
class_count: NSUInteger,
weight: c_float,
) -> Retained<Self>
👎DeprecatedAvailable on crate feature MLCTypes
only.
pub unsafe fn categoricalCrossEntropyLossWithReductionType_labelSmoothing_classCount_weight( reduction_type: MLCReductionType, label_smoothing: c_float, class_count: NSUInteger, weight: c_float, ) -> Retained<Self>
MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter labelSmoothing
: Label smoothing value
Parameter classCount
: Number of classes
Parameter weight
: A scalar floating point value
Returns: A new categorical cross entropy loss layer.
Sourcepub unsafe fn categoricalCrossEntropyLossWithReductionType_labelSmoothing_classCount_weights(
reduction_type: MLCReductionType,
label_smoothing: c_float,
class_count: NSUInteger,
weights: Option<&MLCTensor>,
) -> Retained<Self>
👎DeprecatedAvailable on crate features MLCTensor
and MLCTypes
only.
pub unsafe fn categoricalCrossEntropyLossWithReductionType_labelSmoothing_classCount_weights( reduction_type: MLCReductionType, label_smoothing: c_float, class_count: NSUInteger, weights: Option<&MLCTensor>, ) -> Retained<Self>
MLCTensor
and MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter labelSmoothing
: Label smoothing value
Parameter classCount
: Number of classes
Parameter weights
: The loss label weights tensor
Returns: A new categorical cross entropy loss layer.
Sourcepub unsafe fn sigmoidCrossEntropyLossWithReductionType_labelSmoothing_weight(
reduction_type: MLCReductionType,
label_smoothing: c_float,
weight: c_float,
) -> Retained<Self>
👎DeprecatedAvailable on crate feature MLCTypes
only.
pub unsafe fn sigmoidCrossEntropyLossWithReductionType_labelSmoothing_weight( reduction_type: MLCReductionType, label_smoothing: c_float, weight: c_float, ) -> Retained<Self>
MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter labelSmoothing
: Label smoothing value
Parameter weight
: A scalar floating-point value
Returns: A new sigmoid cross entropy loss layer.
Sourcepub unsafe fn sigmoidCrossEntropyLossWithReductionType_labelSmoothing_weights(
reduction_type: MLCReductionType,
label_smoothing: c_float,
weights: Option<&MLCTensor>,
) -> Retained<Self>
👎DeprecatedAvailable on crate features MLCTensor
and MLCTypes
only.
pub unsafe fn sigmoidCrossEntropyLossWithReductionType_labelSmoothing_weights( reduction_type: MLCReductionType, label_smoothing: c_float, weights: Option<&MLCTensor>, ) -> Retained<Self>
MLCTensor
and MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter labelSmoothing
: Label smoothing value
Parameter weights
: The loss label weights tensor
Returns: A new sigmoid cross entropy loss layer.
Sourcepub unsafe fn logLossWithReductionType_epsilon_weight(
reduction_type: MLCReductionType,
epsilon: c_float,
weight: c_float,
) -> Retained<Self>
👎DeprecatedAvailable on crate feature MLCTypes
only.
pub unsafe fn logLossWithReductionType_epsilon_weight( reduction_type: MLCReductionType, epsilon: c_float, weight: c_float, ) -> Retained<Self>
MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter epsilon
: The epsilon parameter
Parameter weight
: A scalar floating-point value
Returns: A new log loss layer.
Sourcepub unsafe fn logLossWithReductionType_epsilon_weights(
reduction_type: MLCReductionType,
epsilon: c_float,
weights: Option<&MLCTensor>,
) -> Retained<Self>
👎DeprecatedAvailable on crate features MLCTensor
and MLCTypes
only.
pub unsafe fn logLossWithReductionType_epsilon_weights( reduction_type: MLCReductionType, epsilon: c_float, weights: Option<&MLCTensor>, ) -> Retained<Self>
MLCTensor
and MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter epsilon
: The epsilon parameter
Parameter weights
: The loss label weights tensor
Returns: A new log loss layer.
Sourcepub unsafe fn huberLossWithReductionType_delta_weight(
reduction_type: MLCReductionType,
delta: c_float,
weight: c_float,
) -> Retained<Self>
👎DeprecatedAvailable on crate feature MLCTypes
only.
pub unsafe fn huberLossWithReductionType_delta_weight( reduction_type: MLCReductionType, delta: c_float, weight: c_float, ) -> Retained<Self>
MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter delta
: The delta parameter
Parameter weight
: A scalar floating-point value
Returns: A new huber loss layer.
Sourcepub unsafe fn huberLossWithReductionType_delta_weights(
reduction_type: MLCReductionType,
delta: c_float,
weights: Option<&MLCTensor>,
) -> Retained<Self>
👎DeprecatedAvailable on crate features MLCTensor
and MLCTypes
only.
pub unsafe fn huberLossWithReductionType_delta_weights( reduction_type: MLCReductionType, delta: c_float, weights: Option<&MLCTensor>, ) -> Retained<Self>
MLCTensor
and MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter delta
: The delta parameter
Parameter weights
: The loss label weights tensor
Returns: A new huber loss layer.
Sourcepub unsafe fn meanAbsoluteErrorLossWithReductionType_weight(
reduction_type: MLCReductionType,
weight: c_float,
) -> Retained<Self>
👎DeprecatedAvailable on crate feature MLCTypes
only.
pub unsafe fn meanAbsoluteErrorLossWithReductionType_weight( reduction_type: MLCReductionType, weight: c_float, ) -> Retained<Self>
MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter weight
: A scalar floating-point value
Returns: A new L1 i.e. mean absolute error loss layer.
Sourcepub unsafe fn meanAbsoluteErrorLossWithReductionType_weights(
reduction_type: MLCReductionType,
weights: Option<&MLCTensor>,
) -> Retained<Self>
👎DeprecatedAvailable on crate features MLCTensor
and MLCTypes
only.
pub unsafe fn meanAbsoluteErrorLossWithReductionType_weights( reduction_type: MLCReductionType, weights: Option<&MLCTensor>, ) -> Retained<Self>
MLCTensor
and MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter weights
: The loss label weights tensor
Returns: A new L1 i.e. mean absolute error loss layer.
Sourcepub unsafe fn meanSquaredErrorLossWithReductionType_weight(
reduction_type: MLCReductionType,
weight: c_float,
) -> Retained<Self>
👎DeprecatedAvailable on crate feature MLCTypes
only.
pub unsafe fn meanSquaredErrorLossWithReductionType_weight( reduction_type: MLCReductionType, weight: c_float, ) -> Retained<Self>
MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter weight
: A scalar floating-point value
Returns: A new L2 i.e. mean squared error loss layer.
Sourcepub unsafe fn meanSquaredErrorLossWithReductionType_weights(
reduction_type: MLCReductionType,
weights: Option<&MLCTensor>,
) -> Retained<Self>
👎DeprecatedAvailable on crate features MLCTensor
and MLCTypes
only.
pub unsafe fn meanSquaredErrorLossWithReductionType_weights( reduction_type: MLCReductionType, weights: Option<&MLCTensor>, ) -> Retained<Self>
MLCTensor
and MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter weights
: The loss label weights tensor
Returns: A new L2 i.e. mean squared error loss layer.
Sourcepub unsafe fn hingeLossWithReductionType_weight(
reduction_type: MLCReductionType,
weight: c_float,
) -> Retained<Self>
👎DeprecatedAvailable on crate feature MLCTypes
only.
pub unsafe fn hingeLossWithReductionType_weight( reduction_type: MLCReductionType, weight: c_float, ) -> Retained<Self>
MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter weight
: A scalar floating-point value
Returns: A new hinge loss layer.
Sourcepub unsafe fn hingeLossWithReductionType_weights(
reduction_type: MLCReductionType,
weights: Option<&MLCTensor>,
) -> Retained<Self>
👎DeprecatedAvailable on crate features MLCTensor
and MLCTypes
only.
pub unsafe fn hingeLossWithReductionType_weights( reduction_type: MLCReductionType, weights: Option<&MLCTensor>, ) -> Retained<Self>
MLCTensor
and MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter weights
: The loss label weights tensor
Returns: A new hinge loss layer.
Sourcepub unsafe fn cosineDistanceLossWithReductionType_weight(
reduction_type: MLCReductionType,
weight: c_float,
) -> Retained<Self>
👎DeprecatedAvailable on crate feature MLCTypes
only.
pub unsafe fn cosineDistanceLossWithReductionType_weight( reduction_type: MLCReductionType, weight: c_float, ) -> Retained<Self>
MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter weight
: A scalar floating-point value
Returns: A new cosine distance loss layer.
Sourcepub unsafe fn cosineDistanceLossWithReductionType_weights(
reduction_type: MLCReductionType,
weights: Option<&MLCTensor>,
) -> Retained<Self>
👎DeprecatedAvailable on crate features MLCTensor
and MLCTypes
only.
pub unsafe fn cosineDistanceLossWithReductionType_weights( reduction_type: MLCReductionType, weights: Option<&MLCTensor>, ) -> Retained<Self>
MLCTensor
and MLCTypes
only.Create a loss layer
Parameter reductionType
: The reduction type to use
Parameter weights
: The loss label weights tensor
Returns: A new cosine distance loss layer.
Methods from Deref<Target = MLCLayer>§
Sourcepub unsafe fn layerID(&self) -> NSUInteger
👎Deprecated
pub unsafe fn layerID(&self) -> NSUInteger
The layer ID
A unique number to identify each layer. Assigned when the layer is created.
Sourcepub unsafe fn label(&self) -> Retained<NSString>
👎Deprecated
pub unsafe fn label(&self) -> Retained<NSString>
A string to help identify this object.
Sourcepub unsafe fn isDebuggingEnabled(&self) -> bool
👎Deprecated
pub unsafe fn isDebuggingEnabled(&self) -> bool
A flag to identify if we want to debug this layer when executing a graph that includes this layer
If this is set, we will make sure that the result tensor and gradient tensors are available for reading on CPU The default is NO. If isDebuggingEnabled is set to YES, make sure to set options to enable debugging when compiling the graph. Otherwise this property may be ignored.
Sourcepub unsafe fn setIsDebuggingEnabled(&self, is_debugging_enabled: bool)
👎Deprecated
pub unsafe fn setIsDebuggingEnabled(&self, is_debugging_enabled: bool)
Setter for isDebuggingEnabled
.
Sourcepub unsafe fn deviceType(&self) -> MLCDeviceType
Available on crate feature MLCTypes
only.
pub unsafe fn deviceType(&self) -> MLCDeviceType
MLCTypes
only.The device type where this layer will be executed
Typically the MLCDevice passed to compileWithOptions will be the device used to execute layers in the graph. If MLCDeviceTypeANE is selected, it is possible that some of the layers of the graph may not be executed on the ANE but instead on the CPU or GPU. This property can be used to determine which device type the layer will be executed on.
Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
pub fn class(&self) -> &'static AnyClass
Dynamically find the class of this object.
§Panics
May panic if the object is invalid (which may be the case for objects
returned from unavailable init
/new
methods).
§Example
Check that an instance of NSObject
has the precise class NSObject
.
use objc2::ClassType;
use objc2::runtime::NSObject;
let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());
Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load
instead.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load
instead.Use Ivar::load
instead.
§Safety
The object must have an instance variable with the given name, and it
must be of type T
.
See Ivar::load_ptr
for details surrounding this.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
Attempt to downcast the object to a class of type T
.
This is the reference-variant. Use Retained::downcast
if you want
to convert a retained object to another type.
§Mutable classes
Some classes have immutable and mutable variants, such as NSString
and NSMutableString
.
When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.
So using this method to convert a NSString
to a NSMutableString
,
while not unsound, is generally frowned upon unless you created the
string yourself, or the API explicitly documents the string to be
mutable.
See Apple’s documentation on mutability and on
isKindOfClass:
for more details.
§Generic classes
Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.
You can, however, safely downcast to generic collections where all the
type-parameters are AnyObject
.
§Panics
This works internally by calling isKindOfClass:
. That means that the
object must have the instance method of that name, and an exception
will be thrown (if CoreFoundation is linked) or the process will abort
if that is not the case. In the vast majority of cases, you don’t need
to worry about this, since both root objects NSObject
and
NSProxy
implement this method.
§Examples
Cast an NSString
back and forth from NSObject
.
use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};
let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();
Try (and fail) to cast an NSObject
to an NSString
.
use objc2_foundation::{NSObject, NSString};
let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());
Try to cast to an array of strings.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();
This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.
Downcast when processing each element instead.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
for elem in arr {
if let Some(data) = elem.downcast_ref::<NSString>() {
// handle `data`
}
}
Trait Implementations§
Source§impl AsRef<AnyObject> for MLCLossLayer
impl AsRef<AnyObject> for MLCLossLayer
Source§impl AsRef<MLCLayer> for MLCLossLayer
impl AsRef<MLCLayer> for MLCLossLayer
Source§impl AsRef<MLCLossLayer> for MLCLossLayer
impl AsRef<MLCLossLayer> for MLCLossLayer
Source§impl AsRef<MLCLossLayer> for MLCYOLOLossLayer
Available on crate feature MLCYOLOLossLayer
only.
impl AsRef<MLCLossLayer> for MLCYOLOLossLayer
MLCYOLOLossLayer
only.Source§fn as_ref(&self) -> &MLCLossLayer
fn as_ref(&self) -> &MLCLossLayer
Source§impl AsRef<NSObject> for MLCLossLayer
impl AsRef<NSObject> for MLCLossLayer
Source§impl Borrow<AnyObject> for MLCLossLayer
impl Borrow<AnyObject> for MLCLossLayer
Source§impl Borrow<MLCLayer> for MLCLossLayer
impl Borrow<MLCLayer> for MLCLossLayer
Source§impl Borrow<MLCLossLayer> for MLCYOLOLossLayer
Available on crate feature MLCYOLOLossLayer
only.
impl Borrow<MLCLossLayer> for MLCYOLOLossLayer
MLCYOLOLossLayer
only.Source§fn borrow(&self) -> &MLCLossLayer
fn borrow(&self) -> &MLCLossLayer
Source§impl Borrow<NSObject> for MLCLossLayer
impl Borrow<NSObject> for MLCLossLayer
Source§impl ClassType for MLCLossLayer
impl ClassType for MLCLossLayer
Source§const NAME: &'static str = "MLCLossLayer"
const NAME: &'static str = "MLCLossLayer"
Source§type ThreadKind = <<MLCLossLayer as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<MLCLossLayer as ClassType>::Super as ClassType>::ThreadKind
Source§impl Debug for MLCLossLayer
impl Debug for MLCLossLayer
Source§impl Deref for MLCLossLayer
impl Deref for MLCLossLayer
Source§impl Hash for MLCLossLayer
impl Hash for MLCLossLayer
Source§impl Message for MLCLossLayer
impl Message for MLCLossLayer
Source§impl NSObjectProtocol for MLCLossLayer
impl NSObjectProtocol for MLCLossLayer
Source§fn isEqual(&self, other: Option<&AnyObject>) -> bool
fn isEqual(&self, other: Option<&AnyObject>) -> bool
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
isKindOfClass
directly, or cast your objects with AnyObject::downcast_ref