pub struct Cudnn { /* private fields */ }
Expand description
Provides a the high-level interface to CUDA’s cuDNN.
Implementations§
source§impl Cudnn
impl Cudnn
sourcepub fn new() -> Result<Cudnn, Error>
pub fn new() -> Result<Cudnn, Error>
Initializes a new CUDA cuDNN context.
Make sure your current CUDA device is cuDNN enabled.
sourcepub fn from_c(id: cudnnHandle_t) -> Cudnn
pub fn from_c(id: cudnnHandle_t) -> Cudnn
Initializes a new CUDA cuDNN Context from its C type.
sourcepub fn id_c(&self) -> &cudnnHandle_t
pub fn id_c(&self) -> &cudnnHandle_t
Returns the CUDA cuDNN Context as its C type.
sourcepub fn init_convolution(
&self,
src_desc: &TensorDescriptor,
conv_desc: ConvolutionDescriptor,
filter_desc: FilterDescriptor,
dest_desc: &TensorDescriptor
) -> Result<ConvolutionConfig, Error>
pub fn init_convolution( &self, src_desc: &TensorDescriptor, conv_desc: ConvolutionDescriptor, filter_desc: FilterDescriptor, dest_desc: &TensorDescriptor ) -> Result<ConvolutionConfig, Error>
Initializes the parameters and configurations for running CUDA cuDNN convolution operations.
This includes finding the right convolution algorithm, workspace size and allocating that workspace.
sourcepub fn init_normalization(
&self,
lrn_n: u32,
lrn_alpha: f64,
lrn_beta: f64,
lrn_k: f64
) -> Result<NormalizationConfig, Error>
pub fn init_normalization( &self, lrn_n: u32, lrn_alpha: f64, lrn_beta: f64, lrn_k: f64 ) -> Result<NormalizationConfig, Error>
Initializes the parameters and configurations for running CUDA cuDNN LRN operations.
sourcepub fn init_pooling(
&self,
window: &[i32],
padding: &[i32],
stride: &[i32]
) -> Result<PoolingConfig, Error>
pub fn init_pooling( &self, window: &[i32], padding: &[i32], stride: &[i32] ) -> Result<PoolingConfig, Error>
Initializes the parameters and configurations for running CUDA cuDNN Pooling operations.
sourcepub fn init_activation(&self) -> Result<ActivationConfig, Error>
pub fn init_activation(&self) -> Result<ActivationConfig, Error>
Initializes the parameters and configurations for running CUDA cuDNN Activation operations.
sourcepub fn init_dropout(
&self,
probability: f32,
seed: u64
) -> Result<DropoutConfig, Error>
pub fn init_dropout( &self, probability: f32, seed: u64 ) -> Result<DropoutConfig, Error>
Initializes the parameters and configurations for running CUDA cuDNN dropout operation.
sourcepub fn init_rnn(
&self,
x_desc: &[TensorDescriptor],
rnn_desc: RnnDescriptor,
hidden_size: i32,
num_layers: i32,
seq_length: i32,
dropout_memory: cudnnDropoutDescriptor_t,
input_mode: cudnnRNNInputMode_t,
direction_mode: cudnnDirectionMode_t,
network_mode: cudnnRNNMode_t,
algorithm: cudnnRNNAlgo_t,
data_type: DataType,
math_type: cudnnMathType_t
) -> Result<RnnConfig, Error>
pub fn init_rnn( &self, x_desc: &[TensorDescriptor], rnn_desc: RnnDescriptor, hidden_size: i32, num_layers: i32, seq_length: i32, dropout_memory: cudnnDropoutDescriptor_t, input_mode: cudnnRNNInputMode_t, direction_mode: cudnnDirectionMode_t, network_mode: cudnnRNNMode_t, algorithm: cudnnRNNAlgo_t, data_type: DataType, math_type: cudnnMathType_t ) -> Result<RnnConfig, Error>
Initialize RNN
sourcepub fn rnn_forward<T>(
&self,
rnn_config: &RnnConfig,
src_desc: Vec<TensorDescriptor>,
src: *const c_void,
output_desc: Vec<TensorDescriptor>,
output: *mut c_void,
hidden_desc: &TensorDescriptor,
hidden: *const c_void,
cell_desc: &TensorDescriptor,
cell: *const c_void,
weight_desc: &FilterDescriptor,
weight: *const c_void,
hidden_output_desc: &TensorDescriptor,
hidden_output: *mut c_void,
cell_output_desc: &TensorDescriptor,
cell_output: *mut c_void,
workspace: *mut c_void,
reserve_data: *mut c_void
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn rnn_forward<T>(
&self,
rnn_config: &RnnConfig,
src_desc: Vec<TensorDescriptor>,
src: *const c_void,
output_desc: Vec<TensorDescriptor>,
output: *mut c_void,
hidden_desc: &TensorDescriptor,
hidden: *const c_void,
cell_desc: &TensorDescriptor,
cell: *const c_void,
weight_desc: &FilterDescriptor,
weight: *const c_void,
hidden_output_desc: &TensorDescriptor,
hidden_output: *mut c_void,
cell_output_desc: &TensorDescriptor,
cell_output: *mut c_void,
workspace: *mut c_void,
reserve_data: *mut c_void
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Train & Return Results for RNN
sourcepub fn rnn_backward_data<T>(
&self,
rnn_config: &RnnConfig,
output_desc: Vec<TensorDescriptor>,
output: *const c_void,
output_gradient_desc: Vec<TensorDescriptor>,
output_gradient: *const c_void,
hidden_gradient_desc: &TensorDescriptor,
hidden_gradient: *const c_void,
cell_gradient_desc: &TensorDescriptor,
cell_gradient: *const c_void,
weight_desc: &FilterDescriptor,
weight: *const c_void,
hidden_desc: &TensorDescriptor,
hidden: *const c_void,
cell_desc: &TensorDescriptor,
cell: *const c_void,
input_gradient_desc: Vec<TensorDescriptor>,
input_gradient: *mut c_void,
input_hidden_gradient_desc: &TensorDescriptor,
input_hidden_gradient: *mut c_void,
input_cell_gradient_desc: &TensorDescriptor,
input_cell_gradient: *mut c_void,
workspace: *mut c_void,
reserve_data: *mut c_void
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn rnn_backward_data<T>(
&self,
rnn_config: &RnnConfig,
output_desc: Vec<TensorDescriptor>,
output: *const c_void,
output_gradient_desc: Vec<TensorDescriptor>,
output_gradient: *const c_void,
hidden_gradient_desc: &TensorDescriptor,
hidden_gradient: *const c_void,
cell_gradient_desc: &TensorDescriptor,
cell_gradient: *const c_void,
weight_desc: &FilterDescriptor,
weight: *const c_void,
hidden_desc: &TensorDescriptor,
hidden: *const c_void,
cell_desc: &TensorDescriptor,
cell: *const c_void,
input_gradient_desc: Vec<TensorDescriptor>,
input_gradient: *mut c_void,
input_hidden_gradient_desc: &TensorDescriptor,
input_hidden_gradient: *mut c_void,
input_cell_gradient_desc: &TensorDescriptor,
input_cell_gradient: *mut c_void,
workspace: *mut c_void,
reserve_data: *mut c_void
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Train & Return Results for RNN
sourcepub fn rnn_backward_weights<T>(
&self,
rnn_config: &RnnConfig,
src_desc: Vec<TensorDescriptor>,
src: *const c_void,
hidden_desc: &TensorDescriptor,
hidden: *const c_void,
output_desc: Vec<TensorDescriptor>,
output: *const c_void,
weight_desc: FilterDescriptor,
weight: *mut c_void,
workspace: *mut c_void,
reserve_data: *mut c_void
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn rnn_backward_weights<T>(
&self,
rnn_config: &RnnConfig,
src_desc: Vec<TensorDescriptor>,
src: *const c_void,
hidden_desc: &TensorDescriptor,
hidden: *const c_void,
output_desc: Vec<TensorDescriptor>,
output: *const c_void,
weight_desc: FilterDescriptor,
weight: *mut c_void,
workspace: *mut c_void,
reserve_data: *mut c_void
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Train & Return Results for RNN
sourcepub fn sigmoid_forward<T>(
&self,
activation_conf: &ActivationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn sigmoid_forward<T>(
&self,
activation_conf: &ActivationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the forward Sigmoid Activation function.
Writes the result of the computation to dest_data
.
sourcepub fn sigmoid_backward<T>(
&self,
activation_conf: &ActivationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn sigmoid_backward<T>(
&self,
activation_conf: &ActivationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the backward Sigmoid Activation function.
Writes the result of the computation to dest_diff_data
.
sourcepub fn relu_forward<T>(
&self,
activation_conf: &ActivationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn relu_forward<T>(
&self,
activation_conf: &ActivationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the forward Rectified Linear Activation function.
Writes the result of the computation to dest_data
.
sourcepub fn relu_backward<T>(
&self,
activation_conf: &ActivationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn relu_backward<T>(
&self,
activation_conf: &ActivationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the backward Rectified Linear Activation function.
Writes the result of the computation to dest_diff_data
.
sourcepub fn tanh_forward<T>(
&self,
activation_conf: &ActivationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn tanh_forward<T>(
&self,
activation_conf: &ActivationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the forward Hyperbolic Tangent Activation function.
Writes the result of the computation to dest_data
.
sourcepub fn tanh_backward<T>(
&self,
activation_conf: &ActivationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn tanh_backward<T>(
&self,
activation_conf: &ActivationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the backward Hyperbolic Tangent Activation function.
Writes the result of the computation to dest_diff_data
.
sourcepub fn convolution_forward<T>(
&self,
conv_config: &ConvolutionConfig,
workspace: *mut c_void,
filter_data: *const c_void,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn convolution_forward<T>(
&self,
conv_config: &ConvolutionConfig,
workspace: *mut c_void,
filter_data: *const c_void,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the forward Convolution function.
Writes the result of the computation to dest_data
.
sourcepub fn convolution_backward_bias<T>(
&self,
dest_grad_desc: &TensorDescriptor,
dest_grad_data: *const c_void,
bias_grad_desc: &TensorDescriptor,
bias_grad_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn convolution_backward_bias<T>(
&self,
dest_grad_desc: &TensorDescriptor,
dest_grad_data: *const c_void,
bias_grad_desc: &TensorDescriptor,
bias_grad_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the backward Convolution function w.r.t the bias.
Writes the result of the computation to bias_grad_data
.
sourcepub fn convolution_backward_filter<T>(
&self,
conv_config: &ConvolutionConfig,
workspace: *mut c_void,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_grad_desc: &TensorDescriptor,
dest_grad_data: *const c_void,
filter_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn convolution_backward_filter<T>(
&self,
conv_config: &ConvolutionConfig,
workspace: *mut c_void,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_grad_desc: &TensorDescriptor,
dest_grad_data: *const c_void,
filter_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the backward Convolution function w.r.t the filter.
Writes the result of the computation to filter_data
.
sourcepub fn convolution_backward_data<T>(
&self,
conv_config: &ConvolutionConfig,
workspace: *mut c_void,
filter_data: *const c_void,
dest_grad_desc: &TensorDescriptor,
dest_grad_data: *const c_void,
src_grad_desc: &TensorDescriptor,
src_grad_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn convolution_backward_data<T>(
&self,
conv_config: &ConvolutionConfig,
workspace: *mut c_void,
filter_data: *const c_void,
dest_grad_desc: &TensorDescriptor,
dest_grad_data: *const c_void,
src_grad_desc: &TensorDescriptor,
src_grad_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the backward Convolution function w.r.t the data.
Writes the result of the computation to src_grad_data
.
sourcepub fn softmax_forward<T>(
&self,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn softmax_forward<T>(
&self,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the forward softmax function.
Writes the result of the computation to dest_data
.
sourcepub fn softmax_backward<T>(
&self,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn softmax_backward<T>(
&self,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the backward softmax function.
Writes the result of the computation to dest_diff_data
.
sourcepub fn log_softmax_forward<T>(
&self,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn log_softmax_forward<T>(
&self,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the forward logarithmic softmax function.
Writes the result of the computation to dest_data
.
sourcepub fn log_softmax_backward<T>(
&self,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn log_softmax_backward<T>(
&self,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the backward logarithmic softmax function.
Writes the result of the computation to dest_diff_data
.
sourcepub fn lrn_forward<T>(
&self,
normalization_conf: &NormalizationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn lrn_forward<T>(
&self,
normalization_conf: &NormalizationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the forward local response normalization function.
Writes the result of the computation to dest_data
.
sourcepub fn lrn_backward<T>(
&self,
normalization_conf: &NormalizationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn lrn_backward<T>(
&self,
normalization_conf: &NormalizationConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the backward local response normalization function.
Writes the result of the computation to dest_diff_data
.
sourcepub fn pooling_avg_forward<T>(
&self,
pooling_conf: &PoolingConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn pooling_avg_forward<T>(
&self,
pooling_conf: &PoolingConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the forward average pooling function.
Writes the result of the computation to dest_data
.
sourcepub fn pooling_avg_backward<T>(
&self,
pooling_conf: &PoolingConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn pooling_avg_backward<T>(
&self,
pooling_conf: &PoolingConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the backward average pooling function.
Writes the result of the computation to dest_diff_data
.
sourcepub fn pooling_max_forward<T>(
&self,
pooling_conf: &PoolingConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn pooling_max_forward<T>(
&self,
pooling_conf: &PoolingConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the forward max pooling function.
Writes the result of the computation to dest_data
.
sourcepub fn pooling_max_backward<T>(
&self,
pooling_conf: &PoolingConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn pooling_max_backward<T>(
&self,
pooling_conf: &PoolingConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
src_diff_desc: &TensorDescriptor,
src_diff_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *const c_void,
dest_diff_desc: &TensorDescriptor,
dest_diff_data: *mut c_void,
scale: ScalParams<T>
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes the backward max pooling function.
Writes the result of the computation to dest_diff_data
.
sourcepub fn dropout_forward<T>(
&self,
dropout_conf: &DropoutConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn dropout_forward<T>(
&self,
dropout_conf: &DropoutConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes probability and applies it to Dropout
Writes the result of the computation to dest_data
sourcepub fn dropout_backward<T>(
&self,
dropout_conf: &DropoutConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void
) -> Result<(), Error>where
T: Float + DataTypeInfo,
pub fn dropout_backward<T>(
&self,
dropout_conf: &DropoutConfig,
src_desc: &TensorDescriptor,
src_data: *const c_void,
dest_desc: &TensorDescriptor,
dest_data: *mut c_void
) -> Result<(), Error>where
T: Float + DataTypeInfo,
Computes probability and applies it to Dropout
Writes the result of the computation to dest_data