PaddlePaddle / Paddle-Lite

PaddlePaddle High Performance Deep Learning Inference Engine for Mobile and Edge (飞桨高性能深度学习端侧推理引擎)
https://www.paddlepaddle.org.cn/lite
Apache License 2.0
6.9k stars 1.6k forks source link

There is no precompiled OpenCL binary #8586

Closed Zhang-O closed 5 months ago

Zhang-O commented 2 years ago

sm6150:/data/user/debug-opencl # ./ocr_db_crnn detect_opt.nb rec_opt.nb ./11.jpg ../debug/ppocr_keys_v1.txt [I 3/ 7 15:37:17.189 ...te-release-v2.9/lite/core/device_info.cc:1097 Setup] ARM multiprocessors name: HARDWARE : QUALCOMM TECHNOLOGIES, INC SDMMAGPIEP _SM6150SM6150 [I 3/ 7 15:37:17.189 ...te-release-v2.9/lite/core/device_info.cc:1098 Setup] ARM multiprocessors number: 8 [I 3/ 7 15:37:17.189 ...te-release-v2.9/lite/core/device_info.cc:1100 Setup] ARM multiprocessors ID: 0, max freq: 1804, min freq: 1804, cluster ID: 1, CPU ARCH: A55 [I 3/ 7 15:37:17.189 ...te-release-v2.9/lite/core/device_info.cc:1100 Setup] ARM multiprocessors ID: 1, max freq: 1804, min freq: 1804, cluster ID: 1, CPU ARCH: A55 [I 3/ 7 15:37:17.189 ...te-release-v2.9/lite/core/device_info.cc:1100 Setup] ARM multiprocessors ID: 2, max freq: 1804, min freq: 1804, cluster ID: 1, CPU ARCH: A55 [I 3/ 7 15:37:17.189 ...te-release-v2.9/lite/core/device_info.cc:1100 Setup] ARM multiprocessors ID: 3, max freq: 1804, min freq: 1804, cluster ID: 1, CPU ARCH: A55 [I 3/ 7 15:37:17.189 ...te-release-v2.9/lite/core/device_info.cc:1100 Setup] ARM multiprocessors ID: 4, max freq: 1804, min freq: 1804, cluster ID: 1, CPU ARCH: A55 [I 3/ 7 15:37:17.189 ...te-release-v2.9/lite/core/device_info.cc:1100 Setup] ARM multiprocessors ID: 5, max freq: 1804, min freq: 1804, cluster ID: 1, CPU ARCH: A55 [I 3/ 7 15:37:17.189 ...te-release-v2.9/lite/core/device_info.cc:1100 Setup] ARM multiprocessors ID: 6, max freq: 2208, min freq: 2208, cluster ID: 0, CPU ARCH: A76 [I 3/ 7 15:37:17.189 ...te-release-v2.9/lite/core/device_info.cc:1100 Setup] ARM multiprocessors ID: 7, max freq: 2208, min freq: 2208, cluster ID: 0, CPU ARCH: A76 [I 3/ 7 15:37:17.189 ...te-release-v2.9/lite/core/device_info.cc:1106 Setup] L1 DataCache size is: [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1108 Setup] 32 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1108 Setup] 32 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1108 Setup] 32 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1108 Setup] 32 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1108 Setup] 32 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1108 Setup] 32 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1108 Setup] 32 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1108 Setup] 32 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1110 Setup] L2 Cache size is: [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1112 Setup] 512 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1112 Setup] 512 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1112 Setup] 512 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1112 Setup] 512 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1112 Setup] 512 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1112 Setup] 512 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1112 Setup] 512 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1112 Setup] 512 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1114 Setup] L3 Cache size is: [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1116 Setup] 0 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1116 Setup] 0 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1116 Setup] 0 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1116 Setup] 0 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1116 Setup] 0 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1116 Setup] 0 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1116 Setup] 0 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1116 Setup] 0 KB [I 3/ 7 15:37:17.190 ...te-release-v2.9/lite/core/device_info.cc:1118 Setup] Total memory: 5828056KB [I 3/ 7 15:37:17.193 ...Lite-release-v2.9/lite/api/paddle_api.cc:46 IsOpenCLBackendValid] check_fp16_valid:0 [I 3/ 7 15:37:17.196 ...Lite-release-v2.9/lite/api/paddle_api.cc:53 IsOpenCLBackendValid] opencl_lib_found:1 [I 3/ 7 15:37:17.196 ...Lite-release-v2.9/lite/api/paddle_api.cc:59 IsOpenCLBackendValid] dlsym_success:1 [I 3/ 7 15:37:17.196 ...-v2.9/lite/backends/opencl/cl_runtime.cc:62 Init] opencl_lib_found:1 [I 3/ 7 15:37:17.196 ...-v2.9/lite/backends/opencl/cl_runtime.cc:70 Init] dlsym_success:1 [I 3/ 7 15:37:17.216 ...-v2.9/lite/backends/opencl/cl_runtime.cc:514 InitializePlatform] Platform extension: [I 3/ 7 15:37:17.216 ...-v2.9/lite/backends/opencl/cl_runtime.cc:78 Init] is_platform_init:1 [I 3/ 7 15:37:17.218 ...-v2.9/lite/backends/opencl/cl_runtime.cc:596 InitializeDevice] Using device: QUALCOMM Adreno(TM) [I 3/ 7 15:37:17.218 ...-v2.9/lite/backends/opencl/cl_runtime.cc:622 InitializeDevice] CL_DEVICE_VERSION:OpenCL 2.0 Adreno(TM) 618 [I 3/ 7 15:37:17.218 ...-v2.9/lite/backends/opencl/cl_runtime.cc:629 InitializeDevice] device_type:GPU [I 3/ 7 15:37:17.219 ...-v2.9/lite/backends/opencl/cl_runtime.cc:633 InitializeDevice] The chosen device has 1 compute units. [I 3/ 7 15:37:17.219 ...-v2.9/lite/backends/opencl/cl_runtime.cc:637 InitializeDevice] CL_DEVICE_MAX_CLOCK_FREQUENCY:1 [I 3/ 7 15:37:17.219 ...-v2.9/lite/backends/opencl/cl_runtime.cc:647 InitializeDevice] The local memory size of the chosen device is 32.000000 KB. [I 3/ 7 15:37:17.219 ...-v2.9/lite/backends/opencl/cl_runtime.cc:654 InitializeDevice] CL_DEVICE_GLOBAL_MEM_CACHE_SIZE(KB):64.000000 KB. [I 3/ 7 15:37:17.219 ...-v2.9/lite/backends/opencl/cl_runtime.cc:662 InitializeDevice] CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE(KB):0.062500 KB. [I 3/ 7 15:37:17.219 ...-v2.9/lite/backends/opencl/cl_runtime.cc:669 InitializeDevice] CL_DEVICE_GLOBAL_MEM_SIZE(KB):2914028.000000 KB. [I 3/ 7 15:37:17.219 ...-v2.9/lite/backends/opencl/cl_runtime.cc:677 InitializeDevice] CL_DEVICE_MAX_WORK_GROUP_SIZE:1024 [I 3/ 7 15:37:17.219 ...-v2.9/lite/backends/opencl/cl_runtime.cc:681 InitializeDevice] CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS:3

