Trait coaster_nn::Dropout
source · pub trait Dropout<F>: NN<F> {
// Required methods
fn new_dropout_config(
&self,
dropout: f32,
seed: u64
) -> Result<Self::CDROP, Error>;
fn dropout(
&self,
x: &SharedTensor<F>,
result: &mut SharedTensor<F>,
config: &Self::CDROP
) -> Result<(), Error>;
fn dropout_grad(
&self,
x: &SharedTensor<F>,
x_diff: &SharedTensor<F>,
result: &SharedTensor<F>,
result_diff: &mut SharedTensor<F>,
config: &Self::CDROP
) -> Result<(), Error>;
}
Expand description
Provides the functionality for a Backend to support Dropout operations.
Required Methods§
sourcefn new_dropout_config(
&self,
dropout: f32,
seed: u64
) -> Result<Self::CDROP, Error>
fn new_dropout_config( &self, dropout: f32, seed: u64 ) -> Result<Self::CDROP, Error>
Creates a new DropoutConfig, which needs to be passed to further dropout Operations.
sourcefn dropout(
&self,
x: &SharedTensor<F>,
result: &mut SharedTensor<F>,
config: &Self::CDROP
) -> Result<(), Error>
fn dropout( &self, x: &SharedTensor<F>, result: &mut SharedTensor<F>, config: &Self::CDROP ) -> Result<(), Error>
Computes non-linear down-sampling ([max Pooling][pooling]) over the input Tensor x
.
[pooling]: https://en.wikipedia.org/wiki/Convolutional_neural_network#Pooling_layer
Saves the result to result
.
sourcefn dropout_grad(
&self,
x: &SharedTensor<F>,
x_diff: &SharedTensor<F>,
result: &SharedTensor<F>,
result_diff: &mut SharedTensor<F>,
config: &Self::CDROP
) -> Result<(), Error>
fn dropout_grad( &self, x: &SharedTensor<F>, x_diff: &SharedTensor<F>, result: &SharedTensor<F>, result_diff: &mut SharedTensor<F>, config: &Self::CDROP ) -> Result<(), Error>
Computes non-linear down-sampling ([max Pooling][pooling]) over the input Tensor x
.
[pooling]: https://en.wikipedia.org/wiki/Dropout_(neural_networks)
Saves the result to result
.
Object Safety§
This trait is not object safe.