目前在做https://aistudio.baidu.com/aistudio/projectdetail/1059610项目,先在aistudio上训练好模型,然后paddle_lite_opt \ --model_file=inference/ssd_mobilenet_v1_voc/__model__ \ --param_file=inference/ssd_mobilenet_v1_voc/__params__ \ --optimize_out=./inference/ssd_mobilenet_v1_voc \ --optimize_out_type=naive_buffer \ --valid_targets=arm转格式,再部署到树莓派(树莓派3b,64G内存,64位系统),Paddle-Lite-Demo自带的项目预测小狗照片那个能够成功运行,用我的训练的nb文件进行视频流预测时,运行./run.sh报错了:
[100%] Built target object_detection_demo
[I 4/ 5 21:55:39. 6 ...ang/Paddle-Lite/lite/core/device_info.cc:1065 Setup] ARM multiprocessors name: MODEL NAME : ARMV7 PROCESSOR REV 4 (V7L)
HARDWARE : BCM2835
[I 4/ 5 21:55:39. 7 ...ang/Paddle-Lite/lite/core/device_info.cc:1066 Setup] ARM multiprocessors number: 4
[I 4/ 5 21:55:39. 7 ...ang/Paddle-Lite/lite/core/device_info.cc:1068 Setup] ARM multiprocessors ID: 0, max freq: 1200, min freq: 1200, cluster ID: 0, CPU ARCH: A53
[I 4/ 5 21:55:39. 8 ...ang/Paddle-Lite/lite/core/device_info.cc:434 check_cpu_online] Failed to query the online statue of CPU id:3
[I 4/ 5 21:55:39. 8 ...ang/Paddle-Lite/lite/core/device_info.cc:439 check_cpu_online] CPU id:3 is offine
[F 4/ 5 21:55:39. 8 ...e-Lite/lite/model_parser/model_parser.cc:862 LoadModelNaiveFromFile] Paddle-Lite v2.7 has upgraded the naive-buffer model format. Please use the OPT to generate a new model. Thanks!
[F 4/ 5 21:55:39. 8 ...engyang/Paddle-Lite/lite/core/program.cc:173 RuntimeProgram] Check failed: block_size: No block found!
[F 4/ 5 21:55:39. 8 ...engyang/Paddle-Lite/lite/core/program.cc:174 RuntimeProgram] Check failed: block_idx >= 0 && block_idx < block_size: Invalid block index, expected [0,4294967295] but got 0
./run.sh:行 19: 18357 段错误 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${PADDLE_LITE_DIR}/libs/${TARGET_ARCH_ABI} ./object_detection_demo ../models/ssd_mobilenet_v1_pascalvoc_for_cpu/ssd_mobilenet_v1_voc.nb ../labels/helmet_label
看上去是读取或处理数据出的错误
读取头盔标注出错了
ssd_mobilenet_v1_pascalvoc_for_cpu 这个模型跑数据时出错了
这得用gdb了
试着百度下gdb调试?
哎,这是我那个项目啊,我遇到这个错误的时候大概是几种情况,(可能有记不清),模型不对,内存炸了,标签少了(预测到最后一个,和标签数量对不上)。。
比如说用yolo的模型,上去就这个报错,因为要改的地方不少
用gdb定位下具体问题,然后贴出来看看?
等等啊,64位系统不应该是armv8?
我本来用的是64位系统,然后又换回32位系统试试,拿32位运行时的图贴上来了,我试试怎么用GDB调试看看
检查下要运行的shell文件,先确定环境变量对不对啊
32位系统,armv7什么的;64位系统,armv8
我gdb调试不会用,我后来额外做了几步操作解决问题了:
1.编译安装paddlelite,此时运行没有了那些什么块错误,但是最后还是有./run.sh: line 19: 22224 Segmentation fault
2.用OPT转格式生成nb模型替代paddle_lite_opt转格式
……看起来是paddlelite版本问题?pip install 的lite和git下来的lite版本不一样?
用gdb定位下具体问题,然后贴出来看看?
有部署成功吗,想借鉴一下