pub trait OptimizationTask {
// Required methods
fn initialize_parameters(
&self,
device: &CpuDevice,
) -> OptimizerResult<Vec<Tensor>>;
fn compute_loss_and_gradients(
&self,
parameters: &[Tensor],
) -> OptimizerResult<(f32, Vec<Tensor>)>;
fn name(&self) -> &str;
}Expand description
Trait for optimization tasks used in meta-learning
Required Methods§
Sourcefn initialize_parameters(
&self,
device: &CpuDevice,
) -> OptimizerResult<Vec<Tensor>>
fn initialize_parameters( &self, device: &CpuDevice, ) -> OptimizerResult<Vec<Tensor>>
Initialize parameters for this task
Sourcefn compute_loss_and_gradients(
&self,
parameters: &[Tensor],
) -> OptimizerResult<(f32, Vec<Tensor>)>
fn compute_loss_and_gradients( &self, parameters: &[Tensor], ) -> OptimizerResult<(f32, Vec<Tensor>)>
Compute loss and gradients for given parameters
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".