diff --git a/include/model/module.hpp b/include/model/module.hpp index 9c1337f..c3992b1 100644 --- a/include/model/module.hpp +++ b/include/model/module.hpp @@ -11,8 +11,7 @@ namespace CUDANet { class Module : public Layers::SequentialLayer { public: - Module(const int inputSize, const int inputChannels, const int outputSize, const int outputChannels); - ~Module(); + virtual ~Module() = 0; virtual float* forward(const float* d_input) = 0; @@ -31,8 +30,6 @@ class Module : public Layers::SequentialLayer { int outputSize; int outputChannels; - float *d_output; - std::vector> layers; std::unordered_map layerMap; }; diff --git a/src/model/module.cpp b/src/model/module.cpp index 30ad356..7cfde81 100644 --- a/src/model/module.cpp +++ b/src/model/module.cpp @@ -4,29 +4,6 @@ using namespace CUDANet; -Module::Module( - const int inputSize, - const int inputChannels, - const int outputSize, - const int outputChannels -) - : inputSize(inputSize), - inputChannels(inputChannels), - outputSize(outputSize), - outputChannels(outputChannels), - layers(std::vector>()), - layerMap(std::unordered_map()) { - d_output = nullptr; - CUDA_CHECK(cudaMalloc( - (void**)&d_output, - sizeof(float) * outputSize * outputSize * outputChannels - )); -} - -Module::~Module() { - cudaFree(d_output); -} - void Module::addLayer(const std::string& name, Layers::SequentialLayer* layer) { layers.push_back({ name, layer }); layerMap[name] = layer;