mirror of
https://github.com/lordmathis/CUDANet.git
synced 2025-11-06 01:34:22 +00:00
Implement getOutputSize and getInputSize for seq layers
This commit is contained in:
@@ -49,4 +49,12 @@ float* AvgPooling2D::forward(const float* d_input) {
|
||||
CUDA_CHECK(cudaDeviceSynchronize());
|
||||
|
||||
return d_output;
|
||||
}
|
||||
|
||||
int AvgPooling2D::getOutputSize() {
|
||||
return outputSize * outputSize * nChannels;
|
||||
}
|
||||
|
||||
int AvgPooling2D::getInputSize() {
|
||||
return inputSize * inputSize * nChannels;
|
||||
}
|
||||
@@ -130,3 +130,11 @@ float* Conv2d::forward(const float* d_input) {
|
||||
|
||||
return d_output;
|
||||
}
|
||||
|
||||
int Conv2d::getOutputSize() {
|
||||
return outputSize * outputSize * numFilters;
|
||||
}
|
||||
|
||||
int Conv2d::getInputSize() {
|
||||
return inputSize * inputSize * inputChannels;
|
||||
}
|
||||
@@ -108,4 +108,12 @@ void Dense::setBiases(const float* biases_input) {
|
||||
|
||||
std::vector<float> Dense::getBiases() {
|
||||
return biases;
|
||||
}
|
||||
|
||||
int Dense::getOutputSize() {
|
||||
return outputSize;
|
||||
}
|
||||
|
||||
int Dense::getInputSize() {
|
||||
return inputSize;
|
||||
}
|
||||
@@ -20,3 +20,12 @@ float* Input::forward(const float* input) {
|
||||
|
||||
return d_output;
|
||||
}
|
||||
|
||||
int Input::getOutputSize() {
|
||||
return inputSize;
|
||||
}
|
||||
|
||||
|
||||
int Input::getInputSize() {
|
||||
return inputSize;
|
||||
}
|
||||
@@ -52,4 +52,12 @@ float* MaxPooling2D::forward(const float* d_input) {
|
||||
CUDA_CHECK(cudaDeviceSynchronize());
|
||||
|
||||
return d_output;
|
||||
}
|
||||
|
||||
int MaxPooling2D::getOutputSize() {
|
||||
return outputSize * outputSize * nChannels;
|
||||
}
|
||||
|
||||
int MaxPooling2D::getInputSize() {
|
||||
return inputSize * inputSize * nChannels;
|
||||
}
|
||||
@@ -20,4 +20,13 @@ float* Output::forward(const float* input) {
|
||||
CUDA_CHECK(cudaDeviceSynchronize());
|
||||
|
||||
return h_output;
|
||||
}
|
||||
|
||||
int Output::getOutputSize() {
|
||||
return inputSize;
|
||||
}
|
||||
|
||||
|
||||
int Output::getInputSize() {
|
||||
return inputSize;
|
||||
}
|
||||
@@ -43,7 +43,6 @@ float* Model::predict(const float* input) {
|
||||
float* d_input = inputLayer->forward(input);
|
||||
|
||||
for (auto& layer : layers) {
|
||||
std::cout << layer.first << std::endl;
|
||||
d_input = layer.second->forward(d_input);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user