【问题标题】:Error in loading ONNX model with ONNXRuntime使用 ONNXRuntime 加载 ONNX 模型时出错
【发布时间】:2021-08-16 04:31:56
【问题描述】:

我正在将定制的 Pytorch 模型转换为 ONNX。但是,在使用 ONNXRuntime 加载它时,我遇到了如下错误:

onnxruntime.capi.onnxruntime_pybind11_state.RuntimeException: [ONNXRuntimeError] : 6 : RUNTIME_EXCEPTION : Exception during initialization: ...onnxruntime/core/providers/cpu/tensor/transpose.h:46 onnxruntime::TransposeBase::TransposeBase(const onnxruntime::OpKernelInfo &) v >= 0 && static_cast<uint64_t>(v) <= std::numeric_limits<size_t>::max() was false.

我已经与onnx.checker.check_model() 核对过,完全没问题。 我也尝试在forward()函数中将transpose()替换为permute(),但错误仍然存​​在。

有人知道这个错误吗?

环境:

Python 3.7
Pytorch 1.9.0
CUDA 10.2 
ONNX 1.10.1
ONNXRuntime 1.8.1 
OS Ubuntu 18.04

【问题讨论】:

  • 可以分享一下 ONNX 文件吗?
  • @SergiiDymchenko 在这里 (onnx file)。提前谢谢你。
  • 节点 Transpose_52perm 属性是 [-1, 0, 1] 尽管 ONNX 运行时要求它们都应该是正数:github.com/microsoft/onnxruntime/blob/…
  • 哦。万分感谢。我原以为我们只需要从transpose() 更改为permute() 而不需要关注那些索引。现在说得通了。谢谢@dkim。
  • @dkim 你能在回答的期限内发帖以便我接受吗?

标签: pytorch onnx onnxruntime


【解决方案1】:

节点Transpose_52perm 属性是[-1, 0, 1],尽管ONNX Runtime 要求它们都应该是正数:onnxruntime/core/providers/cpu/tensor/transpose.h#L46

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 2020-11-23
    相关资源
    最近更新 更多