PaddlePaddle / FastDeploy

⚡️An Easy-to-use and Fast Deep Learning Model Deployment Toolkit for ☁️Cloud 📱Mobile and 📹Edge. Including Image, Video, Text and Audio 20+ main stream scenarios and 150+ SOTA models with end-to-end optimization, multi-platform and multi-framework support.
https://www.paddlepaddle.org.cn/fastdeploy
Apache License 2.0
2.98k stars 465 forks source link

C++使用fastdeploy多线程Paddle Inference后端推理OCR模型出现崩溃 #1143

Closed marsbzp closed 7 months ago

marsbzp commented 1 year ago

环境

还有一个显存占用的问题: 程序开1个线程显存占1208M 程序开8个线程却只占2040M,一些显存各线程间复用?

崩溃时堆栈信息

--------------------- thread id 7 --------------------------------------

Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fff3e88f700 (LWP 105347)] 0x00007fff40aee858 in ?? () from /usr/lib64/libcuda.so Missing separate debuginfos, use: debuginfo-install glibc-2.17-324.el7_9.x86_64 libgcc-4.8.5-44.el7.x86_64 libgomp-4.8.5-44.el7.x86_64 (gdb) bt

0 0x00007fff40aee858 in ?? () from /usr/lib64/libcuda.so

1 0x00007fff4089f20a in ?? () from /usr/lib64/libcuda.so

2 0x00007fff40af3e60 in ?? () from /usr/lib64/libcuda.so

3 0x00007fff4082d706 in ?? () from /usr/lib64/libcuda.so

4 0x00007fff4082f6f2 in ?? () from /usr/lib64/libcuda.so

5 0x00007fff408c92f5 in ?? () from /usr/lib64/libcuda.so

6 0x00007ffd102d13fb in ?? () from /usr/local/cuda/lib64/libcudnn_ops_infer.so.8

7 0x00007ffd1031df2e in ?? () from /usr/local/cuda/lib64/libcudnn_ops_infer.so.8

8 0x00007ffd0f6c475c in ?? () from /usr/local/cuda/lib64/libcudnn_ops_infer.so.8

9 0x00007ffd0f6c477e in ?? () from /usr/local/cuda/lib64/libcudnn_ops_infer.so.8

10 0x00007ffd0f46e4f9 in ?? () from /usr/local/cuda/lib64/libcudnn_ops_infer.so.8

11 0x00007ffd0f46f77f in ?? () from /usr/local/cuda/lib64/libcudnn_ops_infer.so.8

12 0x00007ffd0f3e6f3a in ?? () from /usr/local/cuda/lib64/libcudnn_ops_infer.so.8

13 0x00007ffd0f420fb1 in ?? () from /usr/local/cuda/lib64/libcudnn_ops_infer.so.8

14 0x00007ffd0f2a9aab in ?? () from /usr/local/cuda/lib64/libcudnn_ops_infer.so.8

15 0x00007ffd0f289235 in ?? () from /usr/local/cuda/lib64/libcudnn_ops_infer.so.8

16 0x00007ffd0f28acec in ?? () from /usr/local/cuda/lib64/libcudnn_ops_infer.so.8

17 0x00007ffd0ed843bc in cudnn::cublasGemmEx(cublasContext, cublasOperation_t, cublasOperation_t, int, int, int, void const, void const, cudaDataType_t, int, void const, cudaDataType_t, int, void const, void, cudaDataType_t, int, cudaDataType_t, cublasGemmAlgo_t) () from /usr/local/cuda/lib64/libcudnn_ops_infer.so.8

18 0x00007ffc2e5e3889 in ?? () from /usr/local/cuda/lib64/libcudnn_adv_infer.so.8

19 0x00007ffc2e57327b in ?? () from /usr/local/cuda/lib64/libcudnn_adv_infer.so.8

20 0x00007ffc2e5bdf87 in RNN_forwardGeneric(cudnnContext, cudnnRNNStruct, int, cudnnTensorStruct const, void const, cudnnTensorStruct, void const, cudnnTensorStruct, void const, cudnnFilterStruct, void const, cudnnTensorStruct const, void, cudnnTensorStruct, void, cudnnTensorStruct, void, void, unsigned long, void, unsigned long, cudnnForwardMode_t) () from /usr/local/cuda/lib64/libcudnn_adv_infer.so.8

21 0x00007ffc2e5be447 in cudnnRNNForwardInference () from /usr/local/cuda/lib64/libcudnn_adv_infer.so.8

22 0x00007fff835cbfaf in void phi::RNNInferece(bool, cudnnContext const&, int, phi::RNNDescriptors, float const, float const, float const, float const, float, float, float, phi::DenseTensor, unsigned long) ()

from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/third_libs/install/paddle_inference/paddle/lib/libpaddle_inference.so

23 0x00007fff835d08f4 in void phi::RnnKernel<float, phi::GPUContext>(phi::GPUContext const&, phi::DenseTensor const&, std::vector<phi::DenseTensor const, std::allocator<phi::DenseTensor const> > const&, std::vector<phi::DenseTensor const, std::allocator<phi::DenseTensor const> > const&, paddle::optional const&, float, bool, int, int, int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, int, bool, phi::DenseTensor, phi::DenseTensor, std::vector<phi::DenseTensor, std::allocator<phi::DenseTensor> >, phi::DenseTensor*) () from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/third_libs/install/paddle_inference/paddle/lib/libpaddle_inference.so

24 0x00007fff835d122a in void phi::KernelImpl<void ()(phi::GPUContext const&, phi::DenseTensor const&, std::vector<phi::DenseTensor const, std::allocator<phi::DenseTensor const> > const&, std::vector<phi::DenseTensor const, std::allocator<phi::DenseTensor const> > const&, paddle::optional const&, float, bool, int, int, int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, int, bool, phi::DenseTensor, phi::DenseTensor, std::vector<phi::DenseTensor, std::allocator<phi::DenseTensor> >, phi::DenseTensor), &(void phi::RnnKernel<float, phi::GPUContext>(phi::GPUContext const&, phi::DenseTensor const&, std::vector<phi::DenseTensor const, std::allocator<phi::DenseTensor const> > const&, std::vector<phi::DenseTensor const, std::allocator<phi::DenseTensor const> > const&, paddle::optional const&, float, bool, int, int, int, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, int, bool, phi::DenseTensor, phi::DenseTensor, std::vector<phi::DenseTensor, std::allocator<phi::DenseTensor> >, phi::DenseTensor*))>::KernelCallHelper<paddle::optional const&, float, bool, int, int, int, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, int, bool, phi::DenseTensor, phi::DenseTensor, std::vector<phi::DenseTensor, std::allocator<phi::DenseTensor> >, phi::DenseTensor, phi::TypeTag >::Compute<1, 3, 0, 0, phi::GPUContext const, phi::DenseTensor const, std::vector<phi::DenseTensor const, std::allocator<phi::DenseTensor const> >, std::vector<phi::DenseTensor const, std::allocator<phi::DenseTensor const> > >(phi::KernelContext, phi::GPUContext const&, phi::DenseTensor const&, std::vector<phi::DenseTensor const, std::allocator<phi::DenseTensor const> >&, std::vector<phi::DenseTensor const, std::allocator<phi::DenseTensor const> >&) () from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/third_libs/install/paddle_inference/paddle/lib/libpaddle_inference.so

25 0x00007fff835d15be in phi::KernelImpl<void ()(phi::GPUContext const&, phi::DenseTensor const&, std::vector<phi::DenseTensor const, std::allocator<phi::DenseTensor const> > const&, std::vector<phi::DenseTensor const, std::allocator<phi::DenseTensor const> > const&, paddle::optional const&, float, bool, int, int, int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, int, bool, phi::DenseTensor, phi::DenseTensor, std::vector<phi::DenseTensor, std::allocator<phi::DenseTensor> >, phi::DenseTensor), &(void phi::RnnKernel<float, phi::GPUContext>(phi::GPUContext const&, phi::DenseTensor const&, std::vector<phi::DenseTensor const, std::allocator<phi::DenseTensor const> > const&, std::vector<phi::DenseTensor const, std::allocator<phi::DenseTensor const> > const&, paddle::optional const&, float, bool, int, int, int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, int, bool, phi::DenseTensor, phi::DenseTensor, std::vector<phi::DenseTensor, std::allocator<phi::DenseTensor> >, phi::DenseTensor))>::Compute(phi::KernelContext) () from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/third_libs/install/paddle_inference/paddle/lib/libpaddle_inference.so

26 0x00007fff7ff760f1 in paddle::framework::OperatorWithKernel::RunImpl(paddle::framework::Scope const&, phi::Place const&) const ()

from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/third_libs/install/paddle_inference/paddle/lib/libpaddle_inference.so

27 0x00007fff7ff635cb in paddle::framework::OperatorBase::Run(paddle::framework::Scope const&, phi::Place const&) () from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/third_libs/install/paddle_inference/paddle/lib/libpaddle_inference.so

28 0x00007fff7ffc2e03 in paddle::framework::NaiveExecutor::Run() () from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/third_libs/install/paddle_inference/paddle/lib/libpaddle_inference.so

29 0x00007fff7f98136d in paddle::AnalysisPredictor::ZeroCopyRun() () from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/third_libs/install/paddle_inference/paddle/lib/libpaddle_inference.so

30 0x00007ffff757035c in fastdeploy::PaddleBackend::Infer(std::vector<fastdeploy::FDTensor, std::allocator >&, std::vector<fastdeploy::FDTensor, std::allocator >*, bool) ()

from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/lib/libfastdeploy.so.1.0.2

31 0x00007ffff754724e in fastdeploy::Runtime::Infer(std::vector<fastdeploy::FDTensor, std::allocator >&, std::vector<fastdeploy::FDTensor, std::allocator >*) ()