[I 3/ 7 15:37:17.219 ...-v2.9/lite/backends/opencl/cl_runtime.cc:697 InitializeDevice] CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE:64.000000 [I 3/ 7 15:37:17.219 ...-v2.9/lite/backends/opencl/cl_runtime.cc:708 InitializeDevice] The chosen device supports image processing. [I 3/ 7 15:37:17.219 ...-v2.9/lite/backends/opencl/cl_runtime.cc:712 InitializeDevice] CL_DEVICE_IMAGE2D_MAX_HEIGHT:16384 [I 3/ 7 15:37:17.219 ...-v2.9/lite/backends/opencl/cl_runtime.cc:716 InitializeDevice] CL_DEVICE_IMAGE2D_MAX_WIDTH:16384 [I 3/ 7 15:37:17.219 ...-v2.9/lite/backends/opencl/cl_runtime.cc:730 InitializeDevice] The chosen device supports the half data type. [I 3/ 7 15:37:17.219 ...-v2.9/lite/backends/opencl/cl_runtime.cc:738 InitializeDevice] CL_DEVICE_ADDRESS_BITS:64 [I 3/ 7 15:37:17.225 ...-v2.9/lite/backends/opencl/cl_runtime.cc:742 InitializeDevice] CL_DRIVER_VERSION:OpenCL 2.0 QUALCOMM build: commit #bf62c0f changeid #Icd6dafdcc2 Date: 12/09/20 Wed Local Branch: Remote Branch: Compiler E031.37.12.03 [I 3/ 7 15:37:17.225 ...-v2.9/lite/backends/opencl/cl_runtime.cc:86 Init] is_device_init:1 [I 3/ 7 15:37:17.225 ...-v2.9/lite/backends/opencl/cl_runtime.cc:782 GetAdrenoContextProperties] GPUPerfMode::PERF_HIGH [I 3/ 7 15:37:17.225 ...-v2.9/lite/backends/opencl/cl_runtime.cc:801 GetAdrenoContextProperties] GPUPriorityLevel::PRIORITY_HIGH [I 3/ 7 15:37:17.228 ...-v2.9/lite/backends/opencl/cl_runtime.cc:98 Init] set is_cl_runtimeinitialized = true [I 3/ 7 15:37:17.228 ...e-v2.9/lite/backends/opencl/cl_runtime.h:92 OpenCLAvaliableForDevice] check_fp16_valid:0 [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:66 IsOpenCLBackendValid] opencl_valid:1 is_opencl_backend_valid:true [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:46 IsOpenCLBackendValid] check_fp16_valid:0 [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:53 IsOpenCLBackendValid] opencl_lib_found:1 [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:59 IsOpenCLBackendValid] dlsym_success:1 [I 3/ 7 15:37:17.229 ...e-v2.9/lite/backends/opencl/cl_runtime.h:92 OpenCLAvaliableForDevice] check_fp16_valid:0 [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:66 IsOpenCLBackendValid] opencl_valid:1 [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:297 set_opencl_binary_path_name] opencl binary path and file name:/data/user/debug-opencl/detect_opt.nb.lite_opencl_kernel.bin [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:46 IsOpenCLBackendValid] check_fp16_valid:0 [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:53 IsOpenCLBackendValid] opencl_lib_found:1 [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:59 IsOpenCLBackendValid] dlsym_success:1 [I 3/ 7 15:37:17.229 ...e-v2.9/lite/backends/opencl/cl_runtime.h:92 OpenCLAvaliableForDevice] check_fp16_valid:0 [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:66 IsOpenCLBackendValid] opencl_valid:1 [I 3/ 7 15:37:17.229 ...-v2.9/lite/backends/opencl/cl_runtime.cc:836 set_auto_tune] tuned_file:/data/user/debug-opencl/detect_opt.nb.lite_opencl_tuned.bin [I 3/ 7 15:37:17.229 ...-v2.9/lite/backends/opencl/cl_runtime.cc:845 set_auto_tune] Not found tuned file:/data/user/debug-opencl/detect_opt.nb.lite_opencl_tuned.bin [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:315 set_opencl_tune] set opencl_tune_mode: CL_TUNE_NORMAL, lws_repeats:4 [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:318 set_opencl_tune] tuned file path & name:/data/user/debug-opencl/detect_opt.nb.lite_opencl_tuned.bin [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:46 IsOpenCLBackendValid] check_fp16_valid:0 [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:53 IsOpenCLBackendValid] opencl_lib_found:1 [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:59 IsOpenCLBackendValid] dlsym_success:1 [I 3/ 7 15:37:17.229 ...e-v2.9/lite/backends/opencl/cl_runtime.h:92 OpenCLAvaliableForDevice] check_fp16_valid:0 [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:66 IsOpenCLBackendValid] opencl_valid:1 [I 3/ 7 15:37:17.229 ...Lite-release-v2.9/lite/api/paddle_api.cc:330 set_opencl_precision] set opencl precision: CL_PRECISION_FP32 [W 3/ 7 15:37:17.230 ...e-v2.9/lite/model_parser/model_parser.cc:878 LoadModelFbsFromFile] warning: the version of opt that transformed this model is not consistent with current Paddle-Lite version. version of opt:v2.9 version of current Paddle-Lite: [I 3/ 7 15:37:17.235 ...e-v2.9/lite/backends/opencl/cl_runtime.h:92 OpenCLAvaliableForDevice] check_fp16_valid:0 [I 3/ 7 15:37:17.238 ...Lite-release-v2.9/lite/api/paddle_api.cc:46 IsOpenCLBackendValid] check_fp16_valid:0 [I 3/ 7 15:37:17.238 ...Lite-release-v2.9/lite/api/paddle_api.cc:53 IsOpenCLBackendValid] opencl_lib_found:1 [I 3/ 7 15:37:17.238 ...Lite-release-v2.9/lite/api/paddle_api.cc:59 IsOpenCLBackendValid] dlsym_success:1 [I 3/ 7 15:37:17.238 ...e-v2.9/lite/backends/opencl/cl_runtime.h:92 OpenCLAvaliableForDevice] check_fp16_valid:0 [I 3/ 7 15:37:17.238 ...Lite-release-v2.9/lite/api/paddle_api.cc:66 IsOpenCLBackendValid] opencl_valid:1 is_opencl_backend_valid:true [I 3/ 7 15:37:17.238 ...Lite-release-v2.9/lite/api/paddle_api.cc:46 IsOpenCLBackendValid] check_fp16_valid:0 [I 3/ 7 15:37:17.238 ...Lite-release-v2.9/lite/api/paddle_api.cc:53 IsOpenCLBackendValid] opencl_lib_found:1 [I 3/ 7 15:37:17.238 ...Lite-release-v2.9/lite/api/paddle_api.cc:59 IsOpenCLBackendValid] dlsym_success:1 [I 3/ 7 15:37:17.238 ...e-v2.9/lite/backends/opencl/cl_runtime.h:92 OpenCLAvaliableForDevice] check_fp16_valid:0 [I 3/ 7 15:37:17.238 ...Lite-release-v2.9/lite/api/paddle_api.cc:66 IsOpenCLBackendValid] opencl_valid:1 [I 3/ 7 15:37:17.238 ...Lite-release-v2.9/lite/api/paddle_api.cc:297 set_opencl_binary_path_name] opencl binary path and file name:/data/user/debug-opencl/rec_opt.nb.lite_opencl_kernel.bin [I 3/ 7 15:37:17.238 ...Lite-release-v2.9/lite/api/paddle_api.cc:46 IsOpenCLBackendValid] check_fp16_valid:0 [I 3/ 7 15:37:17.238 ...Lite-release-v2.9/lite/api/paddle_api.cc:53 IsOpenCLBackendValid] opencl_lib_found:1 [I 3/ 7 15:37:17.238 ...Lite-release-v2.9/lite/api/paddle_api.cc:59 IsOpenCLBackendValid] dlsym_success:1 [I 3/ 7 15:37:17.238 ...e-v2.9/lite/backends/opencl/cl_runtime.h:92 OpenCLAvaliableForDevice] check_fp16_valid:0 [I 3/ 7 15:37:17.238 ...Lite-release-v2.9/lite/api/paddle_api.cc:66 IsOpenCLBackendValid] opencl_valid:1 [I 3/ 7 15:37:17.238 ...-v2.9/lite/backends/opencl/cl_runtime.cc:836 set_auto_tune] tuned_file:/data/user/debug-opencl/rec_opt.nb.lite_opencl_tuned.bin [I 3/ 7 15:37:17.238 ...-v2.9/lite/backends/opencl/cl_runtime.cc:845 set_auto_tune] Not found tuned file:/data/user/debug-opencl/rec_opt.nb.lite_opencl_tuned.bin [I 3/ 7 15:37:17.238 ...Lite-release-v2.9/lite/api/paddle_api.cc:315 set_opencl_tune] set opencl_tune_mode: CL_TUNE_NORMAL, lws_repeats:4 [I 3/ 7 15:37:17.239 ...Lite-release-v2.9/lite/api/paddle_api.cc:318 set_opencl_tune] tuned file path & name:/data/user/debug-opencl/rec_opt.nb.lite_opencl_tuned.bin [I 3/ 7 15:37:17.239 ...Lite-release-v2.9/lite/api/paddle_api.cc:46 IsOpenCLBackendValid] check_fp16_valid:0 [I 3/ 7 15:37:17.239 ...Lite-release-v2.9/lite/api/paddle_api.cc:53 IsOpenCLBackendValid] opencl_lib_found:1 [I 3/ 7 15:37:17.239 ...Lite-release-v2.9/lite/api/paddle_api.cc:59 IsOpenCLBackendValid] dlsym_success:1 [I 3/ 7 15:37:17.239 ...e-v2.9/lite/backends/opencl/cl_runtime.h:92 OpenCLAvaliableForDevice] check_fp16_valid:0 [I 3/ 7 15:37:17.239 ...Lite-release-v2.9/lite/api/paddle_api.cc:66 IsOpenCLBackendValid] opencl_valid:1 [I 3/ 7 15:37:17.239 ...Lite-release-v2.9/lite/api/paddle_api.cc:330 set_opencl_precision] set opencl precision: CL_PRECISION_FP32 [W 3/ 7 15:37:17.239 ...e-v2.9/lite/model_parser/model_parser.cc:878 LoadModelFbsFromFile] warning: the version of opt that transformed this model is not consistent with current Paddle-Lite version. version of opt:v2.9 version of current Paddle-Lite: [I 3/ 7 15:37:17.254 ...e-v2.9/lite/backends/opencl/cl_runtime.h:92 OpenCLAvaliableForDevice] check_fp16_valid:0 [W 3/ 7 15:37:17.280 ...-v2.9/lite/backends/opencl/cl_runtime.cc:209 CheckFromPrecompiledBinary] There is no precompiled OpenCL binary[/data/user/debug-opencl/rec_opt.nb.lite_opencl_kernel.bin] in the given OpenCL binary path. Also please make sure the storage directory exist and you have Write&Read permission. Jump to build program from source.

