mirror of
https://github.com/lordmathis/CUDANet.git
synced 2025-11-05 17:34:21 +00:00
Start conv test implementation
This commit is contained in:
@@ -21,6 +21,9 @@ class Conv2d {
|
||||
);
|
||||
~Conv2d();
|
||||
|
||||
// Outputs
|
||||
int outputSize;
|
||||
|
||||
void forward(const float* d_input, float* d_output);
|
||||
|
||||
private:
|
||||
@@ -34,9 +37,6 @@ class Conv2d {
|
||||
int paddingSize;
|
||||
int numFilters;
|
||||
|
||||
// Outputs
|
||||
int outputSize;
|
||||
|
||||
// Kernels
|
||||
std::vector<float> kernels;
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ include_directories(${GTEST_INCLUDE_DIRS})
|
||||
|
||||
add_executable(test_main
|
||||
layers/test_dense.cu
|
||||
layers/test_conv2d.cu
|
||||
kernels/test_activations.cu
|
||||
kernels/test_padding.cu
|
||||
)
|
||||
|
||||
35
test/layers/test_conv2d.cu
Normal file
35
test/layers/test_conv2d.cu
Normal file
@@ -0,0 +1,35 @@
|
||||
#include <cuda_runtime_api.h>
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include "conv2d.cuh"
|
||||
|
||||
TEST(Conv2dTest, ValidPadding) {
|
||||
|
||||
int inputSize = 3;
|
||||
int inputChannels = 1;
|
||||
int kernelSize = 3;
|
||||
int stride = 1;
|
||||
std::string padding = "VALID";
|
||||
int numFilters = 1;
|
||||
Activation activation = LINEAR;
|
||||
|
||||
Layers::Conv2d conv2d(
|
||||
inputSize,
|
||||
inputChannels,
|
||||
kernelSize,
|
||||
stride,
|
||||
padding,
|
||||
numFilters,
|
||||
activation
|
||||
);
|
||||
|
||||
int outputSize = (inputSize - kernelSize) / stride + 1;
|
||||
EXPECT_EQ(outputSize, conv2d.outputSize);
|
||||
|
||||
std::vector<float> input(inputSize * inputSize * inputChannels);
|
||||
std::vector<float> output(outputSize * outputSize * numFilters);
|
||||
std::vector<float> kernels(kernelSize * kernelSize * inputChannels * numFilters);
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user