PaddleDetection icon indicating copy to clipboard operation
PaddleDetection copied to clipboard

paddle.nonzero() 有bug

Open XuLei0 opened this issue 2 years ago • 9 comments

问题确认 Search before asking

  • [X] 我已经查询历史issue,没有报过同样bug。I have searched the issues and found no similar bug report.

bug描述 Describe the Bug

找出来的索引越界严重

复现环境 Environment

  • paddlepaddle-gpu 2.3.1.post116

是否愿意提交PR Are you willing to submit a PR?

  • [ ] Yes I'd like to help by submitting a PR!

XuLei0 avatar Aug 04 '22 09:08 XuLei0

是不是类似这种报错: non_zero.cpp:43 NonZero layer with name 'NonZero_0' has incorrect number of output edges: 2

danve-fan avatar Aug 04 '22 10:08 danve-fan

我看的是他的输出的索引越界了,是不是c++实现那块逻辑有问题

---原始邮件--- 发件人: @.> 发送时间: 2022年8月4日(周四) 晚上6:05 收件人: @.>; 抄送: @.@.>; 主题: Re: [PaddlePaddle/PaddleDetection] paddle.nonzero() 有bug (Issue #6589)

是不是类似这种报错: non_zero.cpp:43 NonZero layer with name 'NonZero_0' has incorrect number of output edges: 2

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

XuLei0 avatar Aug 04 '22 10:08 XuLei0

ValueError: Target xxx(数值不定) is out of lower bound.是这个错误吧

jklkid avatar Aug 05 '22 00:08 jklkid

请问是哪一个模型?运行的命令是什么?具体报什么错呢?

wangxinxin08 avatar Aug 05 '22 02:08 wangxinxin08

请问是哪一个模型?运行的命令是什么?具体报什么错呢?

CUDA_VISIBLE_DEVICES=0 python tools/infer_mot.py -c configs/mot/jde/jde_darknet53_30e_1088x608.yml -o weights=https://paddledet.bj.bcebos.com/models/mot/jde_darknet53_30e_1088x608.pdparams --video_file={your video name}.mp4 --save_videos

我运行的这条命令,报错是:Error: ../paddle/phi/kernels/funcs/gather.cu.h:67 Assertion index_value >= 0 && index_value < input_dims[j] failed. The index is out of bounds, please check whether the dimensions of index and input meet the requirements. It should be less than [54264] and greater than or equal to 0, but received [0]

我自己去debug找这个错误,在layers.py中的 call() 函数中使用 boxes_idx_over_conf_thr = paddle.nonzero(yolo_boxes_scores[:, :, -1] > self.conf_thresh) 报错,返回的 boxes_idx_over_conf_thr 严重越界了,paddle.nonzero() 函数我看着好像是用外部 C++ 实现的,看不了,但是确实给我报了越界错误

XuLei0 avatar Aug 05 '22 02:08 XuLei0

请问是哪一个模型?运行的命令是什么?具体报什么错呢?

请看下我这个NonZero问题怎么回事:

1、采用pphuman发布的模型:mot_ppyoloe_l_36e_pipeline 2、paddle2onnx转换成onnx且启用了检查,提示:ONNX model generated is valid. 3、转换后的onnx模型被openvion2022识别时提示错误: non_zero.cpp:43 NonZero layer with name 'NonZero_0' has incorrect number of output edges: 2

danve-fan avatar Aug 05 '22 03:08 danve-fan

@XuLei0 收到你的反馈,我们定位下

wangxinxin08 avatar Aug 05 '22 03:08 wangxinxin08

@danve-fan 你已经提过issue了,而且这两个问题不一样,不要重复刷,等我们定位解决

wangxinxin08 avatar Aug 05 '22 03:08 wangxinxin08

@danve-fan 你已经提过issue了,而且这两个问题不一样,不要重复刷,等我们定位解决

请注意下:我提的另一个issue是用的tensorrt,这里提到的用的是openvino2022,我用这两个外部的推理以同样的步骤都无法成功!

danve-fan avatar Aug 05 '22 06:08 danve-fan

请问这个问题最后是怎么解决的?

zkyseu avatar Nov 30 '22 13:11 zkyseu