Sigmoid

Trait Sigmoid 

Source
pub trait Sigmoid<F>: NN<F> {
    // Required methods
    fn sigmoid(
        &self,
        x: &SharedTensor<F>,
        result: &mut SharedTensor<F>,
    ) -> Result<(), Error>;
    fn sigmoid_grad(
        &self,
        x: &SharedTensor<F>,
        x_diff: &SharedTensor<F>,
        result: &SharedTensor<F>,
        result_diff: &mut SharedTensor<F>,
    ) -> Result<(), Error>;
}
Expand description

Provides the functionality for a Backend to support Sigmoid operations.

Required Methods§

Source

fn sigmoid( &self, x: &SharedTensor<F>, result: &mut SharedTensor<F>, ) -> Result<(), Error>

Computes the [Sigmoid function][sigmoid] over the input Tensor x. [sigmoid]: https://en.wikipedia.org/wiki/Sigmoid_function

Saves the result to result.

Source

fn sigmoid_grad( &self, x: &SharedTensor<F>, x_diff: &SharedTensor<F>, result: &SharedTensor<F>, result_diff: &mut SharedTensor<F>, ) -> Result<(), Error>

Computes the gradient of a [Sigmoid function][sigmoid] over the input Tensor x. [sigmoid]: https://en.wikipedia.org/wiki/Sigmoid_function

Saves the result to result_diff.

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.

Implementations on Foreign Types§

Source§

impl Sigmoid<f32> for Backend<Native>

Source§

fn sigmoid( &self, x: &SharedTensor<f32>, result: &mut SharedTensor<f32>, ) -> Result<(), Error>

Source§

fn sigmoid_grad( &self, x: &SharedTensor<f32>, x_diff: &SharedTensor<f32>, result: &SharedTensor<f32>, result_diff: &mut SharedTensor<f32>, ) -> Result<(), Error>

Source§

impl Sigmoid<f64> for Backend<Native>

Source§

fn sigmoid( &self, x: &SharedTensor<f64>, result: &mut SharedTensor<f64>, ) -> Result<(), Error>

Source§

fn sigmoid_grad( &self, x: &SharedTensor<f64>, x_diff: &SharedTensor<f64>, result: &SharedTensor<f64>, result_diff: &mut SharedTensor<f64>, ) -> Result<(), Error>

Source§

impl<T> Sigmoid<T> for Backend<Cuda>
where T: Float + DataTypeInfo + Default,

Source§

fn sigmoid( &self, x: &SharedTensor<T>, result: &mut SharedTensor<T>, ) -> Result<(), Error>

Source§

fn sigmoid_grad( &self, x: &SharedTensor<T>, x_diff: &SharedTensor<T>, result: &SharedTensor<T>, result_diff: &mut SharedTensor<T>, ) -> Result<(), Error>

Implementors§