[I 3/ 7 15:39: 4.239 ...s/opencl/conv_transpose_image_compute.cc:204 ReInitWhenNeeded] is_first_epoch_forrun:1, last_inputdims:{}, x_dims:{1,24,112,112} [I 3/ 7 15:39: 4.302 ...s/opencl/conv_transpose_image_compute.cc:204 ReInitWhenNeeded] is_first_epoch_forrun:1, last_inputdims:{}, x_dims:{1,24,224,224} Segmentation fault

################################################################################################### 使用 opencl 好像没有生成 opencl binary file。

[I 3/ 7 15:37:17.238 ...-v2.9/lite/backends/opencl/cl_runtime.cc:845 set_auto_tune] Not found tuned file:/data/user/debug-opencl/rec_opt.nb.lite_opencl_tuned.bin [I 3/ 7 15:37:17.238 ...Lite-release-v2.9/lite/api/paddle_api.cc:315 set_opencl_tune] set opencl_tune_mode: CL_TUNE_NORMAL, lws_repeats:4 [I 3/ 7 15:37:17.239 ...Lite-release-v2.9/lite/api/paddle_api.cc:318 set_opencl_tune] tuned file path & name:/data/user/debug-opencl/rec_opt.nb.lite_opencl_tuned.bin

issues 里面好像没有人遇到过这个问题,大家能帮忙看看吗?

