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§
Source§impl CrossEntropyLossConfig
impl CrossEntropyLossConfig
Sourcepub fn with_logits(self, logits: bool) -> Self
pub fn with_logits(self, logits: bool) -> Self
Create cross-entropy with probabilities as input instead of logits.
Sourcepub fn with_pad_tokens(self, pad_tokens: Option<Vec<usize>>) -> Self
pub fn with_pad_tokens(self, pad_tokens: Option<Vec<usize>>) -> Self
Set the default value for the field.
Sourcepub fn with_weights(self, weights: Option<Vec<f32>>) -> Self
pub fn with_weights(self, weights: Option<Vec<f32>>) -> Self
Set the default value for the field.
Sourcepub fn with_smoothing(self, smoothing: Option<f32>) -> Self
pub fn with_smoothing(self, smoothing: Option<f32>) -> Self
Set the default value for the field.
Source§impl CrossEntropyLossConfig
impl CrossEntropyLossConfig
Sourcepub fn init<B: Backend>(&self, device: &B::Device) -> CrossEntropyLoss<B>
pub fn init<B: Backend>(&self, device: &B::Device) -> CrossEntropyLoss<B>
Initialize Cross-entropy loss.
Trait Implementations§
Source§impl Clone for CrossEntropyLossConfig
impl Clone for CrossEntropyLossConfig
Source§impl Config for CrossEntropyLossConfig
impl Config for CrossEntropyLossConfig
Source§fn save<P: AsRef<Path>>(&self, file: P) -> Result<()>
fn save<P: AsRef<Path>>(&self, file: P) -> Result<()>
Available on crate feature
std only.Saves the configuration to a file. Read more
Source§fn load<P: AsRef<Path>>(file: P) -> Result<Self, ConfigError>
fn load<P: AsRef<Path>>(file: P) -> Result<Self, ConfigError>
Available on crate feature
std only.Loads the configuration from a file. Read more
Source§fn load_binary(data: &[u8]) -> Result<Self, ConfigError>
fn load_binary(data: &[u8]) -> Result<Self, ConfigError>
Loads the configuration from a binary buffer. Read more
Source§impl Debug for CrossEntropyLossConfig
impl Debug for CrossEntropyLossConfig
Source§impl<'de> Deserialize<'de> for CrossEntropyLossConfig
impl<'de> Deserialize<'de> for CrossEntropyLossConfig
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for CrossEntropyLossConfig
impl Display for CrossEntropyLossConfig
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
Converts
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>
Converts
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