现象
TensorRT得到的CUDA引擎序列化以后模型大小不一样。
我是从caffemodel解析生成的TensorRT-engine,发现同一个caffemodel得到的TensorRT-engine大小不一,大小每次相差几到几百KB,但是模型的检测结果一致。 疑问在于,优化过程应该不存在随机的过程,所以这个模型体积大小的变化从何而来呢?
原因
有人遇到了类似的问题,官方给了解答(需要*),见下图
总的来说,生成CUDA-engine的时候,结合了你的GPU, os/kernel,cpu, 系统负载,可用内存。也就是针对你的机器当前状态,给出最佳的优化引擎!
我通过caffemodel进行序列化的时候,每次系统负责和可用内存不可能完全一致,所以生成的cuda-engine不可能完全一致