登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
代码拉取完成,页面将自动刷新
开源项目
>
人工智能
>
AI-人工智能
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
221
Star
1.2K
Fork
1.1K
Ascend
/
samples
代码
Issues
33
Pull Requests
98
Wiki
统计
流水线
服务
JavaDoc
PHPDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
运行YOLOV3_coco_detection_picture样例报错,dvpp操作出现各种程序中断
DONE
#I532OI
Bug-Report
JinleiHu
创建于
2022-04-16 18:43
一、问题现象(附报错日志上下文): 希望有关研发大佬帮忙给出结论,或提出相关排查方向,希望ascend越来越好。 (1) DVPP做前处理进行推理yolov3-tiny转换的om模型,在整个推理之前的初始化过程或推理流程执行的过程中,都会出现各种程序中断崩溃的情况。如,程序中断时,终端输出以下信息: - 崩溃1:stack smashing detected : <unknown> terminated - 崩溃2: corrupted double-linked list - 崩溃3: Bus error - 崩溃4:Segmentation fault ** 四种程序中断崩溃的情况,定位到程序运行位置如下:** - 崩溃1 和 崩溃3 (出现的位置相同) 1. 运行截图:  2. 中断位置: AclLiteImageProc类 - _init_resource()方法 ``` def _init_resource(self): # Create dvpp channel print("[AclLiteImageProc] _init_resource Create dvpp channel") self._dvpp_channel_desc = acl.media.dvpp_create_channel_desc() //此处程序运行中断,终端返回,<unknown> terminated ``` - 崩溃2 corrupted double-linked list 1. 运行截图:  2. 中断位置: AclLiteImageProc类 --> crop_and_paste()方法中 --> 语句:input_desc = self._gen_input_pic_desc(image) - 崩溃4:Segmentation fault 1. 运行截图:  2. 中断位置: 运行至jpegd方法,将rgb --> yuv时: ``` AclLiteImageProc类 - jpegd(self, image): --> output_desc, out_buffer = self._gen_jpegd_out_pic_desc(image) # --> 其中, self._gen_jpegd_out_pic_desc(image), 此函数中申请内存相关函数中断: out_buffer, ret = acl.media.dvpp_malloc(out_buffer_size) //此处中断 ```  二、软件版本: 设备:atlas 500 智能小站 -- CANN 版本 (e.g., CANN 3.0.x,5.x.x): CANN 5.0.4.alpha002 (仅安装nnrt: Ascend-cann-nnrt_5.0.4.alpha002_linux-aarch64.run) --Tensorflow/Pytorch/MindSpore 版本: Tensorflow 1.15 (仅在yolov3 weight模型转换时使用) --Python 版本 (e.g., Python 3.7.5): NA -- MindStudio版本 (e.g., MindStudio 2.0.0 (beta3)):NA -- 操作系统版本 (e.g., Ubuntu 18.04): Ubuntu 18.04 -- acllib 版本: Version=1.80.T15.0.B156 runtime_acl_version=1.0 runtime_dvpp_version=1.0 required_driver_ascendhal_version=4.0.0 required_driver_dvppkernels_version=1.1 required_driver_tsfw_version=1.0 -- pyACL版本:Version=5.0.3 -- Python 3.6.9 (default, Dec 8 2021, 21:08:43) 三、测试步骤: atlas 500小站上,docker安装ubuntu18.04,Python 3.6.9,Ascend-cann-nnrt_5.0.4.alpha002_linux-aarch64.run,以及sample/YOLOV3_coco_detection_picture所需依赖。 任意训练darknet官方原生的repo:https://pjreddie.com/darknet/ 训练yolov3-tiny.weight -> pb -> om; 其中aipp文件如下: ``` aipp_op { aipp_mode : static load_start_pos_h : 0 load_start_pos_w : 0 src_image_size_w : 416 src_image_size_h : 416 input_format : YUV420SP_U8 csc_switch : true rbuv_swap_switch : true matrix_r0c0 : 256 matrix_r0c1 : 0 matrix_r0c2 : 359 matrix_r1c0 : 256 matrix_r1c1 : -88 matrix_r1c2 : -183 matrix_r2c0 : 256 matrix_r2c1 : 454 matrix_r2c2 : 0 input_bias_0 : 0 input_bias_1 : 128 input_bias_2 : 128 var_reci_chn_0 :0.003921568627451 var_reci_chn_1 :0.003921568627451 var_reci_chn_2 :0.003921568627451 } ``` 有需要可提供相关模型:(附 模型转换时aipp.cfg) 所用前处理相关代码如下(与YOLOV3_coco_detection_picture的前处理一致): ``` class demo(): def __init__(self): self.MODEL_PATH ="../model/yolov3_yuv_RGB.om" self.MODEL_WIDTH = 416 self.MODEL_HEIGHT = 416 self.stride_list = [16 ,32] self.anchors_1 = np.array([[10, 14], [23, 27], [37, 58]]) / self.stride_list[0] self.anchors_2 = np.array([[81, 82], [135, 169], [344, 319]]) / self.stride_list[1] self.anchor_list = [self.anchors_1, self.anchors_2] self.acl_resource = AclLiteResource() self.acl_resource.init() self.model = AclLiteModel(self.MODEL_PATH) self._dvpp = AclLiteImageProc(self.acl_resource) def preprocess(self, img_path): a=time.time() self.acl_image = AclLiteImage(img_path) acl_image = self.acl_image.copy_to_dvpp() yuv_image = self._dvpp.jpegd(acl_image) # YUV last_image = self._dvpp.resize(yuv_image, 416, 332) last_image = self._dvpp.crop_and_paste(last_image, 416, 332, 416, 416) return last_image ``` 四、日志信息: 链接:https://pan.baidu.com/s/1Uy0S0GqkErCME-uS8GI-BA 提取码:3ib9
一、问题现象(附报错日志上下文): 希望有关研发大佬帮忙给出结论,或提出相关排查方向,希望ascend越来越好。 (1) DVPP做前处理进行推理yolov3-tiny转换的om模型,在整个推理之前的初始化过程或推理流程执行的过程中,都会出现各种程序中断崩溃的情况。如,程序中断时,终端输出以下信息: - 崩溃1:stack smashing detected : <unknown> terminated - 崩溃2: corrupted double-linked list - 崩溃3: Bus error - 崩溃4:Segmentation fault ** 四种程序中断崩溃的情况,定位到程序运行位置如下:** - 崩溃1 和 崩溃3 (出现的位置相同) 1. 运行截图:  2. 中断位置: AclLiteImageProc类 - _init_resource()方法 ``` def _init_resource(self): # Create dvpp channel print("[AclLiteImageProc] _init_resource Create dvpp channel") self._dvpp_channel_desc = acl.media.dvpp_create_channel_desc() //此处程序运行中断,终端返回,<unknown> terminated ``` - 崩溃2 corrupted double-linked list 1. 运行截图:  2. 中断位置: AclLiteImageProc类 --> crop_and_paste()方法中 --> 语句:input_desc = self._gen_input_pic_desc(image) - 崩溃4:Segmentation fault 1. 运行截图:  2. 中断位置: 运行至jpegd方法,将rgb --> yuv时: ``` AclLiteImageProc类 - jpegd(self, image): --> output_desc, out_buffer = self._gen_jpegd_out_pic_desc(image) # --> 其中, self._gen_jpegd_out_pic_desc(image), 此函数中申请内存相关函数中断: out_buffer, ret = acl.media.dvpp_malloc(out_buffer_size) //此处中断 ```  二、软件版本: 设备:atlas 500 智能小站 -- CANN 版本 (e.g., CANN 3.0.x,5.x.x): CANN 5.0.4.alpha002 (仅安装nnrt: Ascend-cann-nnrt_5.0.4.alpha002_linux-aarch64.run) --Tensorflow/Pytorch/MindSpore 版本: Tensorflow 1.15 (仅在yolov3 weight模型转换时使用) --Python 版本 (e.g., Python 3.7.5): NA -- MindStudio版本 (e.g., MindStudio 2.0.0 (beta3)):NA -- 操作系统版本 (e.g., Ubuntu 18.04): Ubuntu 18.04 -- acllib 版本: Version=1.80.T15.0.B156 runtime_acl_version=1.0 runtime_dvpp_version=1.0 required_driver_ascendhal_version=4.0.0 required_driver_dvppkernels_version=1.1 required_driver_tsfw_version=1.0 -- pyACL版本:Version=5.0.3 -- Python 3.6.9 (default, Dec 8 2021, 21:08:43) 三、测试步骤: atlas 500小站上,docker安装ubuntu18.04,Python 3.6.9,Ascend-cann-nnrt_5.0.4.alpha002_linux-aarch64.run,以及sample/YOLOV3_coco_detection_picture所需依赖。 任意训练darknet官方原生的repo:https://pjreddie.com/darknet/ 训练yolov3-tiny.weight -> pb -> om; 其中aipp文件如下: ``` aipp_op { aipp_mode : static load_start_pos_h : 0 load_start_pos_w : 0 src_image_size_w : 416 src_image_size_h : 416 input_format : YUV420SP_U8 csc_switch : true rbuv_swap_switch : true matrix_r0c0 : 256 matrix_r0c1 : 0 matrix_r0c2 : 359 matrix_r1c0 : 256 matrix_r1c1 : -88 matrix_r1c2 : -183 matrix_r2c0 : 256 matrix_r2c1 : 454 matrix_r2c2 : 0 input_bias_0 : 0 input_bias_1 : 128 input_bias_2 : 128 var_reci_chn_0 :0.003921568627451 var_reci_chn_1 :0.003921568627451 var_reci_chn_2 :0.003921568627451 } ``` 有需要可提供相关模型:(附 模型转换时aipp.cfg) 所用前处理相关代码如下(与YOLOV3_coco_detection_picture的前处理一致): ``` class demo(): def __init__(self): self.MODEL_PATH ="../model/yolov3_yuv_RGB.om" self.MODEL_WIDTH = 416 self.MODEL_HEIGHT = 416 self.stride_list = [16 ,32] self.anchors_1 = np.array([[10, 14], [23, 27], [37, 58]]) / self.stride_list[0] self.anchors_2 = np.array([[81, 82], [135, 169], [344, 319]]) / self.stride_list[1] self.anchor_list = [self.anchors_1, self.anchors_2] self.acl_resource = AclLiteResource() self.acl_resource.init() self.model = AclLiteModel(self.MODEL_PATH) self._dvpp = AclLiteImageProc(self.acl_resource) def preprocess(self, img_path): a=time.time() self.acl_image = AclLiteImage(img_path) acl_image = self.acl_image.copy_to_dvpp() yuv_image = self._dvpp.jpegd(acl_image) # YUV last_image = self._dvpp.resize(yuv_image, 416, 332) last_image = self._dvpp.crop_and_paste(last_image, 416, 332, 416, 416) return last_image ``` 四、日志信息: 链接:https://pan.baidu.com/s/1Uy0S0GqkErCME-uS8GI-BA 提取码:3ib9
评论 (
15
)
登录
后才可以发表评论
状态
DONE
TODO
Analysing
ACCEPTED
WIP
Feedback
TEST
DONE
REJECTED
负责人
未设置
caoliang
caoliang0601
负责人
协作者
+负责人
+协作者
标签
未设置
项目
未立项任务
未立项任务
里程碑
未关联里程碑
未关联里程碑
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
分支 (19)
标签 (29)
master
r1.10
r1.9
r1.8
r1.7
r1.5
r1.6
pr_2663
add_lut4_llama7b_quantization
r1.4
r1.3
r1.1
r1.2
r1.21.0
r0.2
r1.0
r0.3
8.0.RC3_bugfix
r.ss928.1
v1.10-8.3.RC1.alpha003
v1.8-8.3.RC1.alpha002
v1.7-8.3.RC1.alpha001
v1.5-8.2.RC1
v1.6-8.2.RC1.alpha003
v1.4-8.2.RC1.alpha002
v1.3-8.2.RC1.alpha001
v1.1-8.1.RC1.beta1
v1.2-8.1.RC1.alpha002
v1.0-8.1.RC1.alpha001
v0.2-8.0.0.beta1
v0.3-8.0.0.alpha003
8.0.RC3
v0.1-8.0.0.alpha002
8.0.RC2.2
8.0.RC2
8.0.RC1
7.0.0
7.0.RC1
6.3.RC2
v0.9.0
v0.8.0
v0.7.0
v0.6.0
v0.1.0
v0.2.0
v0.3.0
v0.4.0
v0.5.0
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
预计工期
(小时)
参与者(1)
1
https://gitee.com/ascend/samples.git
git@gitee.com:ascend/samples.git
ascend
samples
samples
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册