【问题】把onnx模型转TensorRT模型的trt模型报错:[TRT] onnx2trt_utils.cpp:198: Your ONNX model has been generated with INT64 weights, while TensorRT does not natively support INT64. Attempting to cast down to INT32.
【解决方法】
我是在把mmdetection的模型转换为onnx模型之后,再把onnx模型转化为trt模式的时候,遇到的这个错误。从Your ONNX model has been generated with INT64 weights, while TensorRT does not natively support INT64. Attempting to cast down to INT32.
提示信息可以看出:
- 我们转化后的ONNX模型的参数类型是INT64
- 然而:TensorRT本身不支持INT64
- 而对于:INT32的精度,TensorRT是支持的,因此可以尝试把ONNX模型的精度改为INT32,然后再进行转换
可能是我们生成的.onnx模型的graph太复杂,我们先把它变简单点:
1、安装onnx-simplifier
pip install onnx-simplifier
2、把之前转化的onnx模型转化为更简单的onnx模型
python -m onnxsim retinate_hat_hair_beard.onnx retinate_hat_hair_beard_sim.onnx