So, as we known the tf model pipeline is: tf_frozen_model → uff_model → trt_engine
Our model use tf.concat([A, B], axis=-1), since tf support negative index.
So the axis’s type for tf’s concat is signed int(maybe 32 or 64 bit), but for uff this is unsigned int(64 bit).
For trt4’ engine, the axis’s type is signed int(64 bit). But for trt5’ engine, the axis’s type is unsigned int(maybe 32 or 64 bit)
So we can find that for trt4: tf_frozen_model(-1) → -> uff_model(18446744073709551615) → trt_engine(-1), which means true → wrong → true. The converter works fine, the predict result is ok, although the internal result is wrong.
But for trt5: tf_frozen_model(-1) → -> uff_model(18446744073709551615) → trt_engine(18446744073709551615)(for 64 bit), which means true → wrong → wrong. The converter report error.
I do not test other ops in tf which has axis or other params that support negative index. This maybe a common issue for trt’s uff converter pipeline.
I hope this issue can be fixed asap.
Thank you.