sampleUffSSD error

I am trying the TensorRT sample, UffSSD, I followed the readme to generate the sample_ssd.uff on my host pc, copied it to xavier and run the sample, but the sample cannot work. Here is the output:

nvidia@jetson-0423718018037:/usr/src/tensorrt/bin$ sudo ./sample_uff_ssd
../data/ssd/sample_ssd.uff
Begin parsing model...
ERROR: UFFParser: Validator error: FeatureExtractor/InceptionV2/Mixed_5c_2_Conv2d_5_3x3_s2_128/Relu6: Invalid enum field 'func': bad type or not present
ERROR: sample_uff_ssd: Fail to parse
sample_uff_ssd: sampleUffSSD.cpp:524: int main(int, char**): Assertion `tmpEngine != nullptr' failed.
Aborted

Hi,

Do you convert the uff file with sample TensorRT version?
Thanks.

Yes, I download the .pb according to the link in the README, and convert it to uff file.

If you are asking the TensorRT version, the version on host pc is 5.0.2, the version on xavier is 5.0.0

Hi,

We test this sample and it works correctly on our environment.

It looks like you have some issues when parsing the model into uff.
Could you follow following steps and try it again?

1. Download the TensorFlow model to host.
2. Copy config.py from sampleUffSSD folder to the host.
3. Convert the model into uff with this command on host:

python convert_to_uff.py --input-file frozen_inference_graph.pb -O NMS -p config.py

4. Copy the frozen_inference_graph.uff to ‘[TRT]/data/ssd/’ folder and rename to sample_ssd_relu6.uff
5. ./sample_uff_ssd

If you still meet a error, could you also try to reflash your device with JetPack4.1.1?

Thanks.

Hi,
I indeed did as your steps, but it doesn’t work. BTW, the codes in ‘sampleUffSSD.cpp’ reads ‘sample_ssd.uff’ rather than ‘sample_ssd_relu6.uff’,

// Parse command-line arguments.
    samplesCommon::parseArgs(args, argc, argv);
    registerAllTensorRTPlugins();

    auto fileName = locateFile("sample_ssd.uff");
    std::cout << fileName << std::endl;

While the sample on my host pc reads ‘sample_ssd_relu6.uff’, they are quite different.

Hi,

Could you try JetPack4.1.1?

We tested it with JetPack4.1.1 which is TensorRT-5.0.3.
It read sample_ssd_relu6.uff and works correctly.

// Parse command-line arguments.
    samplesCommon::parseArgs(args, argc, argv);

    initLibNvInferPlugins(&gLogger, "");

    auto fileName = locateFile("sample_ssd_relu6.uff");
    std::cout << fileName << std::endl;

Thanks.

Hi, I also meet the problem, could you please tell me how to solve it?

And, what’s JetPack? How could I know if I have install JetPack or how to check the version of JetPack?

I use TensorRT 4.0

Hi 1412.

Please refer to https://developer.nvidia.com/embedded/jetpack.
You can use JetPack 4.2 for Xavier.

Thanks