refine code, test=develop

fix/ir_debug
jerrywgz 7 years ago
parent 9eb2d7b3e1
commit 466a10dcdd

@ -520,7 +520,7 @@ independently for each class. The outputs is a 2-D LoDTenosr, for each
image, the offsets in first dimension of LoDTensor are called LoD, the number image, the offsets in first dimension of LoDTensor are called LoD, the number
of offset is N + 1, where N is the batch size. If LoD[i + 1] - LoD[i] == 0, of offset is N + 1, where N is the batch size. If LoD[i + 1] - LoD[i] == 0,
means there is no detected bbox for this image. If there is no detected boxes means there is no detected bbox for this image. If there is no detected boxes
for all images, all the elements in LoD are set to {0,1}, and the Out only for all images, all the elements in LoD are set to {1}, and the Out only
contains one value which is -1. contains one value which is -1.
)DOC"); )DOC");
} }

@ -263,8 +263,10 @@ def detection_output(loc,
number is N + 1, N is the batch size. The i-th image has number is N + 1, N is the batch size. The i-th image has
`LoD[i + 1] - LoD[i]` detected results, if it is 0, the i-th image `LoD[i + 1] - LoD[i]` detected results, if it is 0, the i-th image
has no detected results. If all images have not detected results, has no detected results. If all images have not detected results,
all the elements in LoD are 0, and output tensor only contains one LoD will be set to {1}, and output tensor only contains one
value, which is -1. value, which is -1.
(After version 1.3, when no boxes detected, the lod is changed
from {0} to {1}.)
Examples: Examples:
.. code-block:: python .. code-block:: python
@ -1967,8 +1969,8 @@ def multiclass_nms(bboxes,
scores, scores,
score_threshold, score_threshold,
nms_top_k, nms_top_k,
nms_threshold,
keep_top_k, keep_top_k,
nms_threshold=0.3,
normalized=True, normalized=True,
nms_eta=1., nms_eta=1.,
background_label=0, background_label=0,
@ -2035,8 +2037,10 @@ def multiclass_nms(bboxes,
Each row has 10 values: Each row has 10 values:
[label, confidence, x1, y1, x2, y2, x3, y3, x4, y4]. No is the [label, confidence, x1, y1, x2, y2, x3, y3, x4, y4]. No is the
total number of detections. If there is no detected boxes for all total number of detections. If there is no detected boxes for all
images, lod will be set to {0, 1} and Out only contains one value images, lod will be set to {1} and Out only contains one value
which is -1. which is -1.
(After version 1.3, when no boxes detected, the lod is changed
from {0} to {1})
Examples: Examples:
.. code-block:: python .. code-block:: python

@ -19,7 +19,7 @@ import copy
from op_test import OpTest from op_test import OpTest
def iou(box_a, box_b, normalized): def iou(box_a, box_b, norm):
"""Apply intersection-over-union overlap between box_a and box_b """Apply intersection-over-union overlap between box_a and box_b
""" """
xmin_a = min(box_a[0], box_a[2]) xmin_a = min(box_a[0], box_a[2])
@ -32,10 +32,10 @@ def iou(box_a, box_b, normalized):
xmax_b = max(box_b[0], box_b[2]) xmax_b = max(box_b[0], box_b[2])
ymax_b = max(box_b[1], box_b[3]) ymax_b = max(box_b[1], box_b[3])
area_a = (ymax_a - ymin_a + (normalized == False)) * \ area_a = (ymax_a - ymin_a + (norm == False)) * (xmax_a - xmin_a +
(xmax_a - xmin_a + (normalized == False)) (norm == False))
area_b = (ymax_b - ymin_b + (normalized == False)) * \ area_b = (ymax_b - ymin_b + (norm == False)) * (xmax_b - xmin_b +
(xmax_b - xmin_b + (normalized == False)) (norm == False))
if area_a <= 0 and area_b <= 0: if area_a <= 0 and area_b <= 0:
return 0.0 return 0.0
@ -44,8 +44,8 @@ def iou(box_a, box_b, normalized):
xb = min(xmax_a, xmax_b) xb = min(xmax_a, xmax_b)
yb = min(ymax_a, ymax_b) yb = min(ymax_a, ymax_b)
inter_area = max(xb - xa + (normalized == False), 0.0) * \ inter_area = max(xb - xa + (norm == False),
max(yb - ya + (normalized == False), 0.0) 0.0) * max(yb - ya + (norm == False), 0.0)
iou_ratio = inter_area / (area_a + area_b - inter_area) iou_ratio = inter_area / (area_a + area_b - inter_area)
@ -210,7 +210,6 @@ def batched_multiclass_nms(boxes,
normalized, normalized,
shared=True) shared=True)
if nmsed_num == 0: if nmsed_num == 0:
# lod.append(1)
continue continue
lod.append(nmsed_num) lod.append(nmsed_num)

Loading…
Cancel
Save