Skip to main content

GradientCompressionOptimizer

Trait GradientCompressionOptimizer 

Source
pub trait GradientCompressionOptimizer: DistributedOptimizer {
    type CompressionMethod;

    // Required methods
    fn compress_gradients(&self, gradients: &[Tensor]) -> Result<Vec<u8>>;
    fn decompress_gradients(&self, data: &[u8]) -> Result<Vec<Tensor>>;
    fn compression_ratio(&self) -> f32;
    fn set_compression_config(&mut self, config: Self::CompressionMethod);
}
Expand description

Trait for optimizers with gradient compression capabilities.

Required Associated Types§

Source

type CompressionMethod

The compression method used.

Required Methods§

Source

fn compress_gradients(&self, gradients: &[Tensor]) -> Result<Vec<u8>>

Compresses gradients before communication.

Source

fn decompress_gradients(&self, data: &[u8]) -> Result<Vec<Tensor>>

Decompresses received gradient data.

Source

fn compression_ratio(&self) -> f32

Gets the compression ratio achieved.

Source

fn set_compression_config(&mut self, config: Self::CompressionMethod)

Sets the compression parameters.

Implementors§