shannanyinxiang / SPTS

Official implementation of SPTS: Single-Point Text Spotting (ACM MM 2022 Oral)
137 stars 12 forks source link

无坐标弱监督训练之后推理过程会出现提前出现eos(97),或者输出全为0的情况? #4

Closed lddniupi closed 1 year ago

lddniupi commented 1 year ago

请问如何解决上述情况

shannanyinxiang commented 1 year ago

这种情况我之前没有遇到,请问您那边修改了哪些代码,如何训练的呢?

lddniupi commented 1 year ago

按您给的方法将dataset/collate_fn.py中43行的pt_label = torch.cat([center_pts, recog_label], dim=-1)修改为pt_label = recog_label。使用提供的预训练模型,其他未作改,在使用icdar13数据集训练后,出现大量图片输出为[1097],一些图片输出为[0]

shannanyinxiang commented 1 year ago

模型的后处理部分有修改吗,例如model/transformer.py的71行到79行,这里针对单点坐标的情况,对不同时间步能输出什么类别做了限制。

lddniupi commented 1 year ago

请问如何修改,但一些图片代码在未修改的情况下可以读取一部分字符,输出结果是【0,0,字符,1096,1096.......,1097】,大部分的图片在71行之上输出out数组最大max值是1097位

shannanyinxiang commented 1 year ago

model/transformer.py的71到79行修改为:

out[:, :self.num_bins] = 0
if i % 25 == 0:
    out[:, self.eos_index+1:] = 0
else:
    out[:, self.eos_index:] = 0
yangxcccscsa commented 1 year ago

请问如何解决上述情况

您好,我是一名做文字检测识别的研究生,我可以加您微信问您一些问题吗?我的微信号:ZY18220759108