blob: 93d9df8433b52165231a30ef671ecd00ab761525 [file] [log] [blame]
#ifndef TH_GENERIC_FILE
#define TH_GENERIC_FILE "generic/THNN.h"
#else
TH_API void THNN_(Abs_updateOutput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *output); // [OUT] Abs output
TH_API void THNN_(Abs_updateGradInput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *gradOutput, // gradient w.r.t. output
THTensor *gradInput); // [OUT] gradient w.r.t. input
TH_API void THNN_(AbsCriterion_updateOutput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *target, // tensor with target values
THTensor *output, // [OUT] a one-element tensor with loss
bool sizeAverage); // if true, the loss will be divided by batch size
TH_API void THNN_(AbsCriterion_updateGradInput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *target, // tensor with target values
THTensor *gradInput, // [OUT] gradient w.r.t. input
bool sizeAverage); // if true, the gradient will be normalized by batch size
TH_API void THNN_(BCECriterion_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *target,
THTensor *output,
bool sizeAverage,
THTensor *weights); // [OPTIONAL]
TH_API void THNN_(BCECriterion_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *target,
THTensor *gradInput,
bool sizeAverage,
THTensor *weights); // [OPTIONAL]
TH_API void THNN_(ClassNLLCriterion_updateOutput)(
THNNState *state, // library's state
THTensor *input, // input tensor (1D/2D)
THIndexTensor *target, // tensor containing indexes of target classes
THTensor *output, // [OUT] a one-element tensor with loss
bool sizeAverage, // if true, the loss will be normalized by batch size and class weights
THTensor *weights, // [OPTIONAL] class weights
THTensor *total_weight, // [BUFFER]
int64_t ignore_index, // target index to ignore (loss = 0, gradInput = 0)
bool reduce);
TH_API void THNN_(ClassNLLCriterion_updateGradInput)(
THNNState *state, // library's state
THTensor *input, // input tensor (1D/2D)
THIndexTensor *target, // tensor containing indexes of target classes
THTensor *gradOutput,
THTensor *gradInput, // [OUT] gradient w.r.t. input
bool sizeAverage, // if true, the loss will be normalized by batch size and class weights
THTensor *weights, // [OPTIONAL] class weights
THTensor *total_weight, // [BUFFER]
int64_t ignore_index, // target index to ignore (loss = 0, gradInput = 0)
bool reduce);
TH_API void THNN_(SpatialClassNLLCriterion_updateOutput)(
THNNState *state, // library's state
THTensor *input, // input tensor (4D)
THIndexTensor *target, // tensor containing indexes of target classes (3D)
THTensor *output, // [OUT] a one-element tensor with loss
bool sizeAverage, // if true, the loss will be normalized by batch size and class weights
THTensor *weights, // [OPTIONAL] class weights
THTensor *total_weight, // [BUFFER]
int64_t ignore_index, // target index to ignore (loss = 0, gradInput = 0)
bool reduce);
TH_API void THNN_(SpatialClassNLLCriterion_updateGradInput)(
THNNState *state, // library's state
THTensor *input, // input tensor (4D)
THIndexTensor *target, // tensor containing indexes of target classes (3D)
THTensor *gradOutput,
THTensor *gradInput, // [OUT] gradient w.r.t. input
bool sizeAverage, // if true, the loss will be normalized by batch size and class weights
THTensor *weights, // [OPTIONAL] class weights
THTensor *total_weight, // [BUFFER]
int64_t ignore_index, // target index to ignore (loss = 0, gradInput = 0)
bool reduce);
TH_API void THNN_(ELU_updateOutput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *output, // [OUT] ELU output
accreal alpha, // an ELU parameter (as in paper)
bool inplace); // if true, modifies gradOutput and sets gradInput onto it (no additional memory is allocated)
TH_API void THNN_(ELU_updateGradInput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *gradOutput, // gradient w.r.t. output
THTensor *gradInput, // [OUT] gradient w.r.t. input
THTensor *output, // output from a forward pass
accreal alpha, // an ELU parameter (as in paper)
bool inplace); // if true, modifies gradOutput and sets gradInput onto it (no additional memory is allocated)
TH_API void THNN_(DistKLDivCriterion_updateOutput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *target, // target tensor
THTensor *output, // [OUT] a one-element tensor containing the loss
bool sizeAverage); // if true, the loss will be normalized **by total number of elements**
TH_API void THNN_(DistKLDivCriterion_updateGradInput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *target, // target tensor
THTensor *gradInput, // [OUT] gradient w.r.t. input
bool sizeAverage); // if true, the loss will be normalized **by total number of elements**
TH_API void THNN_(GatedLinear_updateOutput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *output, // [OUT] output tensor, half size of input along dimension dim
int dim); // dimension for halving operation
TH_API void THNN_(GatedLinear_updateGradInput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *gradOutput, // gradient w.r.t module's output
THTensor *gradInput, // [OUT] gradient w.r.t input
int dim); // dimension for halving operation
// HardShink outputs 0 on interval of (-lambda; lambda) or original value otherwise.
TH_API void THNN_(HardShrink_updateOutput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *output, // [OUT] output tensor
accreal lambda); // HardShrink parameter
TH_API void THNN_(HardShrink_updateGradInput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *gradOutput, // gradient w.r.t. module's output
THTensor *gradInput, // [OUT] gradient w.r.t. input
accreal lambda); // HardShrink parameter
// HardTanh clamps the values to the interval [min_val; max_val].
TH_API void THNN_(HardTanh_updateOutput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *output, // [OUT] output tensor
accreal min_val, // lower threshold
accreal max_val, // upper threshold
bool inplace);
TH_API void THNN_(HardTanh_updateGradInput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *gradOutput, // gradient w.r.t. module's output
THTensor *gradInput, // [OUT] gradient w.r.t. the input
accreal min_val, // lower threshold
accreal max_val, // upper threshold
bool inplace);
TH_API void THNN_(L1Cost_updateOutput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *output); // [OUT] output tensor
TH_API void THNN_(L1Cost_updateGradInput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *gradOutput, // [OPTIONAL] gradient w.r.t module's output
THTensor *gradInput); // [OUT] gradient w.r.t the input
TH_API void THNN_(LeakyReLU_updateOutput)(
THNNState *state, // library's state
THTensor *input, // [MODIFIED] input tensor
THTensor *output, // [OUT] output tensor
accreal negval, // negative part slope
bool inplace); // if true, modifies the input tensor and sets the output tensor on it (no additional memory is allocated)
TH_API void THNN_(LeakyReLU_updateGradInput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *gradOutput, // [MODIFIED] gradient w.r.t. module's output
THTensor *gradInput, // [OUT] gradient w.r.t. the input
accreal negval, // negative part slope
bool inplace); // if true, modifies gradOutput and sets gradInput onto it (no additional memory is allocated)
TH_API void THNN_(GRUFused_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *hidden,
THTensor *bias1, // [OPTIONAL]
THTensor *bias2, // [OPTIONAL]
THTensor *hx,
THTensor *output,
THTensor *storage);
TH_API void THNN_(GRUFused_updateGradInput)(
THNNState *state,
THTensor *gradInInput,
THTensor *gradInHidden,
THTensor *gradOutput,
THTensor *gradInputHx,
THTensor *storage);
TH_API void THNN_(LSTMFused_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *hidden,
THTensor *bias1, // [OPTIONAL]
THTensor *bias2, // [OPTIONAL]
THTensor *cell,
THTensor *output,
THTensor *outputCell);
TH_API void THNN_(LSTMFused_updateGradInput)(
THNNState *state,
THTensor *storage,
THTensor *gradInGates,
THTensor *cx,
THTensor *cy,
THTensor *gradOutput,
THTensor *gradOutputCell,
THTensor *gradInputCx);
TH_API void THNN_(LogSigmoid_updateOutput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *output, // output tensor
THTensor *buffer); // [BUFFER]
TH_API void THNN_(LogSigmoid_updateGradInput)(
THNNState *state, // library's state
THTensor *input, // input
THTensor *gradOutput, // gradient w.r.t. module's output
THTensor *gradInput, // [OUT] gradient w.r.t. input
THTensor *buffer); // [BUFFER]
TH_API void THNN_(LogSoftMax_updateOutput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *output, // [OUT] output tensor
int dim);
TH_API void THNN_(LogSoftMax_updateGradInput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *gradOutput, // gradient w.r.t. module's output
THTensor *gradInput, // [OUT] gradient w.r.t. input
THTensor *output, // module's output
int dim);
TH_API void THNN_(LookupTable_accGradParameters)(
THNNState *state,
THIndexTensor *input,
THTensor *gradOutput,
THTensor *gradWeight,
THIntegerTensor *count,
THTensor *sorted, // [OPTIONAL]
THIndexTensor *indices, // [OPTIONAL]
bool scaleGradByFreq,
int paddingValue,
accreal scale);
TH_API void THNN_(LookupTable_renorm)(
THNNState *state, // library's state
THIndexTensor *idx, // vector containing row indices (modified in function)
THTensor *weight, // 2D tensor whose rows will be renormalized
accreal maxNorm, // maximum norm
accreal normType); // the norm type (e.g., normType=2, then it's 2-norm)
TH_API void THNN_(MarginCriterion_updateOutput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *target, // target tensor (should contain only 1s and -1s)
THTensor *output, // [OUT] a one-element tensor containing the loss
bool sizeAverage, // if true, the loss is normalized by **total number of elements**
accreal margin); // a margin that is required for the loss to be 0
TH_API void THNN_(MarginCriterion_updateGradInput)(
THNNState *state, // library's state
THTensor *input, // input tensor
THTensor *target, // target tensor (should contin only 1s and -1s)
THTensor *gradInput, // [OUT] gradient w.r.t. module's input
bool sizeAverage, // if true, the gradient is normalized by **total number of elements**
accreal margin); // a margin that is required for the loss to be 0
TH_API void THNN_(SoftMarginCriterion_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *target,
THTensor *output,
bool sizeAverage);
TH_API void THNN_(SoftMarginCriterion_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *target,
THTensor *gradInput,
bool sizeAverage);
TH_API void THNN_(MSECriterion_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *target,
THTensor *output,
bool sizeAverage,
bool reduce);
TH_API void THNN_(MSECriterion_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *target,
THTensor *gradOutput,
THTensor *gradInput,
bool sizeAverage,
bool reduce);
TH_API void THNN_(MultiLabelMarginCriterion_updateOutput)(
THNNState *state,
THTensor *input,
THIndexTensor *target,
THTensor *output,
THTensor *isTarget,
bool sizeAverage);
TH_API void THNN_(MultiLabelMarginCriterion_updateGradInput)(
THNNState *state,
THTensor *input,
THIndexTensor *target,
THTensor *gradInput,
THTensor *isTarget,
bool sizeAverage);
TH_API void THNN_(MultiMarginCriterion_updateOutput)(
THNNState *state,
THTensor *input,
THIndexTensor *target,
THTensor *output,
bool sizeAverage,
int p,
THTensor* weights, // [OPTIONAL]
accreal margin);
TH_API void THNN_(MultiMarginCriterion_updateGradInput)(
THNNState *state,
THTensor *input,
THIndexTensor *target,
THTensor *gradInput,
bool sizeAverage,
int p,
THTensor *weights, // [OPTIONAL]
accreal margin);
TH_API void THNN_(PReLU_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight);
TH_API void THNN_(PReLU_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight);
TH_API void THNN_(PReLU_accGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight,
THTensor *gradWeight,
accreal scale);
TH_API void THNN_(Linear_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight,
THTensor *bias,
THTensor *addBuffer);
TH_API void THNN_(Linear_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight);
TH_API void THNN_(Linear_accGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight,
THTensor *bias,
THTensor *gradWeight,
THTensor *gradBias,
THTensor *addBuffer,
accreal scale);
TH_API void THNN_(RReLU_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *noise,
accreal lower,
accreal upper,
bool train,
bool inplace,
THGenerator *generator);
TH_API void THNN_(RReLU_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *noise,
accreal lower,
accreal upper,
bool train,
bool inplace);
TH_API void THNN_(Sigmoid_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output);
TH_API void THNN_(Sigmoid_updateGradInput)(
THNNState *state,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *output);
TH_API void THNN_(SmoothL1Criterion_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *target,
THTensor *output,
bool sizeAverage,
bool reduce);
TH_API void THNN_(SmoothL1Criterion_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *target,
THTensor *gradOutput,
THTensor *gradInput,
bool sizeAverage,
bool reduce);
TH_API void THNN_(SoftMax_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int dim);
TH_API void THNN_(SoftMax_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *output,
int dim);
TH_API void THNN_(SoftPlus_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
accreal beta,
accreal threshold);
TH_API void THNN_(SoftPlus_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *output,
accreal beta,
accreal threshold);
TH_API void THNN_(SoftShrink_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
accreal lambda);
TH_API void THNN_(SoftShrink_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
accreal lambda);
TH_API void THNN_(IndexLinear_updateOutput)(
THNNState *state,
THIndexTensor *keys,
int64_t keysOffset,
THTensor *values,
THIndexTensor *sizes,
THIndexTensor *cumSumSizes,
THTensor *output,
THTensor *weight,
THTensor *bias,
THTensor *normalizedValues,
int train);
TH_API void THNN_(IndexLinear_accGradParameters)(
THNNState *state,
THIndexTensor *keys,
int64_t keysOffset,
THTensor *values,
THIndexTensor *sizes,
THIndexTensor *cumSumSizes,
THTensor *gradOutput,
THTensor *gradWeight,
THTensor *gradBias,
THTensor *weight,
THTensor *bias,
THTensor* valuesBuffer,
accreal weightDecay,
accreal scale);
TH_API void THNN_(IndexLinear_accUpdateGradParameters)(
THNNState *state,
THIndexTensor *keys,
int64_t keysOffset,
THTensor *values,
THIndexTensor *sizes,
THIndexTensor *cumSumSizes,
THTensor *gradOutput,
THTensor *weight,
THTensor *bias,
accreal weightDecay,
accreal scale);
TH_API void THNN_(IndexLinear_updateParameters)(
THNNState *state,
THTensor *gradWeight,
THTensor *gradBias,
THTensor *weight,
THTensor *bias,
THIndexTensor *runningKeys,
THIndexTensor *cumSumSizes,
int64_t keysOffset,
accreal weightDecay,
accreal learningRate);
TH_API void THNN_(SparseLinear_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight,
THTensor *bias);
TH_API void THNN_(SparseLinear_accGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradWeight,
THTensor *gradBias,
THTensor *weight,
THTensor *bias,
accreal weightDecay,
accreal scale);
TH_API void THNN_(SparseLinear_zeroGradParameters)(
THNNState *state,
THTensor *gradWeight,
THTensor *gradBias,
THTensor *lastInput);
TH_API void THNN_(SparseLinear_updateParameters)(
THNNState *state,
THTensor *weight,
THTensor *bias,
THTensor *gradWeight,
THTensor *gradBias,
THTensor *lastInput,
accreal learningRate);
TH_API void THNN_(SparseLinear_legacyUpdateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight,
THTensor *bias);
TH_API void THNN_(SparseLinear_legacyAccGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradWeight,
THTensor *gradBias,
THTensor *weight,
THTensor *bias,
accreal weightDecay,
accreal scale);
TH_API void THNN_(SparseLinear_legacyZeroGradParameters)(
THNNState *state,
THTensor *gradWeight,
THTensor *gradBias,
THTensor *lastInput);
TH_API void THNN_(SparseLinear_legacyUpdateParameters)(
THNNState *state,
THTensor *weight,
THTensor *bias,
THTensor *gradWeight,
THTensor *gradBias,
THTensor *lastInput,
accreal learningRate);
TH_API void THNN_(Sqrt_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
accreal eps);
TH_API void THNN_(Sqrt_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *output);
TH_API void THNN_(Square_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output);
TH_API void THNN_(Square_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput);
TH_API void THNN_(Tanh_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output);
TH_API void THNN_(Tanh_updateGradInput)(
THNNState *state,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *output);
TH_API void THNN_(Threshold_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
accreal threshold,
accreal val,
bool inplace);
TH_API void THNN_(Threshold_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
accreal threshold,
accreal val,
bool inplace);
TH_API void THNN_(TemporalConvolution_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight,
THTensor *bias,
int kW, int dW,
int inputFrameSize,
int outputFrameSize);
TH_API void THNN_(TemporalConvolution_updateGradInput)(
THNNState* state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight,
int kW, int dW);
TH_API void THNN_(TemporalConvolution_accGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradWeight,
THTensor *gradBias,
int kW, int dW,
accreal scale);
TH_API void THNN_(TemporalMaxPooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THIndexTensor *indices,
int kW, int dW);
TH_API void THNN_(TemporalMaxPooling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THIndexTensor *indices,
int kW, int dW);
TH_API void THNN_(TemporalSubSampling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight,
THTensor *bias,
int kW, int dW,
int inputFrameSize);
TH_API void THNN_(TemporalSubSampling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight,
int kW, int dW);
TH_API void THNN_(TemporalSubSampling_accGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradWeight,
THTensor *gradBias,
int kW, int dW,
accreal scale);
TH_API void THNN_(TemporalRowConvolution_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight,
THTensor *bias,
THTensor *finput,
THTensor *fgradInput,
int kW,
int dW,
int padW,
bool featFirst);
TH_API void THNN_(TemporalRowConvolution_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight,
THTensor *finput,
THTensor *fgradInput,
int kW,
int dW,
int padW,
bool featFirst);
TH_API void THNN_(TemporalRowConvolution_accGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradWeight,
THTensor *gradBias,
THTensor *finput,
THTensor *fgradInput,
int kW,
int dW,
int padW,
bool featFirst,
accreal scale);
TH_API void THNN_(TemporalUpSamplingNearest_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int scale_factor);
TH_API void THNN_(TemporalUpSamplingNearest_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
int scale_factor);
TH_API void THNN_(TemporalUpSamplingLinear_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int outputWidth);
TH_API void THNN_(TemporalUpSamplingLinear_updateGradInput)(
THNNState *state,
THTensor *gradOutput,
THTensor *gradInput,
int nbatch,
int nchannels,
int inputWidth,
int outputWidth);
TH_API void THNN_(BatchNormalization_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight, // [OPTIONAL]
THTensor *bias, // [OPTIONAL]
THTensor *running_mean,
THTensor *running_var,
THTensor *save_mean,
THTensor *save_std,
bool train,
double momentum,
double eps);
TH_API void THNN_(BatchNormalization_backward)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput, // [OPTIONAL]
THTensor *gradWeight, // [OPTIONAL]
THTensor *gradBias, // [OPTIONAL]
THTensor *weight, // [OPTIONAL]
THTensor *running_mean,
THTensor *running_var,
THTensor *save_mean,
THTensor *save_std,
bool train,
double scale,
double eps);
TH_API void THNN_(SpatialConvolutionMap_updateOutput)(
THNNState *state, // library state
THTensor *input, // input tensor
THTensor *output, // [OUT] convolution output
THTensor *weight, // 3D weight tensor (connTable:size(1) x kH x kW)
THTensor *bias, // 1D bias tensor (nOutputPlane)
THTensor *connTable, // connection table
int nInputPlane, // number of input planes
int nOutputPlane, // number of output planes
int dW, int dH); // stride
TH_API void THNN_(SpatialConvolutionMap_updateGradInput)(
THNNState *state, // library state
THTensor *input, // input tensor
THTensor *gradOutput, // gradient w.r.t. output
THTensor *gradInput, // [OUT] gradient w.r.t. input
THTensor *weight, // 3D weight tensor (connTable:size(1) x kH x kW)
THTensor *bias, // 1D bias tensor (nOutputPlane)
THTensor *connTable, // connection table
int nInputPlane, // number of input planes
int nOutputPlane, // number of output planes
int dW, int dH); // stride
TH_API void THNN_(SpatialConvolutionMap_accGradParameters)(
THNNState *state, // library state
THTensor *input, // input tensor
THTensor *gradOutput, // gradient w.r.t. output
THTensor *gradWeight, // 3D gradWeight tensor (connTable:size(1) x kH x kW)
THTensor *gradBias, // 1D gradBias tensor (nOutputPlane)
THTensor *connTable, // connection table
int nInputPlane, // number of input planes
int nOutputPlane, // number of output planes
int dW, int dH, // stride
accreal scale); // scaling factor
TH_API void THNN_(SpatialConvolutionMM_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight,
THTensor *bias, // [OPTIONAL]
THTensor *finput,
THTensor *fgradInput,
int kW, int kH,
int dW, int dH,
int padW, int padH);
TH_API void THNN_(SpatialConvolutionMM_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight,
THTensor *finput,
THTensor *fgradInput,
int kW, int kH,
int dW, int dH,
int padW, int padH);
TH_API void THNN_(SpatialConvolutionMM_accGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradWeight,
THTensor *gradBias, // [OPTIONAL]
THTensor *finput,
THTensor *fgradInput,
int kW, int kH,
int dW, int dH,
int padW, int padH,
accreal scale);
TH_API void THNN_(SpatialConvolutionLocal_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight,
THTensor *bias,
THTensor *finput,
THTensor *fgradInput,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int64_t inputWidth, int64_t inputHeight,
int64_t outputWidth, int64_t outputHeight);
TH_API void THNN_(SpatialConvolutionLocal_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight,
THTensor *finput,
THTensor *fgradInput,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int64_t inputWidth, int64_t inputHeight,
int64_t outputWidth, int64_t outputHeight);
TH_API void THNN_(SpatialConvolutionLocal_accGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradWeight,
THTensor *gradBias,
THTensor *finput,
THTensor *fgradInput,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int64_t inputWidth, int64_t inputHeight,
int64_t outputWidth, int64_t outputHeight,
accreal scale);
TH_API void THNN_(SpatialAdaptiveMaxPooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THIndexTensor *indices,
int osizeW, int osizeH);
TH_API void THNN_(SpatialAdaptiveMaxPooling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THIndexTensor *indices);
TH_API void THNN_(SpatialAdaptiveAveragePooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int osizeW, int osizeH);
TH_API void THNN_(SpatialAdaptiveAveragePooling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput);
TH_API void THNN_(SpatialAveragePooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int kW, int kH,
int dW, int dH,
int padW, int padH,
bool ceil_mode,
bool count_include_pad);
TH_API void THNN_(SpatialAveragePooling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
int kW, int kH,
int dW, int dH,
int padW, int padH,
bool ceil_mode,
bool count_include_pad);
TH_API void THNN_(SpatialFractionalMaxPooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int outputW, int outputH,
int poolSizeW, int poolSizeH,
THIndexTensor *indices,
THTensor *randomSamples);
TH_API void THNN_(SpatialFractionalMaxPooling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
int outputW, int outputH,
int poolSizeW, int poolSizeH,
THIndexTensor *indices);
TH_API void THNN_(SpatialFullConvolution_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight,
THTensor *bias, // [OPTIONAL]
THTensor *columns,
THTensor *ones,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int adjW, int adjH);
TH_API void THNN_(SpatialFullConvolution_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight,
THTensor *columns,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int adjW, int adjH);
TH_API void THNN_(SpatialFullConvolution_accGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradWeight,
THTensor *gradBias, // [OPTIONAL]
THTensor *columns,
THTensor *ones,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int adjW, int adjH,
accreal scale);
TH_API void THNN_(SpatialFullConvolutionMap_updateOutput)(
THNNState *state, // library state
THTensor *input, // input tensor
THTensor *output, // [OUT] convolution output
THTensor *weight, // 3D weight tensor (connTable:size(1) x kH x kW)
THTensor *bias, // 1D bias tensor (nOutputPlane)
THTensor *connTable, // connection table
int nInputPlane, // number of input planes
int nOutputPlane, // number of output planes
int dW, int dH); // stride
TH_API void THNN_(SpatialFullConvolutionMap_updateGradInput)(
THNNState *state, // library state
THTensor *input, // input tensor
THTensor *gradOutput, // gradient w.r.t. output
THTensor *gradInput, // [OUT] gradient w.r.t. input
THTensor *weight, // 3D weight tensor (connTable:size(1) x kH x kW)
THTensor *bias, // 1D bias tensor (nOutputPlane)
THTensor *connTable, // connection table
int nInputPlane, // number of input planes
int nOutputPlane, // number of output planes
int dW, int dH); // stride
TH_API void THNN_(SpatialFullConvolutionMap_accGradParameters)(
THNNState *state, // library state
THTensor *input, // input tensor
THTensor *gradOutput, // gradient w.r.t. output
THTensor *gradWeight, // 3D gradWeight tensor (connTable:size(1) x kH x kW)
THTensor *gradBias, // 1D gradBias tensor (nOutputPlane)
THTensor *connTable, // connection table
int nInputPlane, // number of input planes
int nOutputPlane, // number of output planes
int dW, int dH, // stride
accreal scale); // scaling factor
TH_API void THNN_(SpatialDilatedConvolution_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight,
THTensor *bias, // [OPTIONAL]
THTensor *columns,
THTensor *ones,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int dilationW, int dilationH);
TH_API void THNN_(SpatialDilatedConvolution_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight,
THTensor *columns,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int dilationW, int dilationH);
TH_API void THNN_(SpatialDilatedConvolution_accGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradWeight,
THTensor *gradBias, // [OPTIONAL]
THTensor *columns,
THTensor *ones,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int dilationW, int dilationH,
accreal scale);
TH_API void THNN_(SpatialFullDilatedConvolution_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight,
THTensor *bias, // [OPTIONAL]
THTensor *columns,
THTensor *ones,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int dilationW, int dilationH,
int adjW, int adjH);
TH_API void THNN_(SpatialFullDilatedConvolution_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight,
THTensor *columns,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int dilationW, int dilationH,
int adjW, int adjH);
TH_API void THNN_(SpatialFullDilatedConvolution_accGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradWeight,
THTensor *gradBias, // [OPTIONAL]
THTensor *columns,
THTensor *ones,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int dilationW, int dilationH,
int adjW, int adjH,
accreal scale);
TH_API void THNN_(SpatialMaxPooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THIndexTensor *indices,
int kW, int kH,
int dW, int dH,
int padW, int padH,
bool ceil_mode);
TH_API void THNN_(SpatialMaxPooling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THIndexTensor *indices,
int kW, int kH,
int dW, int dH,
int padW, int padH,
bool ceil_mode);
TH_API void THNN_(SpatialDilatedMaxPooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THIndexTensor *indices,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int dilationW, int dilationH,
bool ceil_mode);
TH_API void THNN_(SpatialDilatedMaxPooling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THIndexTensor *indices,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int dilationW, int dilationH,
bool ceil_mode);
TH_API void THNN_(SpatialMaxUnpooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THIndexTensor *indices,
int owidth, int oheight);
TH_API void THNN_(SpatialMaxUnpooling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THIndexTensor *indices,
int owidth, int oheight);
TH_API void THNN_(SpatialSubSampling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight,
THTensor *bias,
int kW, int kH,
int dW, int dH);
TH_API void THNN_(SpatialSubSampling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight,
int kW, int kH,
int dW, int dH);
TH_API void THNN_(SpatialSubSampling_accGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradWeight,
THTensor *gradBias,
int kW, int kH,
int dW, int dH,
accreal scale);
TH_API void THNN_(SpatialUpSamplingNearest_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int scale_factor);
TH_API void THNN_(SpatialUpSamplingNearest_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
int scale_factor);
TH_API void THNN_(SpatialUpSamplingBilinear_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int outputHeight,
int outputWidth);
TH_API void THNN_(SpatialUpSamplingBilinear_updateGradInput)(
THNNState *state,
THTensor *gradOutput,
THTensor *gradInput,
int nbatch,
int nchannels,
int inputHeight,
int inputWidth,
int outputHeight,
int outputWidth);
TH_API void THNN_(SpatialGridSamplerBilinear_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *grid,
THTensor *output);
TH_API void THNN_(SpatialGridSamplerBilinear_updateGradInput)(
THNNState *state,
THTensor *input, THTensor *gradInput,
THTensor *grid, THTensor *gradGrid,
THTensor *gradOutput);
TH_API void THNN_(unfolded_acc)(
THTensor *finput,
THTensor *input,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int nInputPlane,
int inputWidth, int inputHeight,
int outputWidth, int outputHeight);
TH_API void THNN_(unfolded_copy)(
THTensor *finput,
THTensor *input,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int nInputPlane,
int inputWidth, int inputHeight,
int outputWidth, int outputHeight);
TH_API void THNN_(VolumetricAveragePooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int kT, int kW, int kH,
int dT, int dW, int dH,
int padT, int padW, int padH,
bool ceil_mode, bool count_include_pad);
TH_API void THNN_(VolumetricAveragePooling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
int kT, int kW, int kH,
int dT, int dW, int dH,
int padT, int padW, int padH,
bool ceil_mode, bool count_include_pad);
TH_API void THNN_(VolumetricConvolution_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight,
THTensor *bias, // [OPTIONAL]
THTensor *finput,
THTensor *fgradInput,
int dT, int dW, int dH,
int pT, int pW, int pH);
TH_API void THNN_(VolumetricConvolution_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight,
THTensor *finput,
int dT, int dW, int dH,
int pT, int pW, int pH);
TH_API void THNN_(VolumetricConvolution_accGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradWeight,
THTensor *gradBias, // [OPTIONAL]
THTensor *finput,
THTensor *fgradInput,
int dT, int dW, int dH,
int pT, int pW, int pH,
accreal scale);
TH_API void THNN_(VolumetricConvolutionMM_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight,
THTensor *bias, // [OPTIONAL]
THTensor *finput,
int kT, int kW, int kH,
int dT, int dW, int dH,
int pT, int pW, int pH);
TH_API void THNN_(VolumetricConvolutionMM_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight,
THTensor *finput,
THTensor *fgradInput,
int kT, int kW, int kH,
int dT, int dW, int dH,
int pT, int pW, int pH);
TH_API void THNN_(VolumetricConvolutionMM_accGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradWeight,
THTensor *gradBias, // [OPTIONAL]
THTensor *finput,
int kT, int kW, int kH,
int dT, int dW, int dH,
int pT, int pW, int pH,
accreal scale);
TH_API void THNN_(VolumetricFractionalMaxPooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int outputT, int outputW, int outputH,
int poolSizeT, int poolSizeW, int poolSizeH,
THIndexTensor *indices,
THTensor *randomSamples);
TH_API void THNN_(VolumetricFractionalMaxPooling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
int outputT, int outputW, int outputH,
int poolSizeT, int poolSizeW, int poolSizeH,
THIndexTensor *indices);
TH_API void THNN_(VolumetricFullConvolution_updateOutput)(
THNNState *state, // library state
THTensor *input, // 4D or 5D (batch) tensor
THTensor *output, // [OUT] volumetric convolution output
THTensor *weight, // weight tensor (nInputPlane x nOutputPlane x kT x kH x kW)
THTensor *bias, // [OPTIONAL] gradBias tensor (nOutputPlane)
THTensor *finput, // [OUT] internal columns buffer
THTensor *fgradInput, // [OUT] internal ones buffer
int dT, int dW, int dH, // stride of the convolution
int pT, int pW, int pH, // padding
int aT, int aW, int aH); // extra output adjustment
TH_API void THNN_(VolumetricFullConvolution_updateGradInput)(
THNNState *state, // library state
THTensor *input, // 4D or 5D (batch) tensor
THTensor *gradOutput, // gradient w.r.t. output
THTensor *gradInput, // [OUT] gradient w.r.t. input
THTensor *weight, // weight tensor (nInputPlane x nOutputPlane x kT x kH x kW)
THTensor *finput, // internal columns buffer
THTensor *fgradInput, // internal ones buffer
int dT, int dW, int dH, // stride
int pT, int pW, int pH, // padding
int aT, int aW, int aH); // extra output adjustment
TH_API void THNN_(VolumetricFullConvolution_accGradParameters)(
THNNState *state, // library state
THTensor *input, // 4D or 5D (batch) tensor
THTensor *gradOutput, // gradient w.r.t. output
THTensor *gradWeight, // gradWeight tensor (nInputPlane x nOutputPlane x kT x kH x kW)
THTensor *gradBias, // [OPTIONAL] gradBias tensor (nOutputPlane)
THTensor *finput, // internal columns buffer
THTensor *fgradInput, // internal ones buffer
int dT, int dW, int dH, // stride
int pT, int pW, int pH, // padding
int aT, int aW, int aH, // extra output adjustment
accreal scale); // scaling factor
TH_API void THNN_(VolumetricDilatedConvolution_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THTensor *weight,
THTensor *bias, // [OPTIONAL]
THTensor *columns,
THTensor *ones,
int kT, int kW, int kH,
int dT, int dW, int dH,
int padT, int padW, int padH,
int dilationT, int dilationW, int dilationH);
TH_API void THNN_(VolumetricDilatedConvolution_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THTensor *weight,
THTensor *columns,
int kT, int kW, int kH,
int dT, int dW, int dH,
int padT, int padW, int padH,
int dilationT, int dilationW, int dilationH);
TH_API void THNN_(VolumetricDilatedConvolution_accGradParameters)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradWeight,
THTensor *gradBias, // [OPTIONAL]
THTensor *columns,
THTensor *ones,
int kT, int kW, int kH,
int dT, int dW, int dH,
int padT, int padW, int padH,
int dilationT, int dilationW, int dilationH,
accreal scale);
TH_API void THNN_(VolumetricFullDilatedConvolution_updateOutput)(
THNNState *state, // library state
THTensor *input, // 4D or 5D (batch) tensor
THTensor *output, // [OUT] volumetric convolution output
THTensor *weight, // weight tensor (nInputPlane x nOutputPlane x kT x kH x kW)
THTensor *bias, // [OPTIONAL] gradBias tensor (nOutputPlane)
THTensor *finput, // [OUT] internal columns buffer
THTensor *fgradInput, // [OUT] internal ones buffer
int dT, int dW, int dH, // stride of the convolution
int pT, int pW, int pH, // padding
int dilationT, int dilationW, int dilationH,
int aT, int aW, int aH); // extra output adjustment
TH_API void THNN_(VolumetricFullDilatedConvolution_updateGradInput)(
THNNState *state, // library state
THTensor *input, // 4D or 5D (batch) tensor
THTensor *gradOutput, // gradient w.r.t. output
THTensor *gradInput, // [OUT] gradient w.r.t. input
THTensor *weight, // weight tensor (nInputPlane x nOutputPlane x kT x kH x kW)
THTensor *finput, // internal columns buffer
THTensor *fgradInput, // internal ones buffer
int dT, int dW, int dH, // stride
int pT, int pW, int pH, // padding
int dilationT, int dilationW, int dilationH,
int aT, int aW, int aH); // extra output adjustment
TH_API void THNN_(VolumetricFullDilatedConvolution_accGradParameters)(
THNNState *state, // library state
THTensor *input, // 4D or 5D (batch) tensor
THTensor *gradOutput, // gradient w.r.t. output
THTensor *gradWeight, // gradWeight tensor (nInputPlane x nOutputPlane x kT x kH x kW)
THTensor *gradBias, // [OPTIONAL] gradBias tensor (nOutputPlane)
THTensor *finput, // internal columns buffer
THTensor *fgradInput, // internal ones buffer
int dT, int dW, int dH, // stride
int pT, int pW, int pH, // padding
int dilationT, int dilationW, int dilationH,
int aT, int aW, int aH, // extra output adjustment
accreal scale); // scaling factor
TH_API void THNN_(VolumetricMaxPooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THIndexTensor *indices,
int kT, int kW, int kH,
int dT, int dW, int dH,
int pT, int pW, int pH,
bool ceilMode);
TH_API void THNN_(VolumetricMaxPooling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THIndexTensor *indices,
int kT, int kW, int kH,
int dT, int dW, int dH,
int pT, int pW, int pH,
bool ceilMode);
TH_API void THNN_(VolumetricDilatedMaxPooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THIndexTensor *indices,
int kT, int kW, int kH,
int dT, int dW, int dH,
int pT, int pW, int pH,
int dilationT, int dilationW, int dilationH,
bool ceilMode);
TH_API void THNN_(VolumetricDilatedMaxPooling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THIndexTensor *indices,
int kT, int kW, int kH,
int dT, int dW, int dH,
int pT, int pW, int pH,
int dilationT, int dilationW, int dilationH,
bool ceilMode);
TH_API void THNN_(VolumetricMaxUnpooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THIndexTensor *indices,
int oT, int oW, int oH,
int dT, int dW, int dH,
int pT, int pW, int pH);
TH_API void THNN_(VolumetricMaxUnpooling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THIndexTensor *indices,
int oT, int oW, int oH,
int dT, int dW, int dH,
int pT, int pW, int pH);
TH_API void THNN_(VolumetricAdaptiveAveragePooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int osizeT,
int osizeW,
int osizeH);
TH_API void THNN_(VolumetricAdaptiveAveragePooling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput);
TH_API void THNN_(VolumetricAdaptiveMaxPooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
THIndexTensor *indices,
int osizeT, int osizeW, int osizeH);
TH_API void THNN_(VolumetricAdaptiveMaxPooling_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
THIndexTensor *indices);
TH_API void THNN_(SpatialReflectionPadding_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int pad_l, int pad_r,
int pad_t, int pad_b);
TH_API void THNN_(SpatialReflectionPadding_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
int pad_l, int pad_r,
int pad_t, int pad_b);
TH_API void THNN_(SpatialReplicationPadding_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int pad_l, int pad_r,
int pad_t, int pad_b);
TH_API void THNN_(SpatialReplicationPadding_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
int pad_l, int pad_r,
int pad_t, int pad_b);
TH_API void THNN_(FeatureLPPooling_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
accreal power,
int width,
int stride,
bool batchMode);
TH_API void THNN_(FeatureLPPooling_updateGradInput)(
THNNState *state,
THTensor* gradOutput,
THTensor* input,
THTensor* output,
THTensor* gradInput,
accreal power,
int width,
int stride,
bool batchMode);
TH_API void THNN_(VolumetricReplicationPadding_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int pleft, int pright,
int ptop, int pbottom,
int pfront, int pback);
TH_API void THNN_(VolumetricReplicationPadding_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
int pleft, int pright,
int ptop, int pbottom,
int pfront, int pback);
TH_API void THNN_(VolumetricUpSamplingNearest_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int scale_factor);
TH_API void THNN_(VolumetricUpSamplingNearest_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
int scale_factor);
TH_API void THNN_(VolumetricUpSamplingTrilinear_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int outputDepth,
int outputHeight,
int outputWidth);
TH_API void THNN_(VolumetricUpSamplingTrilinear_updateGradInput)(
THNNState *state,
THTensor *gradOutput,
THTensor *gradInput,
int nbatch,
int nchannels,
int inputDepth,
int inputHeight,
int inputWidth,
int outputDepth,
int outputHeight,
int outputWidth);
TH_API void THNN_(TemporalReflectionPadding_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int pad_l, int pad_r);
TH_API void THNN_(TemporalReflectionPadding_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
int pad_l, int pad_r);
TH_API void THNN_(TemporalReplicationPadding_updateOutput)(
THNNState *state,
THTensor *input,
THTensor *output,
int pad_l, int pad_r);
TH_API void THNN_(TemporalReplicationPadding_updateGradInput)(
THNNState *state,
THTensor *input,
THTensor *gradOutput,
THTensor *gradInput,
int pad_l, int pad_r);
#endif