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.
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.
- 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.
- 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<B>(
&self,
device: &<B as BackendTypes>::Device,
) -> CrossEntropyLoss<B>where
B: Backend,
pub fn init<B>(
&self,
device: &<B as BackendTypes>::Device,
) -> CrossEntropyLoss<B>where
B: Backend,
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 · 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 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<C> CloneExpand for Cwhere
C: Clone,
impl<C> CloneExpand for Cwhere
C: Clone,
fn __expand_clone_method(&self, _scope: &mut Scope) -> C
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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> 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