from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/lib/libfastdeploy.so.1.0.2

32 0x00007ffff70d8387 in fastdeploy::FastDeployModel::Infer(std::vector<fastdeploy::FDTensor, std::allocator >&, std::vector<fastdeploy::FDTensor, std::allocator >*) ()

from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/lib/libfastdeploy.so.1.0.2 ---Type to continue, or q to quit---

33 0x00007ffff766df3d in fastdeploy::vision::ocr::Recognizer::BatchPredict(std::vector<cv::Mat, std::allocator > const&, std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::cxx11::basic_string<char, std::char_traits, std::allocator > > >, std::vector<float, std::allocator >, unsigned long, unsigned long, std::vector<int, std::allocator > const&) ()

from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/lib/libfastdeploy.so.1.0.2

34 0x00007ffff7667dff in fastdeploy::pipeline::PPOCRv2::BatchPredict(std::vector<cv::Mat, std::allocator > const&, std::vector<fastdeploy::vision::OCRResult, std::allocator >*) ()

from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/lib/libfastdeploy.so.1.0.2

35 0x00007ffff76673e5 in fastdeploy::pipeline::PPOCRv2::Predict(cv::Mat const&, fastdeploy::vision::OCRResult*) () from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/lib/libfastdeploy.so.1.0.2

36 0x00007ffff76672f7 in fastdeploy::pipeline::PPOCRv2::Predict(cv::Mat, fastdeploy::vision::OCRResult) () from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/lib/libfastdeploy.so.1.0.2

37 0x000000000041b864 in InitAndInfer (det_model_dir=..., cls_model_dir=..., rec_model_dir=..., rec_label_file=..., image_file=..., option=..., thread_id=1) at /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/infer_thread.cc:93

