Nonzero算子自动拆分为nonzero+transpose或nonzero+split

用户您好,请详细描述您所遇到的问题。

1.硬件获取渠道:X/J3

2.当前系统镜像版本:ubuntu20.04

3.当前天工开物版本:

2022-11-11 12:13:45,804 INFO hbdk version 3.31.1

2022-11-11 12:13:45,804 INFO horizon_nn version 0.13.9

2022-11-11 12:13:45,804 INFO hb_mapper version 1.8.7

2022-11-11 12:13:45,926 INFO Model type: onnx

4.问题定位:pytorch的nonzero, 转为onnx自动拆分为nonzero+transpose(as_tuple=False) 或者 nonzero+split(as_tuple=True), 其中Nonzero的输出是longtensor,默认torch.int64, 且这一步开发人员无法干预, 问题是工具链中transpose或者split并不支持int64。

5.开发的demo/案例:

6.需要提供的解决方案:

nonzero 仅支持 1D or 4D, 不要使用unsqueeze 或者 squeeze来手动约束,否则会产生上述问题。