#ifndef CUDANET_MAX_POOLING_H #define CUDANET_MAX_POOLING_H #include #include "layer.cuh" #include "activation.cuh" namespace CUDANet::Layers { class MaxPooling2D : public SequentialLayer { public: MaxPooling2D( int inputSize, int nChannels, int poolingSize, int stride, Padding padding, ActivationType activationType ); ~MaxPooling2D(); float* forward(const float* d_input); private: int inputSize; int nChannels; int poolingSize; int stride; int paddingSize; int outputSize; int gridSize; float* d_output; Activation activation; }; } // namespace CUDANet::Layers #endif // CUDANET_MAX_POOLING_H