14 PoolingOp(
Operation<T> *input,
int filter_h = 0,
int filter_w = 0,
int pad_h=0,
int pad_w=0,
int vertical_stride=1,
int horizontal_stride=1, pooling_mode mode=MAX_POOL,
bool propagate_nan=
false,
bool needs_grad=
true);
24 void calculate_and_set_output_shape();
29 int filter_h, filter_w, pad_h, pad_w, vertical_stride, horizontal_stride;
33 #if defined(_HAS_CUDA_) 34 math::cudnn_pooling_settings_t settings;
40 PoolingOp<T>* pooling(
Operation<T> *input,
int filter_h = 0,
int filter_w = 0,
int pad_h=0,
int pad_w=0,
int vertical_stride=1,
int horizontal_stride=1, pooling_mode mode=MAX_POOL,
bool propagate_nan=
false,
bool needs_grad=
true);
Definition: poolingop.h:12
std::string to_string()
Definition: poolingop.h:17
Tensor< T > * _grad(Operation< T > *consumer, Operation< T > *var, Tensor< T > *grad)
Definition: poolingop.cpp:54
virtual Tensor< T > * grad(Operation< T > *consumer, Operation< T > *var, Tensor< T > *grad, bool recompute=true)
Definition: operation.h:93
virtual std::string to_string()=0
Definition: operation.h:18
Variable< T > * var(std::string name, Tensor< T > *val)
Definition: variable.cpp:73
Tensor< T > * _eval(bool recompute)
Definition: poolingop.cpp:37