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