wenet-online-decoder-onnx
wenet-online-decoder-onnx copied to clipboard
用onnxruntime-cpp推理您的onnx模型时出现了报错,想问您有没有见过或者有什么建议
[E:onnxruntime:, sequential_executor.cc:346 Execute] Non-zero status code returned while running Slice node. Name:'Slice_38' Status Message: slice.cc:153 FillVectorsFromInput Starts must be a 1-D array terminate called after throwing an instance of 'Ort::Exception' what(): Non-zero status code returned while running Slice node. Name:'Slice_38' Status Message: slice.cc:153 FillVectorsFromInput Starts must be a 1-D array Aborted (core dumped)
我没有使用过cpp跑onnx模型,不过根据 FillVectorsFromInput Starts must be a 1-D array,应该是传入的参数格式不对。我猜测是不是offset用的不是数组?( 虽然这很奇怪,但是在python代码中我传入的offset为np.array(1,dtype=int64),我不确定这时的offset类型是什么 ),可以对照着python代码细节看一下。或者是可以再检查一个各个传入的参数,在python代码中均有详细注释。
[E:onnxruntime:, sequential_executor.cc:346 Execute] Non-zero status code returned while running Slice node. Name:'Slice_38' Status Message: slice.cc:153 FillVectorsFromInput Starts must be a 1-D array terminate called after throwing an instance of 'Ort::Exception' what(): Non-zero status code returned while running Slice node. Name:'Slice_38' Status Message: slice.cc:153 FillVectorsFromInput Starts must be a 1-D array Aborted (core dumped)
老哥 ,请问你这个问题解决了吗,我现在在用c++来推理这个模型,要不交换一下联系方式,大家一起交流一下 @Dsqds
我也遇到同样的问题@wyk201722 @Dsqds
@segmentationFaults 老哥你邮箱在多少啊,我发你我微信,一起看看代码讨论下?
将offset = torch.tensor(1,dtype=torch.int64)改为 offset = torch.LongTensor(1) offset[0]=1 就可以
将offset = torch.tensor(1,dtype=torch.int64)改为 offset = torch.LongTensor(1) offset[0]=1 就可以
好的谢谢,我试试
将offset = torch.tensor(1,dtype=torch.int64)改为 offset = torch.LongTensor(1) offset[0]=1 就可以 这个是python的吧,有没有试过用C++推断啊
就是在导出onnx模型的时候 改下offset这句 导出的模型在c++推理的时候就不会报错
受益匪浅,我再更改源代码的时候也遇到了这个问题