failure in loading tensorflow model SSD_mobilenet_v2_coco_2018_03_29

Hi,

I have been trying to test the object detection code in the following NVIDIA repository to test object detection API:

git clone https://github.com/AastaNV/ObjectDetection

I can successfully run the model SSD_mobilenet_v1_coco_2017_11_17; however, when I try to run model SSD_mobilenet_v2_coco_2018_03_29 using

$ python3 object_detection-1.py

I get the following error:

File "/home/amin/.local/lib/python3.6/site-packages/tensorflow/python/framework/importer.py", line 426, in import_graph_def
    graph._c_graph, serialized, options)  # pylint: disable=protected-access
tensorflow.python.framework.errors_impl.InvalidArgumentError: Node 'Preprocessor/map/while/ResizeImage/stack_1': Unknown input node '^Preprocessor/map/while/Identity'

The full error detail is as follows:

$ python3 object_detection-1.py
2019-06-27 15:33:09.240724: W tensorflow/core/platform/profile_utils/cpu_utils.cc:98] Failed to find bogomips in /proc/cpuinfo; cannot determine CPU frequency
2019-06-27 15:33:09.243031: I tensorflow/compiler/xla/service/service.cc:161] XLA service 0x18b5a5f0 executing computations on platform Host. Devices:
2019-06-27 15:33:09.243112: I tensorflow/compiler/xla/service/service.cc:168]   StreamExecutor device (0): <undefined>, <undefined>
2019-06-27 15:33:09.317514: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:965] ARM64 does not support NUMA - returning NUMA node zero
2019-06-27 15:33:09.318012: I tensorflow/compiler/xla/service/service.cc:161] XLA service 0x16221790 executing computations on platform CUDA. Devices:
2019-06-27 15:33:09.318070: I tensorflow/compiler/xla/service/service.cc:168]   StreamExecutor device (0): NVIDIA Tegra X1, Compute Capability 5.3
2019-06-27 15:33:09.318425: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1433] Found device 0 with properties:
name: NVIDIA Tegra X1 major: 5 minor: 3 memoryClockRate(GHz): 0.9216
pciBusID: 0000:00:00.0
totalMemory: 3.87GiB freeMemory: 666.36MiB
2019-06-27 15:33:09.318499: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] Adding visible gpu devices: 0
2019-06-27 15:33:15.223866: I tensorflow/core/common_runtime/gpu/gpu_device.cc:984] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-06-27 15:33:15.223933: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990]      0
2019-06-27 15:33:15.223956: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1003] 0:   N
2019-06-27 15:33:15.224098: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 114 MB memory) -> physical GPU (device: 0, name: NVIDIA Tegra X1, pci bus id: 0000:00:00.0, compute capability: 5.3)
Traceback (most recent call last):
  File "/home/amin/.local/lib/python3.6/site-packages/tensorflow/python/framework/importer.py", line 426, in import_graph_def
    graph._c_graph, serialized, options)  # pylint: disable=protected-access
tensorflow.python.framework.errors_impl.InvalidArgumentError: Node 'Preprocessor/map/while/ResizeImage/stack_1': Unknown input node '^Preprocessor/map/while/Identity'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "object_detection-1.py", line 88, in <module>
    tf.import_graph_def(remove, name='')
  File "/home/amin/.local/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
    return func(*args, **kwargs)
  File "/home/amin/.local/lib/python3.6/site-packages/tensorflow/python/framework/importer.py", line 430, in import_graph_def
    raise ValueError(str(e))
ValueError: Node 'Preprocessor/map/while/ResizeImage/stack_1': Unknown input node '^Preprocessor/map/while/Identity'

Could you please help how I can resolve the issue?

Thanks

Hi,

It looks like there are some layer name/format updated between 2017 and 2018.
I can convert the SSD_mobilenet_v1_coco_2017_11_17 model with config/model_ssd_inception_v2_coco_2017_11_17.py directly.

Would you mind to give it a try.
Thanks.

Hi

Thanks for your reply.
I am interested in SSD_mobilenet_v2 rather than v1. I wonder if you could suggest me a solution?

Thanks

Hi,

Do you mean SSD_mobilenet_v2_coco_2018_03_29?
This model is supported by default.

Would you mind to check if the object_detection-1.py use the correct config file first.
https://github.com/AastaNV/TRT_object_detection/blob/master/main.py#L16

Thanks.