38 0x0000000000422082 in std::invoke_impl<void, void ()(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, fastdeploy::RuntimeOption const&, int), std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, fastdeploy::RuntimeOption, int>(std::__invoke_other, void (&&)(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, fastdeploy::RuntimeOption const&, int), std::cxx11::basic_string<char, std::char_traits, std::allocator >&&, std::cxx11::basic_string<char, std::char_traits, std::allocator >&&, std::cxx11::basic_string<char, std::char_traits, std::allocator >&&, std::cxx11::basic_string<char, std::char_traits, std::allocator >&&, std::cxx11::basic_string<char, std::char_traits, std::allocator >&&, fastdeploy::RuntimeOption&&, int&&) (f=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x5ed4b>,

__args#0=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x5ed87>, 
__args#1=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x5ed97>, 
__args#2=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x5eda7>, 
__args#3=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x5edb7>, 
__args#4=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x5edc7>, 
__args#5=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x5edd7>, 
__args#6=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x5ede6>) at /usr/local/gcc-8.2/include/c++/8.2.0/bits/invoke.h:60

39 0x000000000041fb93 in std::invoke<void (*)(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, fastdeploy::RuntimeOption const&, int), std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, fastdeploy::RuntimeOption, int>(void (*&&)(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, fastdeploy::RuntimeOption const&, int), std::cxx11::basic_string<char, std::char_traits, std::allocator >&&, std::cxx11::basic_string<char, std::char_traits, std::allocator >&&, std::cxx11::basic_string<char, std::char_traits, std::allocator >&&, std::cxx11::basic_string<char, std::char_traits, std::allocator >&&, std::cxx11::basic_string<char, std::char_traits, std::allocator >&&, fastdeploy::RuntimeOption&&, int&&) (fn=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x62ace>,

__args#0=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x62b0a>, 
__args#1=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x62b1a>, 
__args#2=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x62b2a>, 
__args#3=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x62b3a>, 
__args#4=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x62b4a>, 
__args#5=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x62b5a>, 
__args#6=<unknown type in /home/share/disk1/bzp/cudnn8.1/FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/build/infer_demo_thread, CU 0x0, DIE 0x62b69>) at /usr/local/gcc-8.2/include/c++/8.2.0/bits/invoke.h:95

40 0x0000000000426f44 in std::thread::_Invoker<std::tuple<void (*)(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, fastdeploy::RuntimeOption const&, int), std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, fastdeploy::RuntimeOption, int> >::_M_invoke<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul> (this=0x2df30c8)

at /usr/local/gcc-8.2/include/c++/8.2.0/thread:234

41 0x0000000000426e5a in std::thread::_Invoker<std::tuple<void (*)(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, fastdeploy::RuntimeOption const&, int), std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, fastdeploy::RuntimeOption, int> >::operator() (this=0x2df30c8) at /usr/local/gcc-8.2/include/c++/8.2.0/thread:243

42 0x0000000000426e3e in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, fastdeploy::RuntimeOption const&, int), std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, fastdeploy::RuntimeOption, int> > >::_M_run (this=0x2df30c0)

at /usr/local/gcc-8.2/include/c++/8.2.0/thread:186

43 0x00007fff5696d05f in execute_native_thread_routine () from /home/share/disk1/bzp/cudnn8.1/fastdeploy-linux-x64-gpu-1.0.2/third_libs/install/opencv/lib64/libopencv_core.so.3.4

---Type to continue, or q to quit---

44 0x00007fff5a044ea5 in start_thread () from /usr/lib64/libpthread.so.0

45 0x00007fff555609fd in clone () from /usr/lib64/libc.so.6

复现过程及代码

修改FastDeploy-release-1.0.2/examples/vision/ocr/PP-OCRv2/cpp/infer.cc为多线程 选择Paddle推理 修改CMakeLists.txt编译通过后执行: gdb --args ./build/infer_demo_thread ./model/ch_PP-OCRv2_det_infer ./model/ch_ppocr_mobile_v2.0_cls_infer ./model/ch_PP-OCRv2_rec_infer ./model/ppocr_keys_v1.txt ./imgs/1.jpg 1



// Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include "fastdeploy/vision.h"

#include <unistd.h>
#include <iostream>
#include <thread>

#ifdef WIN32
const char sep = '\\';
#else
const char sep = '/';
#endif

int num_threads = 8;

void InitAndInfer(const std::string& det_model_dir, const std::string& cls_model_dir, const std::string& rec_model_dir, const std::string& rec_label_file, const std::string& image_file, const fastdeploy::RuntimeOption& option, int thread_id) {
  auto det_model_file = det_model_dir + sep + "inference.pdmodel";
  auto det_params_file = det_model_dir + sep + "inference.pdiparams";

  auto cls_model_file = cls_model_dir + sep + "inference.pdmodel";
  auto cls_params_file = cls_model_dir + sep + "inference.pdiparams";

  auto rec_model_file = rec_model_dir + sep + "inference.pdmodel";
  auto rec_params_file = rec_model_dir + sep + "inference.pdiparams";

  auto det_option = option;
  auto cls_option = option;
  auto rec_option = option;

  // The cls and rec model can inference a batch of images now.
  // User could initialize the inference batch size and set them after create PPOCR model.
  int cls_batch_size = 1;
  int rec_batch_size = 6;

  // If use TRT backend, the dynamic shape will be set as follow.
  // We recommend that users set the length and height of the detection model to a multiple of 32.
  det_option.SetTrtInputShape("x", {1, 3, 64,64}, {1, 3, 640, 640},
                                {1, 3, 960, 960});

  cls_option.SetTrtInputShape("x", {1, 3, 48, 10}, {cls_batch_size, 3, 48, 320}, {cls_batch_size, 3, 48, 1024});

  rec_option.SetTrtInputShape("x", {1, 3, 32, 10}, {rec_batch_size, 3, 32, 320},
                                {rec_batch_size, 3, 32, 2304});

  // Users could save TRT cache file to disk as follow. 
  // det_option.SetTrtCacheFile(det_model_dir + sep + "det_trt_cache.trt");
  // cls_option.SetTrtCacheFile(cls_model_dir + sep + "cls_trt_cache.trt");
  // rec_option.SetTrtCacheFile(rec_model_dir + sep + "rec_trt_cache.trt");

  auto det_model = fastdeploy::vision::ocr::DBDetector(det_model_file, det_params_file, det_option);
  auto cls_model = fastdeploy::vision::ocr::Classifier(cls_model_file, cls_params_file, cls_option);
  auto rec_model = fastdeploy::vision::ocr::Recognizer(rec_model_file, rec_params_file, rec_label_file, rec_option);

  assert(det_model.Initialized());
  assert(cls_model.Initialized());
  assert(rec_model.Initialized());

  // The classification model is optional, so the PP-OCR can also be connected in series as follows
  // auto ppocr_v2 = fastdeploy::pipeline::PPOCRv2(&det_model, &rec_model);
  auto ppocr_v2 = fastdeploy::pipeline::PPOCRv2(&det_model, &cls_model, &rec_model);

  // Set inference batch size for cls model and rec model, the value could be -1 and 1 to positive infinity.
  // When inference batch size is set to -1, it means that the inference batch size 
  // of the cls and rec models will be the same as the number of boxes detected by the det model.  
  ppocr_v2.SetClsBatchSize(cls_batch_size);
  ppocr_v2.SetRecBatchSize(rec_batch_size);

  if(!ppocr_v2.Initialized()){
    std::cerr << "Failed to initialize PP-OCR." << std::endl;
    return;
  }

  while(1) {
    std::cout << "--------------------- thread id " << thread_id << " --------------------------------------" << std::endl;
    auto im = cv::imread(image_file);
    auto im_bak = im.clone();

    fastdeploy::vision::OCRResult result;
    if (!ppocr_v2.Predict(&im, &result)) {
      std::cerr << "Failed to predict." << std::endl;
      return;
    }

    std::cout << result.Str() << std::endl;

    //auto vis_im = fastdeploy::vision::VisOcr(im_bak, result);
    //cv::imwrite("vis_result.jpg", vis_im);
    //std::cout << "Visualized result saved in ./vis_result.jpg" << std::endl;
  }
}

int main_system(const std::string& det_model_dir, const std::string& cls_model_dir, const std::string& rec_model_dir, const std::string& rec_label_file, const std::string& image_file, const fastdeploy::RuntimeOption& option) {
    for(int i = 0; i < num_threads; i++) {
        std::thread t(InitAndInfer, det_model_dir, cls_model_dir, rec_model_dir, rec_label_file, image_file, option, i);
        t.detach();
        sleep(2);
    }
    while(1){
        sleep(100000);
    }
    return 0;
}

int main(int argc, char* argv[]) {
  if (argc < 7) {
    std::cout << "Usage: infer_demo path/to/det_model path/to/cls_model "
                 "path/to/rec_model path/to/rec_label_file path/to/image "
                 "run_option, "
                 "e.g ./infer_demo ./ch_PP-OCRv2_det_infer "
                 "./ch_ppocr_mobile_v2.0_cls_infer ./ch_PP-OCRv2_rec_infer "
                 "./ppocr_keys_v1.txt ./12.jpg 0"
              << std::endl;
    std::cout << "The data type of run_option is int, 0: run with cpu; 1: run "
                 "with gpu; 2: run with gpu and use tensorrt backend; 3: run with gpu and use Paddle-TRT; 4: run with kunlunxin."
              << std::endl;
    return -1;
  }

  fastdeploy::RuntimeOption option;
  int flag = std::atoi(argv[6]);

  if (flag == 0) {
    option.UseCpu(); 
  } else if (flag == 1) {
    option.UseGpu();
  } else if (flag == 2) {
    option.UseGpu();
    option.UseTrtBackend();
  } else if (flag == 3) {
    option.UseGpu();
    option.UseTrtBackend();
    option.EnablePaddleTrtCollectShape();
    option.EnablePaddleToTrt();
  } else if (flag == 4) {
    option.UseKunlunXin();
  }

  std::string det_model_dir = argv[1];
  std::string cls_model_dir = argv[2];
  std::string rec_model_dir = argv[3];
  std::string rec_label_file = argv[4];
  std::string test_image = argv[5];
  main_system(det_model_dir, cls_model_dir, rec_model_dir, rec_label_file, test_image, option);
  return 0;
}
jiangjiajun commented 1 year ago

你好,此问题已复现。 目前改成将后端设为OrtBackend可以先解决崩溃的问题

#include "fastdeploy/vision.h"

#include <unistd.h>
#include <iostream>
#include <thread>

#ifdef WIN32
const char sep = '\\';
#else
const char sep = '/';
#endif

int num_threads = 8;

void InitAndInfer(const std::string& det_model_dir, const std::string& cls_model_dir, const std::string& rec_model_dir, const std::string& rec_label_file, const std::string& image_file, const fastdeploy::RuntimeOption& option, int thread_id) {
  auto det_model_file = det_model_dir + sep + "inference.pdmodel";
  auto det_params_file = det_model_dir + sep + "inference.pdiparams";

  auto cls_model_file = cls_model_dir + sep + "inference.pdmodel";
  auto cls_params_file = cls_model_dir + sep + "inference.pdiparams";

  auto rec_model_file = rec_model_dir + sep + "inference.pdmodel";
  auto rec_params_file = rec_model_dir + sep + "inference.pdiparams";

  auto det_option = option;
  auto cls_option = option;
  auto rec_option = option;

  // 增加下面三行代码
 det_option.UseOrtBackend();
 cls_option.UseOrtBackend();
 rec_option.UseOrtBackend();

  // The cls and rec model can inference a batch of images now.
  // User could initialize the inference batch size and set them after create PPOCR model.
  int cls_batch_size = 1;
  int rec_batch_size = 6;

  // If use TRT backend, the dynamic shape will be set as follow.
  // We recommend that users set the length and height of the detection model to a multiple of 32.
  det_option.SetTrtInputShape("x", {1, 3, 64,64}, {1, 3, 640, 640},
                                {1, 3, 960, 960});

  cls_option.SetTrtInputShape("x", {1, 3, 48, 10}, {cls_batch_size, 3, 48, 320}, {cls_batch_size, 3, 48, 1024});

  rec_option.SetTrtInputShape("x", {1, 3, 32, 10}, {rec_batch_size, 3, 32, 320},
                                {rec_batch_size, 3, 32, 2304});

  // Users could save TRT cache file to disk as follow. 
  // det_option.SetTrtCacheFile(det_model_dir + sep + "det_trt_cache.trt");
  // cls_option.SetTrtCacheFile(cls_model_dir + sep + "cls_trt_cache.trt");
  // rec_option.SetTrtCacheFile(rec_model_dir + sep + "rec_trt_cache.trt");

  auto det_model = fastdeploy::vision::ocr::DBDetector(det_model_file, det_params_file, det_option);
  auto cls_model = fastdeploy::vision::ocr::Classifier(cls_model_file, cls_params_file, cls_option);
  auto rec_model = fastdeploy::vision::ocr::Recognizer(rec_model_file, rec_params_file, rec_label_file, rec_option);

  assert(det_model.Initialized());
  assert(cls_model.Initialized());
  assert(rec_model.Initialized());

  // The classification model is optional, so the PP-OCR can also be connected in series as follows
  // auto ppocr_v2 = fastdeploy::pipeline::PPOCRv2(&det_model, &rec_model);
  auto ppocr_v2 = fastdeploy::pipeline::PPOCRv2(&det_model, &cls_model, &rec_model);

  // Set inference batch size for cls model and rec model, the value could be -1 and 1 to positive infinity.
  // When inference batch size is set to -1, it means that the inference batch size 
  // of the cls and rec models will be the same as the number of boxes detected by the det model.  
  ppocr_v2.SetClsBatchSize(cls_batch_size);
  ppocr_v2.SetRecBatchSize(rec_batch_size);

  if(!ppocr_v2.Initialized()){
    std::cerr << "Failed to initialize PP-OCR." << std::endl;
    return;
  }

  while(1) {
    std::cout << "--------------------- thread id " << thread_id << " --------------------------------------" << std::endl;
    auto im = cv::imread(image_file);
    auto im_bak = im.clone();

    fastdeploy::vision::OCRResult result;
    if (!ppocr_v2.Predict(&im, &result)) {
      std::cerr << "Failed to predict." << std::endl;
      return;
    }

    std::cout << result.Str() << std::endl;

    //auto vis_im = fastdeploy::vision::VisOcr(im_bak, result);
    //cv::imwrite("vis_result.jpg", vis_im);
    //std::cout << "Visualized result saved in ./vis_result.jpg" << std::endl;
  }
}

int main_system(const std::string& det_model_dir, const std::string& cls_model_dir, const std::string& rec_model_dir, const std::string& rec_label_file, const std::string& image_file, const fastdeploy::RuntimeOption& option) {
    for(int i = 0; i < num_threads; i++) {
        std::thread t(InitAndInfer, det_model_dir, cls_model_dir, rec_model_dir, rec_label_file, image_file, option, i);
        t.detach();
        sleep(2);
    }
    while(1){
        sleep(100000);
    }
    return 0;
}

int main(int argc, char* argv[]) {
  if (argc < 7) {
    std::cout << "Usage: infer_demo path/to/det_model path/to/cls_model "
                 "path/to/rec_model path/to/rec_label_file path/to/image "
                 "run_option, "
                 "e.g ./infer_demo ./ch_PP-OCRv2_det_infer "
                 "./ch_ppocr_mobile_v2.0_cls_infer ./ch_PP-OCRv2_rec_infer "
                 "./ppocr_keys_v1.txt ./12.jpg 0"
              << std::endl;
    std::cout << "The data type of run_option is int, 0: run with cpu; 1: run "
                 "with gpu; 2: run with gpu and use tensorrt backend; 3: run with gpu and use Paddle-TRT; 4: run with kunlunxin."
              << std::endl;
    return -1;
  }

  fastdeploy::RuntimeOption option;
  int flag = std::atoi(argv[6]);

  if (flag == 0) {
    option.UseCpu(); 
  } else if (flag == 1) {
    option.UseGpu();
  } else if (flag == 2) {
    option.UseGpu();
    option.UseTrtBackend();
  } else if (flag == 3) {
    option.UseGpu();
    option.UseTrtBackend();
    option.EnablePaddleTrtCollectShape();
    option.EnablePaddleToTrt();
  } else if (flag == 4) {
    option.UseKunlunXin();
  }

  std::string det_model_dir = argv[1];
  std::string cls_model_dir = argv[2];
  std::string rec_model_dir = argv[3];
  std::string rec_label_file = argv[4];
  std::string test_image = argv[5];
  main_system(det_model_dir, cls_model_dir, rec_model_dir, rec_label_file, test_image, option);
  return 0;
}
shenmayufei commented 1 year ago

使用ocr 在android c++推理也碰到类似的问题,求解答。注意该代码在linux端没有问题。使用库为:fastdeploy-android-1.0.4-shared。

[I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1275 Setup] ARM multiprocessors name: MODEL NAME : ARMV8 PROCESSOR REV 12 (V8L) HARDWARE : QUALCOMM TECHNOLOGIES, INC SDM845 _SDM845SDM845 [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1276 Setup] ARM multiprocessors number: 8 [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 0, max freq: 1766, min freq: 1766, cluster ID: 1, CPU ARCH: A55 [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 1, max freq: 1766, min freq: 1766, cluster ID: 1, CPU ARCH: A55 [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 2, max freq: 1766, min freq: 1766, cluster ID: 1, CPU ARCH: A55 [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 3, max freq: 1766, min freq: 1766, cluster ID: 1, CPU ARCH: A55 [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 4, max freq: 2803, min freq: 2803, cluster ID: 0, CPU ARCH: A75 [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 5, max freq: 2803, min freq: 2803, cluster ID: 0, CPU ARCH: A75 [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 6, max freq: 2803, min freq: 2803, cluster ID: 0, CPU ARCH: A75 [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 7, max freq: 2803, min freq: 2803, cluster ID: 0, CPU ARCH: A75 [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1284 Setup] L1 DataCache size is: [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 32 KB [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 32 KB [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 32 KB [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 32 KB [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 64 KB [I 3/16 21:23:55.274 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 64 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 64 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 64 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1288 Setup] L2 Cache size is: [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 128 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 128 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 128 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 128 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 256 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 256 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 256 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 256 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1292 Setup] L3 Cache size is: [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1296 Setup] Total memory: 5765016KB [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1297 Setup] SVE2 support: 0 [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1298 Setup] SVE2 f32mm support: 0 [I 3/16 21:23:55.275 ...oid/Paddle-Lite/lite/core/device_info.cc:1299 Setup] SVE2 i8mm support: 0 [I 3/16 21:23:55.276 ..._android/Paddle-Lite/lite/api/cxx_api.cc:371 Build] Load model from file. [I 3/16 21:23:55.276 ...e-Lite/lite/model_parser/model_parser.cc:241 LoadModelPb] Loading topology data from paddle_ch_PP-OCRv3/./ch_PP-OCRv3_det_infer/inference.pdmodel [I 3/16 21:23:55.304 ...e-Lite/lite/model_parser/model_parser.cc:259 LoadModelPb] Loading params data from paddle_ch_PP-OCRv3/./ch_PP-OCRv3_det_infer/inference.pdiparams [I 3/16 21:23:55.307 ...e-Lite/lite/model_parser/model_parser.cc:269 LoadModelPb] 1. Model is successfully loaded! [I 3/16 21:23:55.338 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_quant_dequant_fuse_pass [I 3/16 21:23:55.358 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_quant_dequant_fuse_pass [I 3/16 21:23:55.358 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: weight_quantization_preprocess_pass [I 3/16 21:23:55.359 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: weight_quantization_preprocess_pass [I 3/16 21:23:55.359 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: op_transformation_pass [I 3/16 21:23:55.360 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: op_transformation_pass [I 3/16 21:23:55.360 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: assign_value_calc_offline_pass [I 3/16 21:23:55.360 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip assign_value_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:55.360 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: p_norm_fill_constant_max_div_fuse_pass [I 3/16 21:23:55.360 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip p_norm_fill_constant_max_div_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.360 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: fill_constant_calc_offline_pass [I 3/16 21:23:55.360 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip fill_constant_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:55.360 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: range_calc_offline_pass [I 3/16 21:23:55.360 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip range_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:55.360 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: scale_calc_offline_pass [I 3/16 21:23:55.360 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip scale_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:55.360 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: unsqueeze_calc_offline_pass [I 3/16 21:23:55.361 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: unsqueeze_calc_offline_pass [I 3/16 21:23:55.361 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: reshape_calc_offline_pass [I 3/16 21:23:55.361 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip reshape_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:55.361 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: ssd_boxes_calc_offline_pass [I 3/16 21:23:55.361 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip ssd_boxes_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:55.361 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: op_fusion_minimal_set_pass [I 3/16 21:23:55.361 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip op_fusion_minimal_set_pass because the target or kernel does not match. [I 3/16 21:23:55.361 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: quantization_parameters_propagation_pass [I 3/16 21:23:55.361 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip quantization_parameters_propagation_pass because the target or kernel does not match. [I 3/16 21:23:55.362 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: quantization_parameters_removal_pass [I 3/16 21:23:55.362 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip quantization_parameters_removal_pass because the target or kernel does not match. [I 3/16 21:23:55.362 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: nnadapter_subgraph_pass [I 3/16 21:23:55.362 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip nnadapter_subgraph_pass because the target or kernel does not match. [I 3/16 21:23:55.362 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: remove_scale1_pass [I 3/16 21:23:55.362 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip remove_scale1_pass because the target or kernel does not match. [I 3/16 21:23:55.362 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: adaptive_1x1_pool2d_convert_global_pass [I 3/16 21:23:55.363 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: adaptive_1x1_pool2d_convert_global_pass [I 3/16 21:23:55.363 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_unsqueeze2_pad3d_squeeze2_fuse_pass [I 3/16 21:23:55.363 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_unsqueeze2_pad3d_squeeze2_fuse_pass [I 3/16 21:23:55.363 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_elementwise_fuse_pass [I 3/16 21:23:55.375 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 16 subgraph [I 3/16 21:23:55.378 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 2 subgraph [I 3/16 21:23:55.378 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_elementwise_fuse_pass [I 3/16 21:23:55.378 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_bn_fuse_pass [I 3/16 21:23:55.396 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 1 subgraph [I 3/16 21:23:55.446 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 33 subgraph [I 3/16 21:23:55.463 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 15 subgraph [I 3/16 21:23:55.467 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_bn_fuse_pass [I 3/16 21:23:55.467 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_elementwise_fuse_pass [I 3/16 21:23:55.479 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_elementwise_fuse_pass [I 3/16 21:23:55.479 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_conv_fuse_pass [I 3/16 21:23:55.479 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_conv_fuse_pass [I 3/16 21:23:55.479 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_sigmoid_elementmul_fuse_pass [I 3/16 21:23:55.479 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_sigmoid_elementmul_fuse_pass [I 3/16 21:23:55.479 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_activation_fuse_pass [I 3/16 21:23:55.486 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 15 subgraph [I 3/16 21:23:55.508 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 11 subgraph [I 3/16 21:23:55.513 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 6 subgraph [I 3/16 21:23:55.517 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 1 subgraph [I 3/16 21:23:55.519 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_activation_fuse_pass [I 3/16 21:23:55.519 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_squeeze2_matmul_fuse_pass [I 3/16 21:23:55.520 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_squeeze2_matmul_fuse_pass [I 3/16 21:23:55.520 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_reshape2_matmul_fuse_pass [I 3/16 21:23:55.520 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_reshape2_matmul_fuse_pass [I 3/16 21:23:55.520 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_matmul_element_add_fuse_pass [I 3/16 21:23:55.520 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_matmul_element_add_fuse_pass [I 3/16 21:23:55.520 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_matmul_fuse_pass [I 3/16 21:23:55.521 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_matmul_fuse_pass [I 3/16 21:23:55.521 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_fc_fuse_pass [I 3/16 21:23:55.532 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_fc_fuse_pass [I 3/16 21:23:55.532 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_shuffle_channel_fuse_pass [I 3/16 21:23:55.533 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_shuffle_channel_fuse_pass [I 3/16 21:23:55.533 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_transpose_softmax_transpose_fuse_pass [I 3/16 21:23:55.533 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_transpose_softmax_transpose_fuse_pass [I 3/16 21:23:55.533 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_interpolate_fuse_pass [I 3/16 21:23:55.535 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_interpolate_fuse_pass [I 3/16 21:23:55.535 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: identity_scale_eliminate_pass [I 3/16 21:23:55.535 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: identity_scale_eliminate_pass [I 3/16 21:23:55.535 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_scales_fuse_pass [I 3/16 21:23:55.536 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_scales_fuse_pass [I 3/16 21:23:55.536 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: elementwise_mul_constant_eliminate_pass [I 3/16 21:23:55.536 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: elementwise_mul_constant_eliminate_pass [I 3/16 21:23:55.536 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_scale_activation_fuse_pass [I 3/16 21:23:55.537 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_scale_activation_fuse_pass [I 3/16 21:23:55.537 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_scaleacts_fuse_pass [I 3/16 21:23:55.537 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_scaleacts_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.537 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_elementwise_scale_fuse_pass [I 3/16 21:23:55.537 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_elementwise_scale_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.537 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_instance_norm_activation_fuse_pass [I 3/16 21:23:55.537 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_instance_norm_activation_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.537 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_flatten_fc_fuse_pass [I 3/16 21:23:55.538 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_flatten_fc_fuse_pass [I 3/16 21:23:55.538 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_fc_prelu_fuse_pass [I 3/16 21:23:55.538 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_fc_prelu_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.538 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_elementwise_activation_fuse_pass [I 3/16 21:23:55.540 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_elementwise_activation_fuse_pass [I 3/16 21:23:55.540 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_scale_fuse_pass [I 3/16 21:23:55.540 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_scale_fuse_pass [I 3/16 21:23:55.540 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_elementwise_tree_fuse_pass [I 3/16 21:23:55.540 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_conv_elementwise_tree_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.540 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_greater_than_cast_fuse_pass [I 3/16 21:23:55.540 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_greater_than_cast_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.540 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: identity_dropout_eliminate_pass [I 3/16 21:23:55.540 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: identity_dropout_eliminate_pass [I 3/16 21:23:55.540 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: sparse_conv_detect_pass [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: sparse_conv_detect_pass [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumax_pooling_pad_zero_detect_fuse_pass [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumax_pooling_pad_zero_detect_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpugraph_dedup_pass [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpugraph_dedup_pass because the target or kernel does not match. [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuresnet_fuse_pass [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuresnet_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuconv2d_affine_channel_fuse_pass [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuconv2d_affine_channel_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuconv2d_fuse_pass [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuconv2d_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpusqueeze_excitation_fuse_pass [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpusqueeze_excitation_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpummdnn_fuse_pass [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpummdnn_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpubigru_fuse_pass [I 3/16 21:23:55.542 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpubigru_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuroformer_relative_pos_fuse_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuroformer_relative_pos_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuquick_gelu_fuse_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuquick_gelu_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumulti_encoder_fuse_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumulti_encoder_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuembedding_with_eltwise_add_fuse_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuembedding_with_eltwise_add_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpufc_fuse_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpufc_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpusoftmax_topk_fuse_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpusoftmax_topk_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumulti_encoder_adaptive_seqlen_fuse_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumulti_encoder_adaptive_seqlen_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumulti_encoder_adaptive_seqlen_v2_fuse_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumulti_encoder_adaptive_seqlen_v2_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumulti_encoder_slice_link_fuse_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumulti_encoder_slice_link_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpugenerate_sequence_fuse_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpugenerate_sequence_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpulogit_fuse_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpulogit_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpulink_previous_out_max_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpulink_previous_out_max_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: fix_mismatched_precision_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip fix_mismatched_precision_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpudynamic_lstm_fuse_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpudynamic_lstm_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumulti_softmax_fuse_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumulti_softmax_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuconv2d_transpose_fuse_pass [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuconv2d_transpose_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.543 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: static_kernel_pick_pass [I 3/16 21:23:55.592 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: static_kernel_pick_pass [I 3/16 21:23:55.593 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpustatic_kernel_pick_pass [I 3/16 21:23:55.593 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpustatic_kernel_pick_pass because the target or kernel does not match. [I 3/16 21:23:55.593 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: opencl_memory_object_config_pass [I 3/16 21:23:55.593 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip opencl_memory_object_config_pass because the target or kernel does not match. [I 3/16 21:23:55.593 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: remove_tf_redundant_ops_pass [I 3/16 21:23:55.603 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: remove_tf_redundant_ops_pass [I 3/16 21:23:55.603 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: variable_place_inference_pass [I 3/16 21:23:55.609 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: variable_place_inference_pass [I 3/16 21:23:55.609 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: control_flow_op_shared_inputs_and_outputs_place_sync_pass [I 3/16 21:23:55.610 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip control_flow_op_shared_inputs_and_outputs_place_sync_pass because the target or kernel does not match. [I 3/16 21:23:55.610 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: opencl_kernel_place_correct_pass [I 3/16 21:23:55.610 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip opencl_kernel_place_correct_pass because the target or kernel does not match. [I 3/16 21:23:55.610 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:55.610 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:55.610 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: type_target_cast_pass [I 3/16 21:23:55.612 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: type_target_cast_pass [I 3/16 21:23:55.612 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: variable_place_inference_pass [I 3/16 21:23:55.617 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: variable_place_inference_pass [I 3/16 21:23:55.618 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: control_flow_op_shared_inputs_and_outputs_place_sync_pass [I 3/16 21:23:55.618 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip control_flow_op_shared_inputs_and_outputs_place_sync_pass because the target or kernel does not match. [I 3/16 21:23:55.618 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:55.618 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:55.618 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: io_copy_kernel_pick_pass [I 3/16 21:23:55.618 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip io_copy_kernel_pick_pass because the target or kernel does not match. [I 3/16 21:23:55.618 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:55.618 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:55.618 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: variable_place_inference_pass [I 3/16 21:23:55.624 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: variable_place_inference_pass [I 3/16 21:23:55.624 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: control_flow_op_shared_inputs_and_outputs_place_sync_pass [I 3/16 21:23:55.624 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip control_flow_op_shared_inputs_and_outputs_place_sync_pass because the target or kernel does not match. [I 3/16 21:23:55.624 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:55.624 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:55.624 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: type_precision_cast_pass [I 3/16 21:23:55.626 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: type_precision_cast_pass [I 3/16 21:23:55.626 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: variable_place_inference_pass [I 3/16 21:23:55.632 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: variable_place_inference_pass [I 3/16 21:23:55.632 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: control_flow_op_shared_inputs_and_outputs_place_sync_pass [I 3/16 21:23:55.632 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip control_flow_op_shared_inputs_and_outputs_place_sync_pass because the target or kernel does not match. [I 3/16 21:23:55.632 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:55.632 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:55.632 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: type_layout_cast_pass [I 3/16 21:23:55.653 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: type_layout_cast_pass [I 3/16 21:23:55.653 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:55.654 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:55.654 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: variable_place_inference_pass [I 3/16 21:23:55.659 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: variable_place_inference_pass [I 3/16 21:23:55.659 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: control_flow_op_shared_inputs_and_outputs_place_sync_pass [I 3/16 21:23:55.659 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip control_flow_op_shared_inputs_and_outputs_place_sync_pass because the target or kernel does not match. [I 3/16 21:23:55.659 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:55.660 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:55.660 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: runtime_context_assign_pass [I 3/16 21:23:55.660 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: runtime_context_assign_pass [I 3/16 21:23:55.660 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:55.660 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:55.660 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_inplace_fuse_pass [I 3/16 21:23:55.661 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_inplace_fuse_pass [I 3/16 21:23:55.661 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: memory_optimize_pass [I 3/16 21:23:55.665 ...re/optimizer/mir/memory_optimize_pass.cc:203 CollectLifeCycleByDevice] There are 1 types device var. [I 3/16 21:23:55.666 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: batch_norm_12.tmp_3 [I 3/16 21:23:55.666 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: batch_norm_15.tmp_3 [I 3/16 21:23:55.666 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: elementwise_add_1 [I 3/16 21:23:55.666 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: elementwise_add_2 [I 3/16 21:23:55.666 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: elementwise_add_3 [I 3/16 21:23:55.666 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: elementwise_add_8 [I 3/16 21:23:55.666 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: tmp_16 [I 3/16 21:23:55.666 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: tmp_18 [I 3/16 21:23:55.727 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: memory_optimize_pass [I 3/16 21:23:55.727 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpu_memory_optimize_pass [I 3/16 21:23:55.727 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpu_memory_optimize_pass because the target or kernel does not match. [I 3/16 21:23:55.737 ...re/optimizer/mir/generate_program_pass.h:41 GenProgram] insts.size: 1 [FastDeploy][INFO] fastdeploy/runtime/runtime.cc(370)::CreateLiteBackend Runtime initialized with Backend::PDLITE in Device::CPU. [I 3/16 21:23:55.749 ..._android/Paddle-Lite/lite/api/cxx_api.cc:371 Build] Load model from file. [I 3/16 21:23:55.749 ...e-Lite/lite/model_parser/model_parser.cc:241 LoadModelPb] Loading topology data from paddle_ch_PP-OCRv3/./ch_ppocr_mobile_v2.0_cls_infer/inference.pdmodel [I 3/16 21:23:55.775 ...e-Lite/lite/model_parser/model_parser.cc:259 LoadModelPb] Loading params data from paddle_ch_PP-OCRv3/./ch_ppocr_mobile_v2.0_cls_infer/inference.pdiparams [I 3/16 21:23:55.776 ...e-Lite/lite/model_parser/model_parser.cc:269 LoadModelPb] 1. Model is successfully loaded! [I 3/16 21:23:55.800 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_quant_dequant_fuse_pass [I 3/16 21:23:55.812 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_quant_dequant_fuse_pass [I 3/16 21:23:55.812 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: weight_quantization_preprocess_pass [I 3/16 21:23:55.813 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: weight_quantization_preprocess_pass [I 3/16 21:23:55.813 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: op_transformation_pass [I 3/16 21:23:55.813 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: op_transformation_pass [I 3/16 21:23:55.813 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: assign_value_calc_offline_pass [I 3/16 21:23:55.813 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip assign_value_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:55.813 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: p_norm_fill_constant_max_div_fuse_pass [I 3/16 21:23:55.814 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip p_norm_fill_constant_max_div_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.814 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: fill_constant_calc_offline_pass [I 3/16 21:23:55.814 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip fill_constant_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:55.814 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: range_calc_offline_pass [I 3/16 21:23:55.814 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip range_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:55.814 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: scale_calc_offline_pass [I 3/16 21:23:55.814 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip scale_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:55.814 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: unsqueeze_calc_offline_pass [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: unsqueeze_calc_offline_pass [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: reshape_calc_offline_pass [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip reshape_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: ssd_boxes_calc_offline_pass [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip ssd_boxes_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: op_fusion_minimal_set_pass [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip op_fusion_minimal_set_pass because the target or kernel does not match. [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: quantization_parameters_propagation_pass [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip quantization_parameters_propagation_pass because the target or kernel does not match. [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: quantization_parameters_removal_pass [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip quantization_parameters_removal_pass because the target or kernel does not match. [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: nnadapter_subgraph_pass [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip nnadapter_subgraph_pass because the target or kernel does not match. [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: remove_scale1_pass [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip remove_scale1_pass because the target or kernel does not match. [I 3/16 21:23:55.815 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: adaptive_1x1_pool2d_convert_global_pass [I 3/16 21:23:55.816 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: adaptive_1x1_pool2d_convert_global_pass [I 3/16 21:23:55.816 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_unsqueeze2_pad3d_squeeze2_fuse_pass [I 3/16 21:23:55.816 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_unsqueeze2_pad3d_squeeze2_fuse_pass [I 3/16 21:23:55.816 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_elementwise_fuse_pass [I 3/16 21:23:55.823 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 18 subgraph [I 3/16 21:23:55.826 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_elementwise_fuse_pass [I 3/16 21:23:55.826 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_bn_fuse_pass [I 3/16 21:23:55.864 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 24 subgraph [I 3/16 21:23:55.875 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 11 subgraph [I 3/16 21:23:55.878 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_bn_fuse_pass [I 3/16 21:23:55.878 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_elementwise_fuse_pass [I 3/16 21:23:55.884 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_elementwise_fuse_pass [I 3/16 21:23:55.884 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_conv_fuse_pass [I 3/16 21:23:55.884 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_conv_fuse_pass [I 3/16 21:23:55.884 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_sigmoid_elementmul_fuse_pass [I 3/16 21:23:55.884 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_sigmoid_elementmul_fuse_pass [I 3/16 21:23:55.884 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_activation_fuse_pass [I 3/16 21:23:55.888 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 12 subgraph [I 3/16 21:23:55.901 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 10 subgraph [I 3/16 21:23:55.904 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 3 subgraph [I 3/16 21:23:55.908 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_activation_fuse_pass [I 3/16 21:23:55.908 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_squeeze2_matmul_fuse_pass [I 3/16 21:23:55.908 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_squeeze2_matmul_fuse_pass [I 3/16 21:23:55.908 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_reshape2_matmul_fuse_pass [I 3/16 21:23:55.908 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_reshape2_matmul_fuse_pass [I 3/16 21:23:55.908 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_matmul_element_add_fuse_pass [I 3/16 21:23:55.909 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_matmul_element_add_fuse_pass [I 3/16 21:23:55.909 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_matmul_fuse_pass [I 3/16 21:23:55.909 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_matmul_fuse_pass [I 3/16 21:23:55.909 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_fc_fuse_pass [I 3/16 21:23:55.917 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 1 subgraph [I 3/16 21:23:55.917 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_fc_fuse_pass [I 3/16 21:23:55.917 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_shuffle_channel_fuse_pass [I 3/16 21:23:55.918 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_shuffle_channel_fuse_pass [I 3/16 21:23:55.918 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_transpose_softmax_transpose_fuse_pass [I 3/16 21:23:55.918 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_transpose_softmax_transpose_fuse_pass [I 3/16 21:23:55.918 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_interpolate_fuse_pass [I 3/16 21:23:55.919 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_interpolate_fuse_pass [I 3/16 21:23:55.919 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: identity_scale_eliminate_pass [I 3/16 21:23:55.920 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: identity_scale_eliminate_pass [I 3/16 21:23:55.920 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_scales_fuse_pass [I 3/16 21:23:55.920 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_scales_fuse_pass [I 3/16 21:23:55.920 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: elementwise_mul_constant_eliminate_pass [I 3/16 21:23:55.920 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: elementwise_mul_constant_eliminate_pass [I 3/16 21:23:55.920 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_scale_activation_fuse_pass [I 3/16 21:23:55.921 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_scale_activation_fuse_pass [I 3/16 21:23:55.921 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_scaleacts_fuse_pass [I 3/16 21:23:55.921 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_scaleacts_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.921 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_elementwise_scale_fuse_pass [I 3/16 21:23:55.921 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_elementwise_scale_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.921 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_instance_norm_activation_fuse_pass [I 3/16 21:23:55.921 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_instance_norm_activation_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.921 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_flatten_fc_fuse_pass [I 3/16 21:23:55.922 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_flatten_fc_fuse_pass [I 3/16 21:23:55.922 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_fc_prelu_fuse_pass [I 3/16 21:23:55.922 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_fc_prelu_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.922 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_elementwise_activation_fuse_pass [I 3/16 21:23:55.923 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_elementwise_activation_fuse_pass [I 3/16 21:23:55.923 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_scale_fuse_pass [I 3/16 21:23:55.923 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_scale_fuse_pass [I 3/16 21:23:55.923 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_elementwise_tree_fuse_pass [I 3/16 21:23:55.923 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_conv_elementwise_tree_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.923 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_greater_than_cast_fuse_pass [I 3/16 21:23:55.923 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_greater_than_cast_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.923 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: identity_dropout_eliminate_pass [I 3/16 21:23:55.924 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: identity_dropout_eliminate_pass [I 3/16 21:23:55.924 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: sparse_conv_detect_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: sparse_conv_detect_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumax_pooling_pad_zero_detect_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumax_pooling_pad_zero_detect_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpugraph_dedup_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpugraph_dedup_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuresnet_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuresnet_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuconv2d_affine_channel_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuconv2d_affine_channel_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuconv2d_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuconv2d_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpusqueeze_excitation_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpusqueeze_excitation_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpummdnn_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpummdnn_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpubigru_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpubigru_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuroformer_relative_pos_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuroformer_relative_pos_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuquick_gelu_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuquick_gelu_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumulti_encoder_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumulti_encoder_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuembedding_with_eltwise_add_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuembedding_with_eltwise_add_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpufc_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpufc_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpusoftmax_topk_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpusoftmax_topk_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumulti_encoder_adaptive_seqlen_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumulti_encoder_adaptive_seqlen_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumulti_encoder_adaptive_seqlen_v2_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumulti_encoder_adaptive_seqlen_v2_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumulti_encoder_slice_link_fuse_pass [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumulti_encoder_slice_link_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.925 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpugenerate_sequence_fuse_pass [I 3/16 21:23:55.926 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpugenerate_sequence_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.926 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpulogit_fuse_pass [I 3/16 21:23:55.926 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpulogit_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.926 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpulink_previous_out_max_pass [I 3/16 21:23:55.926 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpulink_previous_out_max_pass because the target or kernel does not match. [I 3/16 21:23:55.926 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: fix_mismatched_precision_pass [I 3/16 21:23:55.926 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip fix_mismatched_precision_pass because the target or kernel does not match. [I 3/16 21:23:55.926 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpudynamic_lstm_fuse_pass [I 3/16 21:23:55.926 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpudynamic_lstm_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.926 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumulti_softmax_fuse_pass [I 3/16 21:23:55.926 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumulti_softmax_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.926 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuconv2d_transpose_fuse_pass [I 3/16 21:23:55.926 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuconv2d_transpose_fuse_pass because the target or kernel does not match. [I 3/16 21:23:55.926 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: static_kernel_pick_pass [I 3/16 21:23:55.961 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: static_kernel_pick_pass [I 3/16 21:23:55.962 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpustatic_kernel_pick_pass [I 3/16 21:23:55.962 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpustatic_kernel_pick_pass because the target or kernel does not match. [I 3/16 21:23:55.962 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: opencl_memory_object_config_pass [I 3/16 21:23:55.962 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip opencl_memory_object_config_pass because the target or kernel does not match. [I 3/16 21:23:55.962 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: remove_tf_redundant_ops_pass [I 3/16 21:23:55.976 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: remove_tf_redundant_ops_pass [I 3/16 21:23:55.976 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: variable_place_inference_pass [I 3/16 21:23:55.981 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: variable_place_inference_pass [I 3/16 21:23:55.981 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: control_flow_op_shared_inputs_and_outputs_place_sync_pass [I 3/16 21:23:55.981 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip control_flow_op_shared_inputs_and_outputs_place_sync_pass because the target or kernel does not match. [I 3/16 21:23:55.981 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: opencl_kernel_place_correct_pass [I 3/16 21:23:55.981 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip opencl_kernel_place_correct_pass because the target or kernel does not match. [I 3/16 21:23:55.981 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:55.981 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:55.981 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: type_target_cast_pass [I 3/16 21:23:55.983 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: type_target_cast_pass [I 3/16 21:23:55.983 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: variable_place_inference_pass [I 3/16 21:23:55.988 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: variable_place_inference_pass [I 3/16 21:23:55.988 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: control_flow_op_shared_inputs_and_outputs_place_sync_pass [I 3/16 21:23:55.988 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip control_flow_op_shared_inputs_and_outputs_place_sync_pass because the target or kernel does not match. [I 3/16 21:23:55.988 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:55.988 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:55.988 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: io_copy_kernel_pick_pass [I 3/16 21:23:55.988 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip io_copy_kernel_pick_pass because the target or kernel does not match. [I 3/16 21:23:55.988 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:55.989 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:55.989 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: variable_place_inference_pass [I 3/16 21:23:55.993 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: variable_place_inference_pass [I 3/16 21:23:55.993 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: control_flow_op_shared_inputs_and_outputs_place_sync_pass [I 3/16 21:23:55.993 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip control_flow_op_shared_inputs_and_outputs_place_sync_pass because the target or kernel does not match. [I 3/16 21:23:55.993 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:55.993 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:55.993 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: type_precision_cast_pass [I 3/16 21:23:55.995 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: type_precision_cast_pass [I 3/16 21:23:55.995 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: variable_place_inference_pass [I 3/16 21:23:56. 0 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: variable_place_inference_pass [I 3/16 21:23:56. 0 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: control_flow_op_shared_inputs_and_outputs_place_sync_pass [I 3/16 21:23:56. 0 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip control_flow_op_shared_inputs_and_outputs_place_sync_pass because the target or kernel does not match. [I 3/16 21:23:56. 0 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:56. 0 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:56. 0 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: type_layout_cast_pass [I 3/16 21:23:56. 16 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: type_layout_cast_pass [I 3/16 21:23:56. 16 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:56. 16 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:56. 16 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: variable_place_inference_pass [I 3/16 21:23:56. 21 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: variable_place_inference_pass [I 3/16 21:23:56. 21 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: control_flow_op_shared_inputs_and_outputs_place_sync_pass [I 3/16 21:23:56. 21 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip control_flow_op_shared_inputs_and_outputs_place_sync_pass because the target or kernel does not match. [I 3/16 21:23:56. 21 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:56. 21 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:56. 21 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: runtime_context_assign_pass [I 3/16 21:23:56. 21 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: runtime_context_assign_pass [I 3/16 21:23:56. 21 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:56. 21 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:56. 21 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_inplace_fuse_pass [I 3/16 21:23:56. 22 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_inplace_fuse_pass [I 3/16 21:23:56. 22 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: memory_optimize_pass [I 3/16 21:23:56. 25 ...re/optimizer/mir/memory_optimize_pass.cc:203 CollectLifeCycleByDevice] There are 1 types device var. [I 3/16 21:23:56. 26 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: batch_norm_11.tmp_3 [I 3/16 21:23:56. 26 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: batch_norm_14.tmp_3 [I 3/16 21:23:56. 26 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: elementwise_add_0 [I 3/16 21:23:56. 26 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: hardswish_10.tmp_0 [I 3/16 21:23:56. 26 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: shape_0.tmp_0_slice_0 [I 3/16 21:23:56. 63 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: memory_optimize_pass [I 3/16 21:23:56. 63 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpu_memory_optimize_pass [I 3/16 21:23:56. 63 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpu_memory_optimize_pass because the target or kernel does not match. [I 3/16 21:23:56. 71 ...re/optimizer/mir/generate_program_pass.h:41 GenProgram] insts.size: 1 [FastDeploy][INFO] fastdeploy/runtime/runtime.cc(370)::CreateLiteBackend Runtime initialized with Backend::PDLITE in Device::CPU. [I 3/16 21:23:56. 81 ..._android/Paddle-Lite/lite/api/cxx_api.cc:371 Build] Load model from file. [I 3/16 21:23:56. 81 ...e-Lite/lite/model_parser/model_parser.cc:241 LoadModelPb] Loading topology data from paddle_ch_PP-OCRv3/./ch_PP-OCRv3_rec_infer/inference.pdmodel [I 3/16 21:23:56.104 ...e-Lite/lite/model_parser/model_parser.cc:259 LoadModelPb] Loading params data from paddle_ch_PP-OCRv3/./ch_PP-OCRv3_rec_infer/inference.pdiparams [I 3/16 21:23:56.112 ...e-Lite/lite/model_parser/model_parser.cc:269 LoadModelPb] 1. Model is successfully loaded! [I 3/16 21:23:56.136 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_quant_dequant_fuse_pass [I 3/16 21:23:56.144 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_quant_dequant_fuse_pass [I 3/16 21:23:56.144 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: weight_quantization_preprocess_pass [I 3/16 21:23:56.144 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: weight_quantization_preprocess_pass [I 3/16 21:23:56.145 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: op_transformation_pass [I 3/16 21:23:56.145 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: op_transformation_pass [I 3/16 21:23:56.145 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: assign_value_calc_offline_pass [I 3/16 21:23:56.145 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip assign_value_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:56.145 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: p_norm_fill_constant_max_div_fuse_pass [I 3/16 21:23:56.145 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip p_norm_fill_constant_max_div_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.145 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: fill_constant_calc_offline_pass [I 3/16 21:23:56.146 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip fill_constant_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:56.146 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: range_calc_offline_pass [I 3/16 21:23:56.146 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip range_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:56.146 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: scale_calc_offline_pass [I 3/16 21:23:56.146 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip scale_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:56.146 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: unsqueeze_calc_offline_pass [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: unsqueeze_calc_offline_pass [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: reshape_calc_offline_pass [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip reshape_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: ssd_boxes_calc_offline_pass [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip ssd_boxes_calc_offline_pass because the target or kernel does not match. [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: op_fusion_minimal_set_pass [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip op_fusion_minimal_set_pass because the target or kernel does not match. [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: quantization_parameters_propagation_pass [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip quantization_parameters_propagation_pass because the target or kernel does not match. [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: quantization_parameters_removal_pass [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip quantization_parameters_removal_pass because the target or kernel does not match. [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: nnadapter_subgraph_pass [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip nnadapter_subgraph_pass because the target or kernel does not match. [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: remove_scale1_pass [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip remove_scale1_pass because the target or kernel does not match. [I 3/16 21:23:56.147 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: adaptive_1x1_pool2d_convert_global_pass [I 3/16 21:23:56.148 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: adaptive_1x1_pool2d_convert_global_pass [I 3/16 21:23:56.148 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_unsqueeze2_pad3d_squeeze2_fuse_pass [I 3/16 21:23:56.148 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_unsqueeze2_pad3d_squeeze2_fuse_pass [I 3/16 21:23:56.148 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_elementwise_fuse_pass [I 3/16 21:23:56.151 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 4 subgraph [I 3/16 21:23:56.153 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_elementwise_fuse_pass [I 3/16 21:23:56.153 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_bn_fuse_pass [I 3/16 21:23:56.180 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 19 subgraph [I 3/16 21:23:56.193 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 13 subgraph [I 3/16 21:23:56.197 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_bn_fuse_pass [I 3/16 21:23:56.197 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_elementwise_fuse_pass [I 3/16 21:23:56.201 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_elementwise_fuse_pass [I 3/16 21:23:56.201 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_conv_fuse_pass [I 3/16 21:23:56.201 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_conv_fuse_pass [I 3/16 21:23:56.201 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_sigmoid_elementmul_fuse_pass [I 3/16 21:23:56.201 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_sigmoid_elementmul_fuse_pass [I 3/16 21:23:56.201 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_activation_fuse_pass [I 3/16 21:23:56.202 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 2 subgraph [I 3/16 21:23:56.209 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 14 subgraph [I 3/16 21:23:56.215 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_activation_fuse_pass [I 3/16 21:23:56.215 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_squeeze2_matmul_fuse_pass [I 3/16 21:23:56.215 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_squeeze2_matmul_fuse_pass [I 3/16 21:23:56.215 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_reshape2_matmul_fuse_pass [I 3/16 21:23:56.216 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_reshape2_matmul_fuse_pass [I 3/16 21:23:56.216 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_matmul_element_add_fuse_pass [I 3/16 21:23:56.216 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_matmul_element_add_fuse_pass [I 3/16 21:23:56.216 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_matmul_fuse_pass [I 3/16 21:23:56.216 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_matmul_fuse_pass [I 3/16 21:23:56.216 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_fc_fuse_pass [I 3/16 21:23:56.230 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 9 subgraph [I 3/16 21:23:56.231 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_fc_fuse_pass [I 3/16 21:23:56.231 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_shuffle_channel_fuse_pass [I 3/16 21:23:56.232 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_shuffle_channel_fuse_pass [I 3/16 21:23:56.232 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_transpose_softmax_transpose_fuse_pass [I 3/16 21:23:56.233 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_transpose_softmax_transpose_fuse_pass [I 3/16 21:23:56.233 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_interpolate_fuse_pass [I 3/16 21:23:56.234 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_interpolate_fuse_pass [I 3/16 21:23:56.234 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: identity_scale_eliminate_pass [I 3/16 21:23:56.234 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: identity_scale_eliminate_pass [I 3/16 21:23:56.234 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_scales_fuse_pass [I 3/16 21:23:56.235 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_scales_fuse_pass [I 3/16 21:23:56.235 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: elementwise_mul_constant_eliminate_pass [I 3/16 21:23:56.235 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: elementwise_mul_constant_eliminate_pass [I 3/16 21:23:56.235 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_scale_activation_fuse_pass [I 3/16 21:23:56.236 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_scale_activation_fuse_pass [I 3/16 21:23:56.236 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_scaleacts_fuse_pass [I 3/16 21:23:56.236 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_scaleacts_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.236 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_elementwise_scale_fuse_pass [I 3/16 21:23:56.236 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_elementwise_scale_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.236 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_instance_norm_activation_fuse_pass [I 3/16 21:23:56.236 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_instance_norm_activation_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.236 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_flatten_fc_fuse_pass [I 3/16 21:23:56.237 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_flatten_fc_fuse_pass [I 3/16 21:23:56.237 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_fc_prelu_fuse_pass [I 3/16 21:23:56.237 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_fc_prelu_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.237 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_elementwise_activation_fuse_pass [I 3/16 21:23:56.238 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_elementwise_activation_fuse_pass [I 3/16 21:23:56.238 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_scale_fuse_pass [I 3/16 21:23:56.238 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_conv_scale_fuse_pass [I 3/16 21:23:56.238 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_conv_elementwise_tree_fuse_pass [I 3/16 21:23:56.238 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_conv_elementwise_tree_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.238 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_greater_than_cast_fuse_pass [I 3/16 21:23:56.238 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip lite_greater_than_cast_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.238 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: identity_dropout_eliminate_pass [I 3/16 21:23:56.239 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 8 subgraph [I 3/16 21:23:56.240 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: identity_dropout_eliminate_pass [I 3/16 21:23:56.240 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: sparse_conv_detect_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: sparse_conv_detect_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumax_pooling_pad_zero_detect_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumax_pooling_pad_zero_detect_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpugraph_dedup_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpugraph_dedup_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuresnet_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuresnet_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuconv2d_affine_channel_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuconv2d_affine_channel_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuconv2d_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuconv2d_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpusqueeze_excitation_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpusqueeze_excitation_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpummdnn_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpummdnn_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpubigru_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpubigru_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuroformer_relative_pos_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuroformer_relative_pos_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuquick_gelu_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuquick_gelu_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumulti_encoder_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumulti_encoder_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuembedding_with_eltwise_add_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuembedding_with_eltwise_add_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpufc_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpufc_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpusoftmax_topk_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpusoftmax_topk_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumulti_encoder_adaptive_seqlen_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumulti_encoder_adaptive_seqlen_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumulti_encoder_adaptive_seqlen_v2_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumulti_encoder_adaptive_seqlen_v2_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumulti_encoder_slice_link_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumulti_encoder_slice_link_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpugenerate_sequence_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpugenerate_sequence_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpulogit_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpulogit_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpulink_previous_out_max_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpulink_previous_out_max_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: fix_mismatched_precision_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip fix_mismatched_precision_pass because the target or kernel does not match. [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpudynamic_lstm_fuse_pass [I 3/16 21:23:56.243 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpudynamic_lstm_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.244 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpumulti_softmax_fuse_pass [I 3/16 21:23:56.244 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpumulti_softmax_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.244 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpuconv2d_transpose_fuse_pass [I 3/16 21:23:56.244 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpuconv2d_transpose_fuse_pass because the target or kernel does not match. [I 3/16 21:23:56.244 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: static_kernel_pick_pass [I 3/16 21:23:56.280 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: static_kernel_pick_pass [I 3/16 21:23:56.280 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpustatic_kernel_pick_pass [I 3/16 21:23:56.280 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpustatic_kernel_pick_pass because the target or kernel does not match. [I 3/16 21:23:56.280 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: opencl_memory_object_config_pass [I 3/16 21:23:56.280 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip opencl_memory_object_config_pass because the target or kernel does not match. [I 3/16 21:23:56.280 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: remove_tf_redundant_ops_pass [I 3/16 21:23:56.295 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: remove_tf_redundant_ops_pass [I 3/16 21:23:56.295 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: variable_place_inference_pass [I 3/16 21:23:56.300 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: variable_place_inference_pass [I 3/16 21:23:56.300 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: control_flow_op_shared_inputs_and_outputs_place_sync_pass [I 3/16 21:23:56.300 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip control_flow_op_shared_inputs_and_outputs_place_sync_pass because the target or kernel does not match. [I 3/16 21:23:56.300 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: opencl_kernel_place_correct_pass [I 3/16 21:23:56.300 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip opencl_kernel_place_correct_pass because the target or kernel does not match. [I 3/16 21:23:56.300 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:56.301 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:56.301 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: type_target_cast_pass [I 3/16 21:23:56.302 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: type_target_cast_pass [I 3/16 21:23:56.302 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: variable_place_inference_pass [I 3/16 21:23:56.307 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: variable_place_inference_pass [I 3/16 21:23:56.307 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: control_flow_op_shared_inputs_and_outputs_place_sync_pass [I 3/16 21:23:56.307 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip control_flow_op_shared_inputs_and_outputs_place_sync_pass because the target or kernel does not match. [I 3/16 21:23:56.307 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:56.308 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:56.308 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: io_copy_kernel_pick_pass [I 3/16 21:23:56.308 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip io_copy_kernel_pick_pass because the target or kernel does not match. [I 3/16 21:23:56.308 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:56.308 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:56.308 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: variable_place_inference_pass [I 3/16 21:23:56.313 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: variable_place_inference_pass [I 3/16 21:23:56.313 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: control_flow_op_shared_inputs_and_outputs_place_sync_pass [I 3/16 21:23:56.313 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip control_flow_op_shared_inputs_and_outputs_place_sync_pass because the target or kernel does not match. [I 3/16 21:23:56.313 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:56.314 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:56.314 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: type_precision_cast_pass [I 3/16 21:23:56.316 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: type_precision_cast_pass [I 3/16 21:23:56.316 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: variable_place_inference_pass [I 3/16 21:23:56.321 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: variable_place_inference_pass [I 3/16 21:23:56.321 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: control_flow_op_shared_inputs_and_outputs_place_sync_pass [I 3/16 21:23:56.321 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip control_flow_op_shared_inputs_and_outputs_place_sync_pass because the target or kernel does not match. [I 3/16 21:23:56.321 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:56.321 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:56.321 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: type_layout_cast_pass [I 3/16 21:23:56.336 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: type_layout_cast_pass [I 3/16 21:23:56.336 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:56.337 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:56.337 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: variable_place_inference_pass [I 3/16 21:23:56.342 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: variable_place_inference_pass [I 3/16 21:23:56.342 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: control_flow_op_shared_inputs_and_outputs_place_sync_pass [I 3/16 21:23:56.342 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip control_flow_op_shared_inputs_and_outputs_place_sync_pass because the target or kernel does not match. [I 3/16 21:23:56.342 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:56.342 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:56.342 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: runtime_context_assign_pass [I 3/16 21:23:56.342 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: runtime_context_assign_pass [I 3/16 21:23:56.342 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: argument_type_display_pass [I 3/16 21:23:56.342 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: argument_type_display_pass [I 3/16 21:23:56.342 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: lite_inplace_fuse_pass [I 3/16 21:23:56.343 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 5 subgraph [I 3/16 21:23:56.343 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 1 subgraph [I 3/16 21:23:56.343 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: lite_inplace_fuse_pass [I 3/16 21:23:56.343 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: memory_optimize_pass [I 3/16 21:23:56.347 ...re/optimizer/mir/memory_optimize_pass.cc:203 CollectLifeCycleByDevice] There are 1 types device var. [I 3/16 21:23:56.348 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: batch_norm_27.tmp_4 [I 3/16 21:23:56.348 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: batch_norm_28.tmp_3 [I 3/16 21:23:56.348 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: elementwise_mul_2 [I 3/16 21:23:56.348 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: hardsigmoid_2.tmp_0 [I 3/16 21:23:56.348 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: tmp_10 [I 3/16 21:23:56.348 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: tmp_8 [I 3/16 21:23:56.348 ...re/optimizer/mir/memory_optimize_pass.cc:252 MakeReusePlan] cluster: transpose_14.tmp_0 [I 3/16 21:23:56.392 ...le-Lite/lite/core/optimizer/optimizer.cc:119 ApplyPasses] == Finished running: memory_optimize_pass [I 3/16 21:23:56.392 ...le-Lite/lite/core/optimizer/optimizer.cc:99 ApplyPasses] == Running pass: xpu_memory_optimize_pass [I 3/16 21:23:56.392 ...le-Lite/lite/core/optimizer/optimizer.cc:107 ApplyPasses] - Skip xpu_memory_optimize_pass because the target or kernel does not match. [I 3/16 21:23:56.399 ...re/optimizer/mir/generate_program_pass.h:41 GenProgram] insts.size: 1 [FastDeploy][INFO] fastdeploy/runtime/runtime.cc(370)::CreateLiteBackend Runtime initialized with Backend::PDLITE in Device::CPU.

shenmayufei commented 1 year ago

使用PPOCR仓库里的c++代码在android端推理没有问题,使用fastdeploy 库里面的paddlite 库推理却出现问题,自己使用fastdeploy 编译最新fastploy库,也是类似的问题。 FILE: /tmp/tmp.j2qcusqQcB/src/app/edge_engine_sdk.cpp, LINE: 233: orc recognize

FILE: /tmp/tmp.j2qcusqQcB/src/app/ocr_recognize.cpp, LINE: 497: PADDLE LITE INIT [I 3/16 22: 9:57.752 ...oid/Paddle-Lite/lite/core/device_info.cc:1275 Setup] ARM multiprocessors name: MODEL NAME : ARMV8 PROCESSOR REV 12 (V8L) HARDWARE : QUALCOMM TECHNOLOGIES, INC SDM845 _SDM845SDM845 [I 3/16 22: 9:57.752 ...oid/Paddle-Lite/lite/core/device_info.cc:1276 Setup] ARM multiprocessors number: 8 [I 3/16 22: 9:57.752 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 0, max freq: 1766, min freq: 1766, cluster ID: 1, CPU ARCH: A55 [I 3/16 22: 9:57.752 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 1, max freq: 1766, min freq: 1766, cluster ID: 1, CPU ARCH: A55 [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 2, max freq: 1766, min freq: 1766, cluster ID: 1, CPU ARCH: A55 [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 3, max freq: 1766, min freq: 1766, cluster ID: 1, CPU ARCH: A55 [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 4, max freq: 2803, min freq: 2803, cluster ID: 0, CPU ARCH: A75 [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 5, max freq: 2803, min freq: 2803, cluster ID: 0, CPU ARCH: A75 [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 6, max freq: 2803, min freq: 2803, cluster ID: 0, CPU ARCH: A75 [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 7, max freq: 2803, min freq: 2803, cluster ID: 0, CPU ARCH: A75 [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1284 Setup] L1 DataCache size is: [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 32 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 32 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 32 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 32 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 64 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 64 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 64 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 64 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1288 Setup] L2 Cache size is: [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 128 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 128 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 128 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 128 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 256 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 256 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 256 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 256 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1292 Setup] L3 Cache size is: [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 2048 KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1296 Setup] Total memory: 5765016KB [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1297 Setup] SVE2 support: 0 [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1298 Setup] SVE2 f32mm support: 0 [I 3/16 22: 9:57.753 ...oid/Paddle-Lite/lite/core/device_info.cc:1299 Setup] SVE2 i8mm support: 0 [W 3/16 22: 9:57.754 ...e-Lite/lite/model_parser/model_parser.cc:854 LoadModelFbsFromFile] warning: the version of opt that transformed this model is not consistent with current Paddle-Lite version. version of opt:4310229 version of current Paddle-Lite:43102294a [W 3/16 22: 9:57.769 ...e-Lite/lite/model_parser/model_parser.cc:854 LoadModelFbsFromFile] warning: the version of opt that transformed this model is not consistent with current Paddle-Lite version. version of opt:4310229 version of current Paddle-Lite:43102294a [W 3/16 22: 9:57.789 ...e-Lite/lite/model_parser/model_parser.cc:854 LoadModelFbsFromFile] warning: the version of opt that transformed this model is not consistent with current Paddle-Lite version. version of opt:4310229 version of current Paddle-Lite:43102294a FILE: /tmp/tmp.j2qcusqQcB/src/app/ocr_recognize.cpp, LINE: 508: PADDLE LITE INIT finish

hello world [0 / 1 ]lite_demo.png FILE: /tmp/tmp.j2qcusqQcB/examples/test_sdk.cpp, LINE: 344: the input image h:274, w:442

app for ocr recognize FILE: /tmp/tmp.j2qcusqQcB/src/app/ocr_recognize.cpp, LINE: 542: PADDLE LITE begin recognize

Segmentation fault