From 08b1b21a540ca813f0e2cc8294ead0323e01d082 Mon Sep 17 00:00:00 2001 From: yangfei Date: Mon, 19 Nov 2018 15:11:24 +0800 Subject: [PATCH] imp prior_box kernel and add superrelution test file --- src/operators/kernel/cl/prior_box_kernel.cpp | 16 ++--- test/net/test_super.cpp | 67 ++++++++++---------- 2 files changed, 41 insertions(+), 42 deletions(-) diff --git a/src/operators/kernel/cl/prior_box_kernel.cpp b/src/operators/kernel/cl/prior_box_kernel.cpp index 79ffb9680a..7867cf5ab1 100644 --- a/src/operators/kernel/cl/prior_box_kernel.cpp +++ b/src/operators/kernel/cl/prior_box_kernel.cpp @@ -39,10 +39,10 @@ void PriorBoxKernel::Compute( const auto &input_aspect_ratio = param.AspectRatios(); const bool &flip = param.Flip(); const bool &clip = param.Clip(); - int isclip =0; - if(clip){ - isclip = 1; - } + int isclip = 0; + if (clip) { + isclip = 1; + } const float &step_w = param.StepW(); const float &step_h = param.StepH(); const float &offset = param.Offset(); @@ -146,11 +146,11 @@ void PriorBoxKernel::Compute( DLOG << "num_priors:" << num_priors; DLOG << "C:" << C; DLOG << "isclip:" << isclip; - for(int i=0;i paddle_mobile; - // paddle_mobile.SetThreadNum(4); - auto time1 = paddle_mobile::time(); + paddle_mobile::PaddleMobile paddle_mobile; + // paddle_mobile.SetThreadNum(4); + auto time1 = paddle_mobile::time(); #ifdef PADDLE_MOBILE_CL - paddle_mobile.SetCLPath("/data/local/tmp/bin"); + paddle_mobile.SetCLPath("/data/local/tmp/bin"); #endif - auto isok = - paddle_mobile.Load(std::string(g_super) + "/model", - std::string(g_super) + "/params",true, false,1,true); + auto isok = paddle_mobile.Load(std::string(g_super) + "/model", + std::string(g_super) + "/params", true, false, + 1, true); - // auto isok = paddle_mobile.Load(std::string(g_mobilenet_mul), true); - if (isok) { - auto time2 = paddle_mobile::time(); - std::cout << "load cost :" << paddle_mobile::time_diff(time1, time2) << "ms" - << std::endl; - - std::vector input; - std::vector dims{1, 1,300, 300}; - GetInput(g_yolo_img, &input, dims); - - std::vector vec_result ; + // auto isok = paddle_mobile.Load(std::string(g_mobilenet_mul), true); + if (isok) { + auto time2 = paddle_mobile::time(); + std::cout << "load cost :" << paddle_mobile::time_diff(time1, time2) << "ms" + << std::endl; - auto time3 = paddle_mobile::time(); - int max = 10; - for (int i = 0; i < max; ++i) { - vec_result = paddle_mobile.Predict(input, dims); + std::vector input; + std::vector dims{1, 1, 300, 300}; + GetInput(g_yolo_img, &input, dims); - } - auto time4 = paddle_mobile::time(); + std::vector vec_result; - std::cout << "predict cost :" - << paddle_mobile::time_diff(time3, time4) / max << "ms" - << std::endl; - std::vector::iterator biggest = - std::max_element(std::begin(vec_result), std::end(vec_result)); - std::cout << " Max element is " << *biggest << " at position " - << std::distance(std::begin(vec_result), biggest) << std::endl; + auto time3 = paddle_mobile::time(); + int max = 10; + for (int i = 0; i < max; ++i) { + vec_result = paddle_mobile.Predict(input, dims); } + auto time4 = paddle_mobile::time(); - std::cout << "如果结果Nan请查看: test/images/g_test_image_1x3x224x224_banana " - "是否存在?" + std::cout << "predict cost :" + << paddle_mobile::time_diff(time3, time4) / max << "ms" << std::endl; - return 0; + std::vector::iterator biggest = + std::max_element(std::begin(vec_result), std::end(vec_result)); + std::cout << " Max element is " << *biggest << " at position " + << std::distance(std::begin(vec_result), biggest) << std::endl; + } + + std::cout << "如果结果Nan请查看: test/images/g_test_image_1x3x224x224_banana " + "是否存在?" + << std::endl; + return 0; } -- GitLab