add metric mode
This commit is contained in:
parent
e2b84da866
commit
2f978f638b
|
@ -60,6 +60,7 @@ PostProcess:
|
|||
name: PGPostProcess
|
||||
score_thresh: 0.5
|
||||
mode: fast # fast or slow two ways
|
||||
|
||||
Metric:
|
||||
name: E2EMetric
|
||||
mode: A # A or B
|
||||
|
|
|
@ -199,14 +199,32 @@ class E2ELabelEncode_test(BaseRecLabelEncode):
|
|||
character_type, use_space_char)
|
||||
|
||||
def __call__(self, data):
|
||||
texts = data['texts']
|
||||
import json
|
||||
padnum = len(self.dict)
|
||||
label = data['label']
|
||||
label = json.loads(label)
|
||||
nBox = len(label)
|
||||
boxes, txts, txt_tags = [], [], []
|
||||
for bno in range(0, nBox):
|
||||
box = label[bno]['points']
|
||||
txt = label[bno]['transcription']
|
||||
boxes.append(box)
|
||||
txts.append(txt)
|
||||
if txt in ['*', '###']:
|
||||
txt_tags.append(True)
|
||||
else:
|
||||
txt_tags.append(False)
|
||||
boxes = np.array(boxes, dtype=np.float32)
|
||||
txt_tags = np.array(txt_tags, dtype=np.bool)
|
||||
data['polys'] = boxes
|
||||
data['ignore_tags'] = txt_tags
|
||||
temp_texts = []
|
||||
for text in texts:
|
||||
for text in txts:
|
||||
text = text.lower()
|
||||
text = self.encode(text)
|
||||
if text is None:
|
||||
return None
|
||||
text = text + [36] * (self.max_text_len - len(text)
|
||||
text = text + [padnum] * (self.max_text_len - len(text)
|
||||
) # use 36 to pad
|
||||
temp_texts.append(text)
|
||||
data['texts'] = np.array(temp_texts)
|
||||
|
|
|
@ -39,7 +39,7 @@ class E2EMetric(object):
|
|||
def __call__(self, preds, batch, **kwargs):
|
||||
if self.mode == 'A':
|
||||
gt_polyons_batch = batch[2]
|
||||
temp_gt_strs_batch = batch[3]
|
||||
temp_gt_strs_batch = batch[3][0]
|
||||
ignore_tags_batch = batch[4]
|
||||
gt_strs_batch = []
|
||||
|
||||
|
@ -51,8 +51,7 @@ class E2EMetric(object):
|
|||
gt_strs_batch.append(t)
|
||||
|
||||
for pred, gt_polyons, gt_strs, ignore_tags in zip(
|
||||
[preds], [gt_polyons_batch], [gt_strs_batch],
|
||||
ignore_tags_batch):
|
||||
[preds], gt_polyons_batch, [gt_strs_batch], ignore_tags_batch):
|
||||
# prepare gt
|
||||
gt_info_list = [{
|
||||
'points': gt_polyon,
|
||||
|
|
Loading…
Reference in New Issue