专栏算法工具链使用 hb_mapper checker 工具验证模型验证自己训练的模型 pytorch转换后的onnx,报错

使用 hb_mapper checker 工具验证模型验证自己训练的模型 pytorch转换后的onnx,报错

已解决
datoufeng2022-12-22
56
5
求大佬帮忙解答,使用 hb_mapper checker 工具验证模型验证自己训练的模型 pytorch转换后的onnx,报错如下

2022-12-22 21:36:10,237 ERROR Inferred shape and existing shape differ in dimension 1: (64) vs (256)

2022-12-22 21:36:10,252 ERROR *** ERROR-OCCUR-DURING {horizon_nn.check_onnx} ***

整个验证过程如下图

模型图如下

算法工具链
评论1
0/600
  • 颜值即正义
    Lv.2

    您好,报错发生在check.onnx阶段,这说明模型不满足公版onnx的合法性,可以根据提示看一下这个节点,

    2022-12-23
    0
    4
    • datoufeng回复颜值即正义:

      请问下,这个节点代表什么,不太看得懂,是网络的哪个层么,能帮忙给点信息么

      2022-12-24
      0
    • 颜值即正义回复datoufeng:
      可以用开源可视化工具netron打开onnx模型看一下,搜一下有没有这个节点(一个conv、一个reshape都或者其它算子都可以用节点称呼),看看它的输入输出shape(不一定需要修改这儿)是怎么样的,之前遇到过一个
      (op_type:Add, node name: Add_12): Inferred shape and existing shape differ in dimension 2: (1) vs (16)
      发现onnx模型输出是1x128x1x16,转置成1x1x16x128可以避免出现自动广播,就不会出现这个问题了。
      2022-12-24
      0
    • datoufeng回复颜值即正义:
      x = x.view(B, C, hs * ws, int(H / hs), int(W / ws)).transpose(1, 2).contiguous()
      x = x.view(B, hs * ws * C, int(H / hs), int(W / ws))
      最后一个view维度变化造成的,这个应该正常吧,请问需要怎么操作避免这种报错
      2022-12-26
      0
    • 颜值即正义回复datoufeng:

      您好,具体到代码层面我也不太清楚,这其实尚未进入工具链中进行模型转换,需要麻烦您多加尝试进行修改哈

      2022-12-26
      0