《Nougat: Neural Optical Understanding for Academic Documents》

地址

论文地址:https://arxiv.org/abs/2308.13418

时间

2023年8月25日

作者

Meta AI

Nougat是学术文档的神经光学理解。这是Nougat的官方仓库,一个能够理解LaTeX数学和表格的学术文档PDF解析器。

GitHub地址https://github.com/facebookresearch/nougat

项目页面Nougat

个人水平不足以详细讲解nougat,因此只能把自己配置环境、遇到的问题以及解决方法记录一下。

1、安装

通过pip安装(如果比较慢或者装不上的话,可以试试更换pip为国内源,清华源,科大源):

pip install nougat-ocr


通过仓库安装:

pip install git+https://github.com/facebookresearch/nougat


注意,在Windows上:如果你想使用GPU,确保首先安装正确版本的PyTorch。按照此处的说明进行操作。可能网络原因第一次会出现失败情况,所以得多试几次。
 
如果你想从API调用模型或生成数据集,需要额外的依赖项。通过以下方式安装:
 

pip install "nougat-ocr[api]" 或 pip install "nougat-ocr[dataset]"

2、下载模型

安装完之后是不能够直接运行的,需要下载模型地址,自己让他直接下载使用怕是不太可能,下面是地址,自己下载

https://github.com/facebookresearch/nougat/releases
然后将五个文件拷贝到

/home/name/.cache/torch/hub/nougat-0.1.0-small[这里的name是你自己的用户名,自己改一下吧]

3、运行代码

安装完nougat以及下载好模型后,直接使用命令就行了:

nougat path/to/file.pdf -o output_directory

4、如果出现报错 TypeError: BARTDecoder.prepare_inputs_for_inference() got an unexpected keyword argument 'cache_position'

因为 nougat 已经实现了自己的“prepare_inputs_for_generation”,这与transformers实现不同。我想说,transformers在引入“cache_position”更改之前,应该在 nougat 中使用旧版本。例如:

pip install transformers==4.38.2

5、补充

1、Nougat的数据生产流程,从 arXiv 下载 LaTeX 源码,转为 PDF 格式,再转换成对应的 Markdown 序列,同时收集了大量书籍和学术论文图片,并通过商业 API 获取伪标签,提升模型的泛化能力。

2、可能因为nougat使用的数据集原因,使用场景比较单一,在英文科学文献方面的效果比较好。表格转化能力在我的数据集上效果差强人意。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