模型:
google/matcha-chartqa
这个模型是在Chart2text-pew数据集上微调的MatCha模型。
论文的摘要如下所述:
视觉语言数据,如图表和信息图,在人类世界中无处不在。然而,现有的视觉语言模型在处理这些数据时表现不佳。 我们提出MATCHA(数学推理和图表去渲染预训练)来增强视觉语言模型的能力,同时对图表/绘图和语言数据进行联合建模。具体而言,我们提出了几个预训练任务,涵盖了图形解析和数值推理,这些是视觉语言建模的关键能力。我们从最近提出的图像到文本视觉语言模型Pix2Struct开始进行MATCHA预训练。在PlotQA和ChartQA等标准基准测试中,MATCHA模型超过了现有的方法,提升了近20%。我们还考察了MATCHA预训练在屏幕截图、教科书图示和文档图表等领域的迁移能力,发现整体性能有所提升,验证了MATCHA预训练在更广泛的视觉语言任务中的有效性。
您可以按照以下方式使用 convert_pix2struct_checkpoint_to_pytorch.py 脚本:
python convert_pix2struct_checkpoint_to_pytorch.py --t5x_checkpoint_path PATH_TO_T5X_CHECKPOINTS --pytorch_dump_path PATH_TO_SAVE --is_vqa
如果要转换一个大模型,请运行:
python convert_pix2struct_checkpoint_to_pytorch.py --t5x_checkpoint_path PATH_TO_T5X_CHECKPOINTS --pytorch_dump_path PATH_TO_SAVE --use-large --is_vqa
保存后,可以使用以下片段推送转换后的模型:
from transformers import Pix2StructForConditionalGeneration, Pix2StructProcessor model = Pix2StructForConditionalGeneration.from_pretrained(PATH_TO_SAVE) processor = Pix2StructProcessor.from_pretrained(PATH_TO_SAVE) model.push_to_hub("USERNAME/MODEL_NAME") processor.push_to_hub("USERNAME/MODEL_NAME")
为了获得一致的生成结果,您应向模型提出具体问题。在这里,我们询问模型是否图表中的值的总和是否大于最大值。
from transformers import Pix2StructForConditionalGeneration, Pix2StructProcessor import requests from PIL import Image model = Pix2StructForConditionalGeneration.from_pretrained('ybelkada/matcha-chartqa') processor = Pix2StructProcessor.from_pretrained('ybelkada/matcha-chartqa') url = "https://raw.githubusercontent.com/vis-nlp/ChartQA/main/ChartQA%20Dataset/val/png/20294671002019.png" image = Image.open(requests.get(url, stream=True).raw) inputs = processor(images=image, text="Is the sum of all 4 places greater than Laos?", return_tensors="pt") predictions = model.generate(**inputs, max_new_tokens=512) print(processor.decode(predictions[0], skip_special_tokens=True)) >>> No
要在GPU上运行预测,只需在创建模型和获取输入时添加.to(0)( inputs = inputs.to(0) )
这个模型最初由Fangyu Liu和Francesco Piccinno等人贡献,并由 Younes Belkada 添加到Hugging Face生态系统中。
如果您想引用这项工作,请考虑引用原始论文:
@misc{liu2022matcha, title={MatCha: Enhancing Visual Language Pretraining with Math Reasoning and Chart Derendering}, author={Fangyu Liu and Francesco Piccinno and Syrine Krichene and Chenxi Pang and Kenton Lee and Mandar Joshi and Yasemin Altun and Nigel Collier and Julian Martin Eisenschlos}, year={2022}, eprint={2212.09662}, archivePrefix={arXiv}, primaryClass={cs.CL} }