问题描述
我有一个经过tensorflow训练的模型,并在tensorflow上进行了测试,准确率达到了95%。
Tensorflow模型转换为ONNX并转换为TensorRT。 TensorRT引擎以16位精度运行。 在TensorRT中,准确性下降到75%。即使使用kTF32,准确性仍为75%。 在测试中测试了相同的图像,并且输入尺寸相同。
该在哪里发现精度下降?唯一的区别是我在TensorRT中进行批处理推理,而在Tensorflow中则没有。
使用OpenCV读取Tensorflow和TensorRT的图像。
从Tensorflow转换到ONNX的准确性会下降吗?
解决方法
现在我发现了问题。 Tensorflow通过乘以1 / 255.0对输入图像进行归一化。但是在张量标准化中,它是1- x / 255.0。这就是问题。现在,我有同样的准确性。