paddle-bot-old[bot] commented 2 years ago

您好,我们已经收到了您的问题,会安排技术人员尽快解答您的问题,请耐心等待。请您再次检查是否提供了清晰的问题描述、复现代码、环境&版本、报错信息等。同时,您也可以通过查看官网文档常见问题历史Issue来寻求解答。祝您生活愉快~

Hi! We've received your issue and please be patient to get responded. We will arrange technicians to answer your questions as soon as possible. Please make sure that you have posted enough message to demo your request. You may also check out the APIFAQ and Github Issue to get the answer.Have a nice day!

zhaoyang-star commented 2 years ago

1、从log看你已经打开了 opencl binary 开关,那么在首次运行时,会在线编译模型所需要的.cl文件,在整个程序执行结束(执行析构函数时)前,才会生成 binary file 的。由于如上是在运行过程中出现错误退出了,因此并不会生成 binary file。 2、PaddleLite OpenCL 只支持 fp32 模型作为输入,如果是量化模型,那运行会报错的。 3、我们本地也验证下OCR这个demo是否可用OpenCL运行,有结果后在此同步。

Zhang-O commented 2 years ago

感谢回复,我这边应该没有用 OPT 进行量化。 模型是ppocr_v2 的官方模型,从github上下载的,opt 优化代码:

