Skip to main content

SparseUpdateSupport

Trait SparseUpdateSupport 

Source
pub trait SparseUpdateSupport {
    // Required methods
    fn apply_sparse_update(
        &mut self,
        parameter_id: &str,
        sparse_gradient: &SparseGradient,
    ) -> Result<(), OptimizerError>;
    fn apply_block_sparse_update(
        &mut self,
        parameter_id: &str,
        block_sparse: &BlockSparseGradient,
    ) -> Result<(), OptimizerError>;
    fn apply_dense_update(
        &mut self,
        parameter_id: &str,
        gradient: &[f32],
    ) -> Result<(), OptimizerError>;
    fn get_parameter_shape(&self, parameter_id: &str) -> Option<Vec<usize>>;
}
Expand description

Trait for optimizers that support sparse updates

Required Methods§

Source

fn apply_sparse_update( &mut self, parameter_id: &str, sparse_gradient: &SparseGradient, ) -> Result<(), OptimizerError>

Apply a sparse gradient update

Source

fn apply_block_sparse_update( &mut self, parameter_id: &str, block_sparse: &BlockSparseGradient, ) -> Result<(), OptimizerError>

Apply a block-sparse gradient update

Source

fn apply_dense_update( &mut self, parameter_id: &str, gradient: &[f32], ) -> Result<(), OptimizerError>

Apply a dense gradient update

Source

fn get_parameter_shape(&self, parameter_id: &str) -> Option<Vec<usize>>

Get parameter shape for sparse processing

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§