From 9aabdccca1f28758266740cb6cb9f14e7c9fe6d0 Mon Sep 17 00:00:00 2001 From: liuqi Date: Wed, 6 Sep 2017 15:55:35 +0800 Subject: [PATCH] Add cpu test util to simplify the unit test. --- mace/ops/BUILD | 41 ++++++++++++++++++++++++++++++++++------ mace/ops/batch_norm.h | 10 +++++----- mace/ops/ops_test_util.h | 2 +- 3 files changed, 41 insertions(+), 12 deletions(-) diff --git a/mace/ops/BUILD b/mace/ops/BUILD index 1cd2f904..0394fa1d 100644 --- a/mace/ops/BUILD +++ b/mace/ops/BUILD @@ -5,20 +5,49 @@ package( default_visibility = ["//visibility:public"], ) - licenses(["notice"]) # Apache 2.0 load("//mace:mace.bzl", "if_android") +cc_library( + name = "test", + testonly = 1, + srcs = [ + "ops_test_util.h", + ], + deps = [ + "//mace/core", + "@gtest//:gtest", + ], +) + cc_library( name = "ops", - srcs = glob(["*.cc"]), - hdrs = glob(["*.h"]), + srcs = [ + "batch_norm.cc", + "relu.cc", + ], + hdrs = glob([ + "relu.h", + "batch_norm.h", + ]), + copts = ["-std=c++11"], deps = [ + "//mace/core", + "//mace/kernels", "//mace/proto:cc_proto", - "//mace/core:core", - "//mace/kernels:kernels", ], - copts = ['-std=c++11'], alwayslink = 1, ) + +cc_test( + name = "batch_norm_test", + srcs = ["batch_norm_test.cc"], + copts = ["-std=c++11"], + linkstatic = 1, + deps = [ + ":ops", + ":test", + "@gtest//:gtest_main", + ], +) diff --git a/mace/ops/batch_norm.h b/mace/ops/batch_norm.h index a2e175a7..2b4fad42 100644 --- a/mace/ops/batch_norm.h +++ b/mace/ops/batch_norm.h @@ -25,11 +25,11 @@ class BatchNormOp : public Operator { const float variance_epsilon = this->template GetSingleArgument("variance_epsilon", 1e-4); - REQUIRE(input->dim_size() == 4, "input must be 4-dimensional. ", input->dim_size()); - REQUIRE(scale->dim_size() == 1, "scale must be 1-dimensional. ", scale->dim_size()); - REQUIRE(offset->dim_size() == 1, "offset must be 1-dimensional. ", offset->dim_size()); - REQUIRE(mean->dim_size() == 1, "mean must be 1-dimensional. ", mean->dim_size()); - REQUIRE(var->dim_size() == 1, "var must be 1-dimensional. ", var->dim_size()); + MACE_CHECK(input->dim_size() == 4, "input must be 4-dimensional. ", input->dim_size()); + MACE_CHECK(scale->dim_size() == 1, "scale must be 1-dimensional. ", scale->dim_size()); + MACE_CHECK(offset->dim_size() == 1, "offset must be 1-dimensional. ", offset->dim_size()); + MACE_CHECK(mean->dim_size() == 1, "mean must be 1-dimensional. ", mean->dim_size()); + MACE_CHECK(var->dim_size() == 1, "var must be 1-dimensional. ", var->dim_size()); Tensor* output = this->Output(0); output->ResizeLike(input); diff --git a/mace/ops/ops_test_util.h b/mace/ops/ops_test_util.h index 82b7063d..61085f7d 100644 --- a/mace/ops/ops_test_util.h +++ b/mace/ops/ops_test_util.h @@ -27,7 +27,7 @@ class OpDefBuilder { return *this; } void Finalize(OperatorDef* op_def) const { - REQUIRE(op_def != NULL, "input should not be null."); + MACE_CHECK(op_def != NULL, "input should not be null."); *op_def = op_def_; } OperatorDef op_def_; -- GitLab