unilm how to predict on new image

vd2z7a6w  于 2个月前  发布在  其他
关注(0)|答案(6)|浏览(52)

我正在使用layoutlmv2模型。假设我有一张图片和它的标注文件,我想仅在这张图片上进行预测。那么我该如何进行预测呢?是否已经有现成的脚本用于推理?我之前有layoutlmv1模型的经验。

y4ekin9u

y4ekin9u1#

你需要首先对输入进行分词和填充,然后从模型中获取预测结果。你可以创建自己的评估函数,在填充和分词之后执行相同的操作。

wgxvkvu9

wgxvkvu92#

嘿,我调整了数据加载器,并能够在标记和预测的词级别上获取结果。我已经为v1编写了一个脚本,所以如果能够像v1中创建的test_image.txt文件一样获取测试图像,并在词级别上获得预测logits,那就太好了。

6bc51xsx

6bc51xsx3#

既然你已经在token_id级别有了预测,你可以尝试使用tokenizer.convert_ids_to_tokens(input_id)将input_id转换为单词。你可能需要将单词重新组合,因为分词器可能会将单词分成多个部分。

u0njafvf

u0njafvf4#

感谢@sherlocked27的支持。让我尝试这个解决方案。

xmd2e60i

xmd2e60i5#

我尝试了你告诉我的方法,但仍然出错。你能看一下这个图片并提些建议吗?

$x_1^c_0 d_1^x$

vmjh9lq9

vmjh9lq96#

如果已经是一个Tensor,移除.tensor可以解决错误,但这是一个权宜之计。

images_input = (
            (images if torch.is_tensor(images) else images.tensor) - self.pixel_mean
        )

你也可以检查一下,我没有尝试过这样初始化,但它可能会起作用,因为应该是ImageList,但一些初始化导致了问题,它是一个Tensor。

相关问题