# 引用Paddlelite预测库
from paddlelite.lite import *

# 1. 创建opt实例
opt=Opt()
print(opt.version())
# 2. 指定输入模型地址
# opt.set_model_dir("./cls")
opt.set_model_file("./temp/rec/inference.pdmodel")
opt.set_param_file("./temp/rec/inference.pdiparams")

# opt.set_quant_model(True)
# opt.set_quant_type("QUANT_INT8")

# 3. 指定转化类型: arm、x86、opencl、npu
opt.set_valid_places("opencl,arm")
# 4. 指定模型转化类型: naive_buffer、protobuf
opt.set_model_type("naive_buffer")
# 4. 输出模型地址
opt.set_optimize_out("rec_opt_opencl")
# 5. 执行模型优化
opt.run()

您觉得我的问题可能出在哪方面呢? 期待您的验证结果!!!

zhaoyang-star commented 2 years ago

1、您使用的 detect_opt.nb rec_opt.nb 这两个 .nb 模型是如何获取到的?需要说明的是PaddleOCR官方提供的 .nb 只能跑在CPU上,官方文档中并没有提及在GPU上运行的说明。 2、您可以提供如上2个模型对应的Paddle格式模型下载链接吗?我本地复现下。 3、请提供下您运行的设备详细型号,从log看是高通芯片。

