From 32e977afbaaf21310d32348159ada605f47cf39d Mon Sep 17 00:00:00 2001 From: Shixiaowei02 <39303645+Shixiaowei02@users.noreply.github.com> Date: Thu, 20 Jun 2019 14:54:21 +0000 Subject: [PATCH] test: kernel --- paddle/fluid/lite/core/op_registry.cc | 1 + paddle/fluid/lite/kernels/arm/calib_compute.cc | 2 +- paddle/fluid/lite/kernels/arm/calib_compute.h | 4 +--- .../fluid/lite/kernels/arm/calib_compute_test.cc | 6 +++--- paddle/fluid/lite/operators/calib_op.h | 15 +++++++-------- paddle/fluid/lite/operators/calib_op_test.cc | 6 +++--- 6 files changed, 16 insertions(+), 18 deletions(-) diff --git a/paddle/fluid/lite/core/op_registry.cc b/paddle/fluid/lite/core/op_registry.cc index 8c3e44733df..131bdc641d0 100644 --- a/paddle/fluid/lite/core/op_registry.cc +++ b/paddle/fluid/lite/core/op_registry.cc @@ -96,6 +96,7 @@ KernelRegistry::KernelRegistry() INIT_FOR(kX86, kAny, kAny); INIT_FOR(kARM, kFloat, kNCHW); + INIT_FOR(kARM, kInt8, kNCHW); INIT_FOR(kARM, kAny, kNCHW); INIT_FOR(kARM, kAny, kAny); #undef INIT_FOR diff --git a/paddle/fluid/lite/kernels/arm/calib_compute.cc b/paddle/fluid/lite/kernels/arm/calib_compute.cc index c64ebdc13db..78500048ec7 100644 --- a/paddle/fluid/lite/kernels/arm/calib_compute.cc +++ b/paddle/fluid/lite/kernels/arm/calib_compute.cc @@ -50,7 +50,7 @@ void CalibCompute::Run() { } // namespace lite } // namespace paddle -REGISTER_LITE_KERNEL(calib, kARM, kAny, kAny, +REGISTER_LITE_KERNEL(calib, kARM, kInt8, kNCHW, paddle::lite::kernels::arm::CalibCompute, def) .BindInput("Input", {LiteType::GetTensorTy(TARGET(kARM))}) .BindOutput("Out", {LiteType::GetTensorTy(TARGET(kARM))}) diff --git a/paddle/fluid/lite/kernels/arm/calib_compute.h b/paddle/fluid/lite/kernels/arm/calib_compute.h index 898e1ce6383..d2811cd23a9 100644 --- a/paddle/fluid/lite/kernels/arm/calib_compute.h +++ b/paddle/fluid/lite/kernels/arm/calib_compute.h @@ -21,12 +21,10 @@ namespace lite { namespace kernels { namespace arm { -class CalibCompute : public KernelLite { +class CalibCompute : public KernelLite { public: using param_t = operators::CalibParam; - // void PrepareForRun() override; - void Run() override; ~CalibCompute() override{}; diff --git a/paddle/fluid/lite/kernels/arm/calib_compute_test.cc b/paddle/fluid/lite/kernels/arm/calib_compute_test.cc index 68bbd94b9b3..96dd3740eeb 100644 --- a/paddle/fluid/lite/kernels/arm/calib_compute_test.cc +++ b/paddle/fluid/lite/kernels/arm/calib_compute_test.cc @@ -84,14 +84,14 @@ void calib_ref(const operators::CalibParam& param) { TEST(calib_arm, retrive_op) { auto calib = KernelRegistry::Global() - .Create("calib"); + .Create("calib"); ASSERT_FALSE(calib.empty()); ASSERT_TRUE(calib.front()); } TEST(calib_arm, init) { CalibCompute calib; - ASSERT_EQ(calib.precision(), PRECISION(kAny)); + ASSERT_EQ(calib.precision(), PRECISION(kInt8)); ASSERT_EQ(calib.target(), TARGET(kARM)); } @@ -146,4 +146,4 @@ TEST(calib_arm, int8_to_fp32) { } // namespace lite } // namespace paddle -USE_LITE_KERNEL(calib, kARM, kAny, kAny, def); +USE_LITE_KERNEL(calib, kARM, kInt8, kNCHW, def); diff --git a/paddle/fluid/lite/operators/calib_op.h b/paddle/fluid/lite/operators/calib_op.h index ef6e94c4c12..1d93f6ea9a5 100644 --- a/paddle/fluid/lite/operators/calib_op.h +++ b/paddle/fluid/lite/operators/calib_op.h @@ -27,6 +27,13 @@ namespace paddle { namespace lite { namespace operators { +/* + * The data types used by the two adjacent layers in the model should + * be the same. When the two operators accept different data types, + * we may need to implicitly add a data type conversion operator. + * Currently, this operator only supports mutual conversion of int8 + * and float32 types. + */ class CalibOpLite : public OpLite { public: CalibOpLite() {} @@ -37,14 +44,6 @@ class CalibOpLite : public OpLite { bool InferShape() const override; - /* - bool Run() override { - CHECK(kernel_); - kernel_->Run(); - return true; - } - */ - bool AttachImpl(const cpp::OpDesc &opdesc, lite::Scope *scope); void AttachKernel(KernelBase *kernel) override { kernel->SetParam(param_); } diff --git a/paddle/fluid/lite/operators/calib_op_test.cc b/paddle/fluid/lite/operators/calib_op_test.cc index 2b54352059a..1b65c8e0dc0 100644 --- a/paddle/fluid/lite/operators/calib_op_test.cc +++ b/paddle/fluid/lite/operators/calib_op_test.cc @@ -48,9 +48,9 @@ TEST(calib_op_lite, TestARM) { CalibOpLite calib("calib"); - calib.SetValidPlaces({Place{TARGET(kARM), PRECISION(kAny)}}); + calib.SetValidPlaces({Place{TARGET(kARM), PRECISION(kInt8)}}); calib.Attach(desc, &scope); - auto kernels = calib.CreateKernels({Place{TARGET(kARM), PRECISION(kAny)}}); + auto kernels = calib.CreateKernels({Place{TARGET(kARM), PRECISION(kInt8)}}); ASSERT_FALSE(kernels.empty()); } #endif @@ -60,5 +60,5 @@ TEST(calib_op_lite, TestARM) { } // namespace paddle #ifdef LITE_WITH_ARM -USE_LITE_KERNEL(calib, kARM, kAny, kAny, def); +USE_LITE_KERNEL(calib, kARM, kInt8, kNCHW, def); #endif -- GitLab