diff --git a/autotest/autotest.cpp b/autotest/autotest.cpp index 37179f99f62..d6df3324680 100644 --- a/autotest/autotest.cpp +++ b/autotest/autotest.cpp @@ -7,11 +7,11 @@ #include "opencv.h" #include "platform.h" -#include "test_convlution.h" +#include "test_convolution.h" #include "test_innerproduct.h" #include "gtest/gtest.h" int main(int argc, char **argv){ ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); -} \ No newline at end of file +} diff --git a/autotest/test_convlution.h b/autotest/test_convolution.h similarity index 95% rename from autotest/test_convlution.h rename to autotest/test_convolution.h index c3243d89cfe..086877a1aa4 100644 --- a/autotest/test_convlution.h +++ b/autotest/test_convolution.h @@ -1,30 +1,30 @@ -#pragma once -#include "gtest/gtest.h" -#include "layer/convolution.h" -using namespace ncnn; - -/* -forward - pass: - [0,1,2,3,4, - 1,2,3,4,5, [1,1,1, [ 9.5, 18.5, - 2,3,4,5,6, * 0.5* 1,1,1, + 0.5 = - 3,4,5,6,7, 1,1,1] 18.5, 27.5] - 4,5,6,7,8] -*/ - -TEST(convolution, forward) -{ - // layer params - Convolution convolution_layer; - convolution_layer.num_output = 1; - convolution_layer.kernel_size = 3; - convolution_layer.dilation = 1; - convolution_layer.stride = 2; - convolution_layer.pad = 0; - convolution_layer.bias_term = 1; - convolution_layer.weight_data_size = 9; - - // input & output +#pragma once +#include "gtest/gtest.h" +#include "layer/convolution.h" +using namespace ncnn; + +/* +forward - pass: + [0,1,2,3,4, + 1,2,3,4,5, [1,1,1, [ 9.5, 18.5, + 2,3,4,5,6, * 0.5* 1,1,1, + 0.5 = + 3,4,5,6,7, 1,1,1] 18.5, 27.5] + 4,5,6,7,8] +*/ + +TEST(convolution, forward) +{ + // layer params + Convolution convolution_layer; + convolution_layer.num_output = 1; + convolution_layer.kernel_size = 3; + convolution_layer.dilation = 1; + convolution_layer.stride = 2; + convolution_layer.pad = 0; + convolution_layer.bias_term = 1; + convolution_layer.weight_data_size = 9; + + // input & output float_t in[] = { 0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, @@ -49,22 +49,22 @@ TEST(convolution, forward) float_t b[] = { 0.5f }; - - // forward - Mat mat_in(5, 5, 1, in); - Mat mat_out; - - convolution_layer.bias_data.data = b; - convolution_layer.weight_data.data = w; - convolution_layer.forward(mat_in, mat_out); - - // check expect - EXPECT_EQ(mat_out.w, 2); - EXPECT_EQ(mat_out.h, 2); - EXPECT_EQ(mat_out.c, 1); - for (int i = 0; i < _countof(expected_out); ++i) - { - EXPECT_NEAR(mat_out[i], expected_out[i], 1E-5); - } - -} \ No newline at end of file + + // forward + Mat mat_in(5, 5, 1, in); + Mat mat_out; + + convolution_layer.bias_data.data = b; + convolution_layer.weight_data.data = w; + convolution_layer.forward(mat_in, mat_out); + + // check expect + EXPECT_EQ(mat_out.w, 2); + EXPECT_EQ(mat_out.h, 2); + EXPECT_EQ(mat_out.c, 1); + for (int i = 0; i < _countof(expected_out); ++i) + { + EXPECT_NEAR(mat_out[i], expected_out[i], 1E-5); + } + +} diff --git a/autotest/test_innerproduct.h b/autotest/test_innerproduct.h index f45affa8b6a..293bc439af5 100644 --- a/autotest/test_innerproduct.h +++ b/autotest/test_innerproduct.h @@ -1,23 +1,23 @@ -#pragma once -#include "gtest/gtest.h" -#include "layer/innerproduct.h" - -/* -forward - pass: -[0,1,2,3] * [1,1,1,1 + [0.5, = [6.5, - 1,1,1,1] 0.5] 6.5] -*/ - -TEST(innerproduct, forward) -{ - // layer params - InnerProduct inner_product_layer; - inner_product_layer.num_output = 2; // W - inner_product_layer.bias_term = 1; // bias - inner_product_layer.weight_data_size = 3; // W + bias - - - // input & output +#pragma once +#include "gtest/gtest.h" +#include "layer/innerproduct.h" + +/* +forward - pass: +[0,1,2,3] * [1,1,1,1 + [0.5, = [6.5, + 1,1,1,1] 0.5] 6.5] +*/ + +TEST(innerproduct, forward) +{ + // layer params + InnerProduct inner_product_layer; + inner_product_layer.num_output = 2; // W + inner_product_layer.bias_term = 1; // bias + inner_product_layer.weight_data_size = 3; // W + bias + + + // input & output float_t in[] = { 0.0f, 1.0f, 2.0f, 3.0f }; @@ -29,27 +29,27 @@ TEST(innerproduct, forward) // weights & bias float_t w[] = { - 1.0f, 1.0f, 1.0f, 1.0f, + 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f }; float_t b[] = { 0.5f, 0.5f }; - - // forward - Mat mat_in(4, in); - Mat mat_out; - - inner_product_layer.bias_data.data = b; - inner_product_layer.weight_data.data = w; - inner_product_layer.forward(mat_in, mat_out); - - // check expect - EXPECT_EQ(mat_out.c, 2); - for (int i = 0; i < _countof(expected_out); ++i) - { - float output_value = *(mat_out.data + mat_out.cstep * i); - EXPECT_NEAR(output_value, expected_out[i], 1E-5); - } -} \ No newline at end of file + + // forward + Mat mat_in(4, in); + Mat mat_out; + + inner_product_layer.bias_data.data = b; + inner_product_layer.weight_data.data = w; + inner_product_layer.forward(mat_in, mat_out); + + // check expect + EXPECT_EQ(mat_out.c, 2); + for (int i = 0; i < _countof(expected_out); ++i) + { + float output_value = *(mat_out.data + mat_out.cstep * i); + EXPECT_NEAR(output_value, expected_out[i], 1E-5); + } +}