问题描述
我正在使用带有 JetPack 4.4.1、Tensorflow 2.3.1 和 Tensorrt 7.1.3 的 JetsonNano 我有一个转换为 TF-TRT 模型的 Keras 模型
对模型进行推理时,出现以下错误:
TF-TRT Warning: Engine creation for PartitionedCall/TRTEngineOp_0_0 Failed. The native segment will be used instead. Reason: Internal: Failed to build TensorRT engine
在推理过程中我得到:
W tensorflow/compiler/tf2tensorrt/kernels/trt_engine_op.cc:629] TF-TRT Warning: Engine retrieval for input shapes: [[1,100,68,3]] Failed. Running native segment for PartitionedCall/TRTEngineOp_0_0
这是什么意思?
似乎 TRT 没有构建引擎,但推理的工作原理相同。 我在另一台 PC(TF-2.4.1 和 TRT 7.2)上执行了相同的推理,但没有收到此错误。但是,我对比了 Keras 和 TF-TRT 模型之间的推理结果,它们是相同的(JetsonNano 上都有错误,PC 上没有错误)
为什么我的结果是一样的?我该如何解决这个问题?
解决方法
如果没有关于您的代码的更多信息,很难判断发生了什么。另外,我不太确定您的两个错误究竟发生在哪里,您能否进一步详细说明?
作为一般信息:如果 TRT 不支持特定操作,TF-TRT 将回退到 TensorFlow 操作。这或许可以解释为什么您的结果还可以。