#ifndef CUDANET_MODULE_H #define CUDANET_MODULE_H #include #include #include #include "layer.hpp" namespace CUDANet { class Module : public Layers::SequentialLayer { public: virtual float* forward(const float* d_input) = 0; int getOutputSize(); int getInputSize(); void addLayer(const std::string& name, Layers::SequentialLayer* layer); const std::vector>& getLayers() const; protected: std::vector> layers; int outputSize; int inputSize; }; } // namespace CUDANet #endif