Dimension of the output tensors

Hi,

there is something unclear to me in the 3rd exercise docstring. This is the 1st assignment of the 3rd week. It is written that

Note: The “None” dimension of the output tensors has obviously to be less than max_boxes.

But, I think it should be less than or equal. For example, there could be 2 sets of boxes, and each set 3 boxes. Let’s suppose the sets do not overlap but the boxes in the set do (see the image below). Those boxes could overlap with iou >= iou_threshold, hence the output would be 2 boxes (nout_box = 2). But the max_boxes could be set to 1, 2, or 3 because it is not known in advance how the boxes overlap.
If max_boxes = 2 than nout_box = max_boxes and if max_boxes = 3 than nout_box < max_boxes. If max_boxes = 1, we would have
nout_box = max_boxes. I guess in the latter scenario only the box with the biggest score would be left.

Am I right?

Also, why do we need a tf.Variable for max_boxes_tensor? In the documentation for tf.image.non_max_suppression() the requirement is a tensor. I tested with tf.constant(max_boxes, dtype=‘int32’) and I got “All tests passed!”. Is max_boxes_tensor used as a training parameter later?

Henrikh

I think your guess is right.

my guess is that less than or equal is probably correct.

At the bottom of API description, we can see,

Thank you for your clarification!