1. torch环境问题
我在转换tinynet模型为onnx时,会产生如下报错
ImportError:cannot import name 'container_abcs'
这是由于torch版本不对,改为1.7.1就没有这个问题;因为1.8版本之后container_abcs就已经被移除了。但对于其他模型对这个版本又不适用,onnx对torch的版本是较为敏感的。
转换成功之后还需要验证onnx模型结果,随机生成输入tensor,观察输出结果是否一致,同样注意torch版本问题。
2. 去除不支持算子
在观察tinynex.onnx时发现了where算子,最终将问题定位在tinynet的forward函数中的三个if语句,调整后where算子消失。
在转换smpl模型时发现了einsum算子,定位问题出现来源于torch.einsum函数,于是使用torch.mm重新写一下就解决了。
解决后发现smpl模型同样存在wher