你好,我已经在自己的发票数据上微调了LayoutLM(v1)模型。经过4个epoch,模型达到了相当好的表现。
然而,在使用它进行推理时,我发现编码中input_ids
和bbox
Tensor的顺序不同会导致不同的输出结果。我观察到的差异主要基于other
单词与除other
之外的任何标签的单词之间的顺序。我已经测试了三种不同的排序方式:
- 首先是所有具有语义兴趣的单词/框(即预期将被分类为除
other
之外的任何标签),然后是所有的other
框 - 标记的
other
单词/框与非other
单词/框的随机顺序 - 按盒子位置对单词/框进行排序,从左上角到右下角
当我运行推理时,模型给出了以下预测(我只可视化了具有非其他标签的盒子):
- 首先是非其他盒子/单词,然后是其他盒子/单词
- 随机顺序
- 从左上角到右下角的顺序
情况1与真实值最匹配......然而,这些情况下结果之间的差异并不像我预期的那样......我希望对于所有这些情况,结果是独立的,即推理中的编码中单词/框的顺序不影响结果。
如果单词/框的顺序是相关的,那么训练和推理的正确顺序是什么?
你认为为了获得独立于顺序的推理结果,是否有必要为每个训练样本打乱单词顺序?
如果有用,我可以提供编码和微调后的模型。
1条答案
按热度按时间uidvcgyl1#
你是否在进行目标检测(LayoutLMv3)?我无法在编码中获取输入_ids、bbox和attention_masksTensor。