【问题标题】:onnx graph, how to get output dimensions?onnx 图,如何获得输出尺寸?
【发布时间】:2019-08-21 09:56:41
【问题描述】:

如何获取onnx神经网络输出层的维度?

我可以得到onnx图,但是没有输出维度:

~/onnx-tensorrt/third_party/onnx/onnx/tools/net_drawer.py --input ./weights/tiny_3l_v5_11_608.onnx  --output ./weights/tiny_3l_v5_11_608.dot --embed_docstring

特韦辛,马库斯

【问题讨论】:

    标签: python-3.x onnx


    【解决方案1】:

    你可以简单地使用

    from onnx import shape_inference
    inferred_model = shape_inference.infer_shapes(original_model)
    

    inferred_model.graph.value_info中找到形状信息。

    完整文档请见https://github.com/onnx/onnx/blob/master/docs/ShapeInference.md

    【讨论】:

    • value_info 包含所有输出,而不是 ops 想要整个模型的最终输出。这可以通过其他方法检索。
    【解决方案2】:

    嘿,

    https://github.com/onnx/onnx-tensorrt 有这个功能。

    我做到了

    onnx2trt yolo_tiny_3l.onnx  -t yolo_tiny_3l.onnx.txt -l -v
    

    特韦辛,马库斯

    【讨论】:

      【解决方案3】:

      如果您使用 Java api 加载 ONNX 模型,则从会话中获取元数据信息。元数据包含有关输入和输出维度的详细信息。

      【讨论】:

        【解决方案4】:

        尝试将 .onnx 文件加载到this online ONNX visualiser tool (Netron)

        【讨论】:

          猜你喜欢
          • 2016-06-11
          • 2014-03-07
          • 1970-01-01
          • 2010-09-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多