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.92k stars 454 forks source link

2G内存arm64在docker环境部署,只有部分模型能跑通,初步怀疑是内存问题 #1003

Closed Vector-Cross closed 7 months ago

Vector-Cross commented 1 year ago

环境

问题日志及出现问题的操作流程

model_dir = "ppyoloe_crn_l_300e_coco " savefig_name = modeldir.split("")[0]

若模型跑不通,都在以下代码无法通过

model = vision.detection.PPYOLOE(f"{model_dir}/model.pdmodel", f"{model_dir}/model.pdiparams", f"{model_dir}/infer_cfg.yml")

im = cv2.imread("000000014439.jpg") result = model.predict(im) print(result)

vis_im = vision.vis_detection(im, result, scorethreshold=0.5) cv2.imwrite(f"vis{savefig_name}.jpg", vis_im)


![image](https://user-images.githubusercontent.com/36829977/209848791-d8575ce8-b709-4b25-b9cd-0006893e1e98.png)
jiangjiajun commented 1 year ago

@Vector-Cross 默认用的后端可能是ORT后端,你试下切换成PaddleLite后端看是否可以运行

import cv2
import fastdeploy.vision as vision

model_dir = "Portrait_PP_HumanSegV2_Lite_256x144_with_argmax_infer"
savefig_name = model_dir.split("_")[0]

option = fd.RuntimeOption()
option.use_paddle_lite_backend()
model = vision.detection.PPYOLOE(f"{model_dir}/model.pdmodel",
                                 f"{model_dir}/model.pdiparams",
                                 f"{model_dir}/infer_cfg.yml", runtime_option=option) # 注意在这里配置option
Vector-Cross commented 1 year ago

@Vector-Cross 默认用的后端可能是ORT后端,你试下切换成PaddleLite后端看是否可以运行

首先我之前代码里有个问题,seg模型我用的detection的api,按教程上的没改过来。但这不影响,因为后来改成了model = vision.segmentation.PaddleSegModel() 也还是这个问题。

然后我按你给的方案试了一下,还是一样的结果。但是按官方的教程,我在命令行执行 python infer.py --model Portrait_PP_HumanSegV2_Lite_256x144_with_argmax_infer --image 000000014439.jpg --device cpu 就能跑通。而上面的问题是通过jupyter-lab产生的,用的ipython的解释器,则执行不成功

Vector-Cross commented 1 year ago

在案例infer_ppyoloe.py中改了option.use_paddle_lite_backend(),有一点效果。 原来报错是资源跑不动

(pytorch) root@6554195fcd67:/home/zylj/torch/Paddle-FastDeploy# python infer_ppyoloe.py --model_dir ppyoloe_crn_l_300e_coco --image 000000014439.jpg --device cpu
[INFO] fastdeploy/vision/common/processors/transform.cc(45)::FuseNormalizeCast  Normalize and Cast are fused to Normalize in preprocessing pipeline.
[INFO] fastdeploy/vision/common/processors/transform.cc(93)::FuseNormalizeHWC2CHW   Normalize and HWC2CHW are fused to NormalizeAndPermute  in preprocessing pipeline.
[INFO] fastdeploy/vision/common/processors/transform.cc(159)::FuseNormalizeColorConvert BGR2RGB and NormalizeAndPermute are fused to NormalizeAndPermute with swap_rb=1
Killed

后来能加载模型了,但报另一个错


(pytorch) root@6554195fcd67:/home/zylj/torch/Paddle-FastDeploy# python infer_ppyoloe.py --model_dir ppyoloe_crn_l_300e_coco --image 000000014439.jpg --device cpu
[INFO] fastdeploy/vision/common/processors/transform.cc(45)::FuseNormalizeCast  Normalize and Cast are fused to Normalize in preprocessing pipeline.
[INFO] fastdeploy/vision/common/processors/transform.cc(93)::FuseNormalizeHWC2CHW   Normalize and HWC2CHW are fused to NormalizeAndPermute  in preprocessing pipeline.
[INFO] fastdeploy/vision/common/processors/transform.cc(159)::FuseNormalizeColorConvert BGR2RGB and NormalizeAndPermute are fused to NormalizeAndPermute with swap_rb=1
[I 12/29 13:38:29.551 ...ild/Paddle-Lite/lite/core/device_info.cc:1275 Setup] ARM multiprocessors name: MODEL NAME  : ARMV8 PROCESSOR REV 4 (V8L)

[I 12/29 13:38:29.551 ...ild/Paddle-Lite/lite/core/device_info.cc:1276 Setup] ARM multiprocessors number: 4 [I 12/29 13:38:29.551 ...ild/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 0, max freq: 1512, min freq: 1512, cluster ID: 0, CPU ARCH: A53 [I 12/29 13:38:29.551 ...ild/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 1, max freq: 1512, min freq: 1512, cluster ID: 0, CPU ARCH: A53 [I 12/29 13:38:29.551 ...ild/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 2, max freq: 1512, min freq: 1512, cluster ID: 0, CPU ARCH: A53 [I 12/29 13:38:29.551 ...ild/Paddle-Lite/lite/core/device_info.cc:1278 Setup] ARM multiprocessors ID: 3, max freq: 1512, min freq: 1512, cluster ID: 0, CPU ARCH: A53 [I 12/29 13:38:29.551 ...ild/Paddle-Lite/lite/core/device_info.cc:1284 Setup] L1 DataCache size is: [I 12/29 13:38:29.551 ...ild/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 32 KB [I 12/29 13:38:29.551 ...ild/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 32 KB [I 12/29 13:38:29.551 ...ild/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 32 KB [I 12/29 13:38:29.552 ...ild/Paddle-Lite/lite/core/device_info.cc:1286 Setup] 32 KB [I 12/29 13:38:29.552 ...ild/Paddle-Lite/lite/core/device_info.cc:1288 Setup] L2 Cache size is: [I 12/29 13:38:29.552 ...ild/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 512 KB [I 12/29 13:38:29.552 ...ild/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 512 KB [I 12/29 13:38:29.552 ...ild/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 512 KB [I 12/29 13:38:29.552 ...ild/Paddle-Lite/lite/core/device_info.cc:1290 Setup] 512 KB [I 12/29 13:38:29.552 ...ild/Paddle-Lite/lite/core/device_info.cc:1292 Setup] L3 Cache size is: [I 12/29 13:38:29.552 ...ild/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 0 KB [I 12/29 13:38:29.552 ...ild/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 0 KB [I 12/29 13:38:29.552 ...ild/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 0 KB [I 12/29 13:38:29.552 ...ild/Paddle-Lite/lite/core/device_info.cc:1294 Setup] 0 KB [I 12/29 13:38:29.552 ...ild/Paddle-Lite/lite/core/device_info.cc:1296 Setup] Total memory: 1882540KB [I 12/29 13:38:29.552 ...ild/Paddle-Lite/lite/core/device_info.cc:1297 Setup] SVE2 support: 0 [I 12/29 13:38:29.552 ...ild/Paddle-Lite/lite/core/device_info.cc:1298 Setup] SVE2 f32mm support: 0 [I 12/29 13:38:29.552 ...ild/Paddle-Lite/lite/core/device_info.cc:1299 Setup] SVE2 i8mm support: 0 [I 12/29 13:38:29.552 ...ly_build/Paddle-Lite/lite/api/cxx_api.cc:366 Build] Load model from file. [I 12/29 13:38:29.552 ...e-Lite/lite/model_parser/model_parser.cc:241 LoadModelPb] Loading topology data from ppyoloe_crn_l_300e_coco/model.pdmodel [I 12/29 13:38:29.806 ...e-Lite/lite/model_parser/model_parser.cc:259 LoadModelPb] Loading params data from ppyoloe_crn_l_300e_coco/model.pdiparams [I 12/29 13:38:32. 76 ...e-Lite/lite/model_parser/model_parser.cc:269 LoadModelPb] 1. Model is successfully loaded! Illegal instruction (core dumped)

jiangjiajun commented 7 months ago

此ISSUE由于一年未更新,将会关闭处理,如有需要,可再次更新打开。