Struct CrossEntropyLossConfig
pub struct CrossEntropyLossConfig {
pub pad_tokens: Option<Vec<usize>>,
pub weights: Option<Vec<f32>>,
pub smoothing: Option<f32>,
pub logits: bool,
}Expand description
Configuration to create a Cross-entropy loss using the init function.
Fields§
§pad_tokens: Option<Vec<usize>>Create padded cross entropy.
Prevents pad tokens from impacting loss calculation.
An entirely padded batch returns NaN, since the mean has no valid samples.
weights: Option<Vec<f32>>Create weighted cross-entropy.
The loss of a specific sample will simply be given by: weight * log(p(x)) * 1,
§Pre-conditions
- The order of the weight vector should correspond to the label integer assignment.
- Targets assigned negative Int’s will not be allowed.
smoothing: Option<f32>Create cross-entropy with label smoothing.
Hard labels {0, 1} will be changed to y_smoothed = y(1 - a) + a / nr_classes. Alpha = 0 would be the same as default.
logits: boolCreate cross-entropy with probabilities as input instead of logits.
Implementations§
§impl CrossEntropyLossConfig
impl CrossEntropyLossConfig
pub fn new() -> CrossEntropyLossConfig
pub fn new() -> CrossEntropyLossConfig
Create a new instance of the config.
§Arguments
§Optional Arguments
§pad_tokens
Create padded cross entropy.
Prevents pad tokens from impacting loss calculation.
An entirely padded batch returns NaN, since the mean has no valid samples.
- Defaults to
None
§weights
Create weighted cross-entropy.
The loss of a specific sample will simply be given by: weight * log(p(x)) * 1,
§Pre-conditions
- The order of the weight vector should correspond to the label integer assignment.
- Targets assigned negative Int’s will not be allowed.
- Defaults to
None
§smoothing
Create cross-entropy with label smoothing.
Hard labels {0, 1} will be changed to y_smoothed = y(1 - a) + a / nr_classes. Alpha = 0 would be the same as default.
- Defaults to
None
§Default Arguments
§logits
Create cross-entropy with probabilities as input instead of logits.
- Defaults to
true
§impl CrossEntropyLossConfig
impl CrossEntropyLossConfig
pub fn with_logits(self, logits: bool) -> CrossEntropyLossConfig
pub fn with_logits(self, logits: bool) -> CrossEntropyLossConfig
Sets the value for the field logits.
Create cross-entropy with probabilities as input instead of logits.
- Defaults to
true
pub fn with_pad_tokens(
self,
pad_tokens: Option<Vec<usize>>,
) -> CrossEntropyLossConfig
pub fn with_pad_tokens( self, pad_tokens: Option<Vec<usize>>, ) -> CrossEntropyLossConfig
Sets the value for the field pad_tokens.
Create padded cross entropy.
Prevents pad tokens from impacting loss calculation.
An entirely padded batch returns NaN, since the mean has no valid samples.
- Defaults to
None
pub fn with_weights(self, weights: Option<Vec<f32>>) -> CrossEntropyLossConfig
pub fn with_weights(self, weights: Option<Vec<f32>>) -> CrossEntropyLossConfig
Sets the value for the field weights.
Create weighted cross-entropy.
The loss of a specific sample will simply be given by: weight * log(p(x)) * 1,
§Pre-conditions
- The order of the weight vector should correspond to the label integer assignment.
- Targets assigned negative Int’s will not be allowed.
- Defaults to
None
pub fn with_smoothing(self, smoothing: Option<f32>) -> CrossEntropyLossConfig
pub fn with_smoothing(self, smoothing: Option<f32>) -> CrossEntropyLossConfig
Sets the value for the field smoothing.
Create cross-entropy with label smoothing.
Hard labels {0, 1} will be changed to y_smoothed = y(1 - a) + a / nr_classes. Alpha = 0 would be the same as default.
- Defaults to
None
§impl CrossEntropyLossConfig
impl CrossEntropyLossConfig
pub fn init(&self, device: &Device) -> CrossEntropyLoss
pub fn init(&self, device: &Device) -> CrossEntropyLoss
Initialize Cross-entropy loss.
Trait Implementations§
§impl Clone for CrossEntropyLossConfig
impl Clone for CrossEntropyLossConfig
§fn clone(&self) -> CrossEntropyLossConfig
fn clone(&self) -> CrossEntropyLossConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Config for CrossEntropyLossConfig
impl Config for CrossEntropyLossConfig
§impl Debug for CrossEntropyLossConfig
impl Debug for CrossEntropyLossConfig
§impl<'de> Deserialize<'de> for CrossEntropyLossConfig
impl<'de> Deserialize<'de> for CrossEntropyLossConfig
§fn deserialize<D>(
deserializer: D,
) -> Result<CrossEntropyLossConfig, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<CrossEntropyLossConfig, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
§impl Display for CrossEntropyLossConfig
impl Display for CrossEntropyLossConfig
§impl Serialize for CrossEntropyLossConfig
impl Serialize for CrossEntropyLossConfig
§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Auto Trait Implementations§
impl Freeze for CrossEntropyLossConfig
impl RefUnwindSafe for CrossEntropyLossConfig
impl Send for CrossEntropyLossConfig
impl Sync for CrossEntropyLossConfig
impl Unpin for CrossEntropyLossConfig
impl UnsafeUnpin for CrossEntropyLossConfig
impl UnwindSafe for CrossEntropyLossConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<K, Q> Comparable<Q> for K
impl<K, Q> Comparable<Q> for K
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<K, Q> Equivalent<Q> for K
impl<K, Q> Equivalent<Q> for K
§fn equivalent(&self, key: &Q) -> bool
fn equivalent(&self, key: &Q) -> bool
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string()] Read more§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString]. Read more