解决TensorRT同一数据每次返回结果都不一致问题

问题描述:

最近进行把TF的模型转化为UFF文件部署到TensorRT。在进行测试的时候发现一个问题,同一个数据使用TRT进行推理,但是每次结果都不一样。输出的结果本应是softmax算子输出结果, 但是输出结果都是随机的,数值求和结果非1,有的非常大有的非常小非常没有规律。

排查了一整天发现是因为我的日志头文件导入的顺序导致这个问题。

#include "easylogging++.h"
#include "common.h"
#include "buffers.h"
#include "NvInfer.h"
#include "NvUffParser.h"
#include "cuda_runtime_api.h"

没有问题的。

#include "common.h"
#include "easylogging++.h"
#include "buffers.h"
#include "NvInfer.h"
#include "NvUffParser.h"
#include "cuda_runtime_api.h"

出现上面的问题。

#include "common.h"
#include "buffers.h"
#include "NvInfer.h"
#include "NvUffParser.h"
#include "cuda_runtime_api.h"
#include "easylogging++.h"

没问题。

总结:发现是因为把“easylogging++.h”放到了“common.h”和“buffers.h”中间导致的问题。应该是什么地方给冲突了。没有认真研究其中原因。

记录一下!

你可能感兴趣的:(解决TensorRT同一数据每次返回结果都不一致问题)