Zhang-O commented 2 years ago

我从 https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.4 下面的模型表格中下载第二行的 Chinese and English ultra-lightweight PP-OCR model (9.4M) 的 inference model (下载了检测和识别),然后转化为detect_opt.nb rec_opt.nb。 具体下载链接: https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_det_infer.tar https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_rec_infer.tar

我用的设备是平板,芯片是 高通骁龙730G 8核 AIE 芯片,运行内存是6G。

inference to nb 的转换使用的代码在我上面一个回答,paddlelite的版本是 v2.9, opt-python 的版本也是v2.9 pip install paddlelite==2.9

Zhang-O commented 2 years ago

1、您使用的 detect_opt.nb rec_opt.nb 这两个 .nb 模型是如何获取到的?需要说明的是PaddleOCR官方提供的 .nb 只能跑在CPU上,官方文档中并没有提及在GPU上运行的说明。 2、您可以提供如上2个模型对应的Paddle格式模型下载链接吗?我本地复现下。 3、请提供下您运行的设备详细型号,从log看是高通芯片。

大佬,有没有复现下,你那边 opencl 是否正常?

thunder95 commented 2 years ago

同样的问题, 使用mobilenetv1的示例代码加上opencl加速, 也遇到了段错误,大佬们怎么解决的 @Zhang-O @zhaoyang-star

Zhang-O commented 2 years ago

同样的问题, 使用mobilenetv1的示例代码加上opencl加速, 也遇到了段错误,大佬们怎么解决的 @Zhang-O @zhaoyang-star

没有解决,等官方解决吧

mifier commented 2 years ago

armlinux,使用opencl的demo一直卡在生成lite_opencl_tuned.bin,一直无法运行