mirror of
https://github.com/lordmathis/CUDANet.git
synced 2025-11-05 17:34:21 +00:00
Remove default constructor from Module
This commit is contained in:
@@ -11,8 +11,7 @@ namespace CUDANet {
|
|||||||
|
|
||||||
class Module : public Layers::SequentialLayer {
|
class Module : public Layers::SequentialLayer {
|
||||||
public:
|
public:
|
||||||
Module(const int inputSize, const int inputChannels, const int outputSize, const int outputChannels);
|
virtual ~Module() = 0;
|
||||||
~Module();
|
|
||||||
|
|
||||||
virtual float* forward(const float* d_input) = 0;
|
virtual float* forward(const float* d_input) = 0;
|
||||||
|
|
||||||
@@ -31,8 +30,6 @@ class Module : public Layers::SequentialLayer {
|
|||||||
int outputSize;
|
int outputSize;
|
||||||
int outputChannels;
|
int outputChannels;
|
||||||
|
|
||||||
float *d_output;
|
|
||||||
|
|
||||||
std::vector<std::pair<std::string, Layers::SequentialLayer*>> layers;
|
std::vector<std::pair<std::string, Layers::SequentialLayer*>> layers;
|
||||||
std::unordered_map<std::string, Layers::SequentialLayer*> layerMap;
|
std::unordered_map<std::string, Layers::SequentialLayer*> layerMap;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,29 +4,6 @@
|
|||||||
|
|
||||||
using namespace CUDANet;
|
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<std::pair<std::string, Layers::SequentialLayer*>>()),
|
|
||||||
layerMap(std::unordered_map<std::string, Layers::SequentialLayer*>()) {
|
|
||||||
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) {
|
void Module::addLayer(const std::string& name, Layers::SequentialLayer* layer) {
|
||||||
layers.push_back({ name, layer });
|
layers.push_back({ name, layer });
|
||||||
layerMap[name] = layer;
|
layerMap[name] = layer;
|
||||||
|
|||||||
Reference in New Issue
Block a user