pytorch->onnx错误
出现场景
pytorch(v1.1.0)训练了一个Unet网络,其中用到了上采样层,最开始直接用torch.onnx.export转onnx(Opset=9)时出现错误:
RuntimeError: Failed to export an ONNX attribute, since it’s not constant, please…
原因
就是pytorch1.1.0的一个bug
解决方法
1、修改symbolic.py,参考官方https://github.com/pytorch/pytorch/commit/11845cf2440c1abb0cb117bcee9532b26573e9c9?diff=unified
更新之后确定转换是可行的。
2、 升级pytorch版本(未尝试)
onnx->tensorrt错误
出现场景
上面转换完成onnx后,用tensorrt的API解析onnx准备生成引擎文件,报错:Floor opreation is not allowed on INT32 type
原因
原因是onnx解析上采样时,需要计算目标tensor的尺寸,