1. 引言
把pdf文件转换为纯文本(md或txt)文件是自然语言处理的一个前提,有许多方法可以实现功能。之前自己写过一个大约80行的代码(pdf-to-txt.py)批量把pdf文件转换为txt文件【数据集准备---批量把pdf文件转换为txt文件】,如下图所示。不过,这个代码的功能有限,首先忽略了pdf文件中的图表,其次忽略了原文件的格式,如分段。
2. 安装
pip install marker-pdf
(1) [-h]
(2) [--max_pages MAX_PAGES]
(3) [--start_page START_PAGE]
(4) [--langs LANGS]
(5) [--batch_multiplier BATCH_MULTIPLIER]
(6) filename output
3. 测试
marker_single d:/06.pdf d:/ --batch_multiplier 2 --max_pages 10
4. GPU加速
PDFTEXT_CPU_WORKERS: int = 32
于是按照下面的设置安装CUDA版本。CUDA是NVIDIA专为图形处理单元(GPU)上的通用计算开发的并行计算平台和编程模型,借助CUDA,开发者能够利用GPU的强大性能显著加速计算应用。在经GPU加速的应用中,工作负载的串行部分在CPU上运行,且CPU已针对单线程性能进行优化,而应用的计算密集型部分则以并行方式在GPU核心上运行。使用CUDA时,开发者使用编程语言如 C、C++、Fortran、Python 和 MATLAB进行编程,并通过扩展程序以几个基本关键字的形式来表示并行性。
import torch
torch_version = torch.__version__
cuda_available = torch.cuda.is_available()
cuda_version = torch.version.cuda
cuda_count = torch.cuda.device_count()
cuda_device = torch.cuda.current_device()
cuda_name = torch.cuda.get_device_name(torch.cuda.current_device())
cuda_mem_allo = torch.cuda.memory_allocated(0)/1024**3
cuda_mem_reser = torch.cuda.memory_reserved(0)/1024**3