BatchNormalization

Trait BatchNormalization 

Source
pub trait BatchNormalization: DeviceBase {
    // Required methods
    fn batch_norm_2d_forward_train<T: Num>(
        momentum: f64,
        x: Matrix<Ref<&T>, DimDyn, Self>,
        y: Matrix<Ref<&mut T>, DimDyn, Self>,
        scale: Matrix<Ref<&T>, DimDyn, Self>,
        bias: Matrix<Ref<&T>, DimDyn, Self>,
        mean: Matrix<Ref<&mut T>, DimDyn, Self>,
        variance: Matrix<Ref<&mut T>, DimDyn, Self>,
        saving_mean: Option<Matrix<Ref<&mut T>, DimDyn, Self>>,
        saving_inv_variance: Option<Matrix<Ref<&mut T>, DimDyn, Self>>,
        device_batch_norm: &Option<BatchNorm2dConfig<T>>,
    );
    fn batch_norm_2d_backward<T: Num>(
        x: Matrix<Ref<&T>, DimDyn, Self>,
        y_grad: Matrix<Ref<&T>, DimDyn, Self>,
        x_grad: Matrix<Ref<&mut T>, DimDyn, Self>,
        scale: Matrix<Ref<&T>, DimDyn, Self>,
        scale_grad: Matrix<Ref<&mut T>, DimDyn, Self>,
        bias_grad: Matrix<Ref<&mut T>, DimDyn, Self>,
        saving_mean: Option<Matrix<Ref<&T>, DimDyn, Self>>,
        saving_inv_variance: Option<Matrix<Ref<&T>, DimDyn, Self>>,
        device_batch_norm_backward: &Option<BatchNorm2dBackwardConfig<T>>,
    );
    fn bach_norm_2d_forward_inference<T: Num>(
        x: Matrix<Ref<&T>, DimDyn, Self>,
        y: Matrix<Ref<&mut T>, DimDyn, Self>,
        scale: Matrix<Ref<&T>, DimDyn, Self>,
        bias: Matrix<Ref<&T>, DimDyn, Self>,
        mean: Matrix<Ref<&T>, DimDyn, Self>,
        variance: Matrix<Ref<&T>, DimDyn, Self>,
        device_batch_norm_inference: &Option<BatchNorm2dInferenceConfig<T>>,
    );
}

Required Methods§

Source

fn batch_norm_2d_forward_train<T: Num>( momentum: f64, x: Matrix<Ref<&T>, DimDyn, Self>, y: Matrix<Ref<&mut T>, DimDyn, Self>, scale: Matrix<Ref<&T>, DimDyn, Self>, bias: Matrix<Ref<&T>, DimDyn, Self>, mean: Matrix<Ref<&mut T>, DimDyn, Self>, variance: Matrix<Ref<&mut T>, DimDyn, Self>, saving_mean: Option<Matrix<Ref<&mut T>, DimDyn, Self>>, saving_inv_variance: Option<Matrix<Ref<&mut T>, DimDyn, Self>>, device_batch_norm: &Option<BatchNorm2dConfig<T>>, )

Source

fn batch_norm_2d_backward<T: Num>( x: Matrix<Ref<&T>, DimDyn, Self>, y_grad: Matrix<Ref<&T>, DimDyn, Self>, x_grad: Matrix<Ref<&mut T>, DimDyn, Self>, scale: Matrix<Ref<&T>, DimDyn, Self>, scale_grad: Matrix<Ref<&mut T>, DimDyn, Self>, bias_grad: Matrix<Ref<&mut T>, DimDyn, Self>, saving_mean: Option<Matrix<Ref<&T>, DimDyn, Self>>, saving_inv_variance: Option<Matrix<Ref<&T>, DimDyn, Self>>, device_batch_norm_backward: &Option<BatchNorm2dBackwardConfig<T>>, )

Source

fn bach_norm_2d_forward_inference<T: Num>( x: Matrix<Ref<&T>, DimDyn, Self>, y: Matrix<Ref<&mut T>, DimDyn, Self>, scale: Matrix<Ref<&T>, DimDyn, Self>, bias: Matrix<Ref<&T>, DimDyn, Self>, mean: Matrix<Ref<&T>, DimDyn, Self>, variance: Matrix<Ref<&T>, DimDyn, Self>, device_batch_norm_inference: &Option<BatchNorm2dInferenceConfig<T>>, )

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§