V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MekoPan
V2EX  ›  程序员

关于 onnx 模型转成 dlc 有关问题咨询

  •  
  •   MekoPan · 2020-05-11 16:47:00 +08:00 · 1543 次点击
    这是一个创建于 1634 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景:在 snpe 环境下,使用snpe-onnx-to-dlc命令将输出的 onnx 模型转化为 dlc
    问题:转化时会报错,内容如下

    Traceback (most recent call last):
      File "/home/panyihe/文档 /snpe-1.31.0.qnx/lib/python/snpe/converters/onnx/onnx_to_ir.py", line 129, in ir_optimize
        op_graph_optimizations.apply_graph_optimizations(graph, self.disable_batchnorm_folding, **kwargs)
      File "/home/panyihe/文档 /snpe-1.31.0.qnx/lib/python/snpe/converters/common/converter_ir/op_graph_optimizations.py", line 89, in apply_graph_optimizations
        OptimizationTranslations.apply_method_to_all_ops(AXES_TO_SPATIAL_FIRST_ORDER, graph)
      File "/home/panyihe/文档 /snpe-1.31.0.qnx/lib/python/snpe/converters/common/converter_ir/translation.py", line 74, in apply_method_to_all_ops
        self.apply_method_to_op(node.op.type, method_name, node, graph, *args)
      File "/home/panyihe/文档 /snpe-1.31.0.qnx/lib/python/snpe/converters/common/converter_ir/translation.py", line 55, in apply_method_to_op
        return translation.apply_method(method_name, *args)
      File "/home/panyihe/文档 /snpe-1.31.0.qnx/lib/python/snpe/converters/common/converter_ir/translation.py", line 17, in apply_method
        return self.indexed_methods[method_name](*args)
      File "/home/panyihe/文档 /snpe-1.31.0.qnx/lib/python/snpe/converters/common/converter_ir/op_graph_optimizations.py", line 943, in axes_to_spatial_first_order
        if not node.op.keepdims:
      File "/home/panyihe/文档 /snpe-1.31.0.qnx/lib/python/snpe/converters/common/converter_ir/op_adapter.py", line 39, in __getattr__
        raise AttributeError("op %s has no attribute %s" % (self.name, name))
    AttributeError: op reduce_mean_0 has no attribute keepdims
    2020-05-11 16:27:58,360 - 165 - ERROR - op reduce_mean_0 has no attribute keepdims
    

    这个问题网上差不多,因此不知道应该从哪个方向开始入手。想问问有没有高手给点修改意见,感谢不尽。

    2 条回复    2020-05-13 09:23:11 +08:00
    MekoPan
        1
    MekoPan  
    OP
       2020-05-11 16:48:01 +08:00
    目前想法是 pytorch .pth 模型转 onnx 时有问题,因此导致 onnx 模型转 dlc 失败。
    MekoPan
        2
    MekoPan  
    OP
       2020-05-13 09:23:11 +08:00
    更新一下。目前暂时确定是 onnx 模型的问题,解决办法是修改了 snpe 中·op_graph_optimizations.py·和·axis_tracker.py·两个文件。dlc 模型成功输出。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3114 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:37 · PVG 08:37 · LAX 17:37 · JFK 20:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.