模型:
microsoft/dit-base
文档图像转换器(DiT)模型在IIT-CDIP(Lewis等人,2006)数据集上进行了预训练,该数据集包含4200万个文档图像。它是由Li等人在文章中引入的,并于 this repository 首次发布。请注意,DiT与 BEiT 的架构相同。
免责声明:发布DiT的团队没有为这个模型编写模型卡,因此这个模型卡是由Hugging Face团队编写的。
文档图像转换器(DiT)是一种基于变压器编码器模型(类似BERT)的预训练模型,它以自监督的方式在大量图像上进行了预训练。模型的预训练目标是基于遮挡的补丁从离散VAE(dVAE)的编码器中预测视觉令牌。
将图像呈现给模型时,以固定大小的补丁序列(分辨率为16x16)的形式进行,这些补丁被线性嵌入。在将序列馈送到变压器编码器的层之前,还会添加绝对位置嵌入。
通过预训练模型,它学习了图像的内部表示,可以用于提取对下游任务有用的特征:例如,如果您有一组带标签的文档图像数据集,可以在预训练的编码器之上放置一个线性层来训练标准分类器。
您可以使用原始模型将文档图像编码为向量空间,但它主要用于在任务上进行微调,例如文档图像分类、表格检测或文档布局分析。查看 model hub 以寻找您感兴趣的任务上进行微调的版本。
以下是如何在PyTorch中使用此模型:
from transformers import BeitImageProcessor, BeitForMaskedImageModeling import torch from PIL import Image image = Image.open('path_to_your_document_image').convert('RGB') processor = BeitImageProcessor.from_pretrained("microsoft/dit-base") model = BeitForMaskedImageModeling.from_pretrained("microsoft/dit-base") num_patches = (model.config.image_size // model.config.patch_size) ** 2 pixel_values = processor(images=image, return_tensors="pt").pixel_values # create random boolean mask of shape (batch_size, num_patches) bool_masked_pos = torch.randint(low=0, high=2, size=(1, num_patches)).bool() outputs = model(pixel_values, bool_masked_pos=bool_masked_pos) loss, logits = outputs.loss, outputs.logits
@article{Lewis2006BuildingAT, title={Building a test collection for complex document information processing}, author={David D. Lewis and Gady Agam and Shlomo Engelson Argamon and Ophir Frieder and David A. Grossman and Jefferson Heard}, journal={Proceedings of the 29th annual international ACM SIGIR conference on Research and development in information retrieval}, year={2006} }