0
votes

this is my first ML project, so I may be making a mistake in understanding. I have trained a custom model using the tutorial Tensorflow Object Detection API Github. I am getting confused as this page says that currently object detection api does not support Tensorflow 2.x. However, when I read the demo it asks to install Tensorflow 2.x.

I don't understand when object detection api does not support tensorflow v2.x, why the demo asks to install tensorflow v2.x? Can you guys please help me understand this? I must be missing something.

Edit 1: When I try to run the demo script using Tensorflow 1.15, I get below error

File "object_detection_custom.py", line 71, in run_inference_for_single_image
    num_detections = int(output_dict.pop('num_detections'))
TypeError: int() argument must be a string or a number, not 'Tensor'

Edit 2: Below is the output from model call

{
    u 'detection_boxes': < tf.Tensor 'StatefulPartitionedCall:0' shape = ( ? , 100, 4) dtype = float32 > , 
    u 'detection_classes': < tf.Tensor 'StatefulPartitionedCall:1' shape = ( ? , 100) dtype = float32 > , 
    u 'raw_detection_scores': < tf.Tensor 'StatefulPartitionedCall:6' shape = ( ? , ? , 2) dtype = float32 > , 
    u 'detection_scores': < tf.Tensor 'StatefulPartitionedCall:3' shape = ( ? , 100) dtype = float32 > , 
    u 'detection_multiclass_scores': < tf.Tensor 'StatefulPartitionedCall:2' shape = ( ? , 100, 2) dtype = float32 > , 
    u 'num_detections': < tf.Tensor 'StatefulPartitionedCall:4' shape = ( ? , ) dtype = float32 > , 
    u 'raw_detection_boxes': < tf.Tensor 'StatefulPartitionedCall:5' shape = ( ? , ? , 4) dtype = float32 >
}
1

1 Answers

0
votes

The demo link you referenced above is broken, but the notebook you refer to has moved. This tutorial indeed uses TensorFlow 2, but only for inference. Training requires TensorFlow 1.15.