unstructured 轻量级安装非结构化[pdf] ?????

uyhoqukh  于 4个月前  发布在  其他
关注(0)|答案(8)|浏览(59)

你好,
有没有一种方法可以在轻量级格式下安装库unstructured[pdf],只是为了使用“快速”策略而不需要其他所有依赖项?
提前感谢您的支持。

dffbzjpn

dffbzjpn1#

你好,@liturrig,unstructured 目前没有 "pdf-fast-only" 的安装选项。
您能多说一些关于您的使用场景以及为什么需要这样的功能吗?

kcwpcxri

kcwpcxri2#

为什么它会安装nvidia库?当我添加["pdf"]时,Docker镜像的大小从之前的600MB增加到了6GB。这简直太疯狂了。

2ic8powd

2ic8powd3#

为什么它会安装nvidia库?当我添加了["pdf"]的docker镜像后,大小从之前的600MB增加到了6GB。这太疯狂了。
这可能是他们创建自己API的最大原因之一。我们的项目大小也非常大。

lhcgjxsq

lhcgjxsq4#

我理解依赖项大小大幅增加的原因可能是因为从图像中提取文本需要非结构化推理,这需要torch和nvidia。对于我们这些不想从PDF中的图像中提取文本的人来说,避免这些巨大的依赖关系会非常有帮助。
https://github.com/Unstructured-IO/unstructured/blob/main/requirements/extra-pdf-image.in
这是#3326的重复吗?

eulz3vhy

eulz3vhy5#

@liturrig - 不是直接的方式,但确实如此。如果你使用 "fast" 作为 partition_pdf 的策略,你只需要安装 "pdf2image", "pdfminer", "PIL"

因此,提高模块大小的方法是:

  • 只安装 unstructured 模块 -> pip install unstructured
  • 不要安装任何额外的软件包,如 unstructured[pdf],因为默认情况下会自动从 requirements 获取所有内容
  • 在划分时调用 from unstructured.partition.auto import partition,它将自动识别 .pdf 文件,但不需要 google-cloud-visioneffdet,如果策略设置为 "fast",它们是主要的空间怪兽。

请记住,你可能需要从 pdf 需求中获取一些额外的软件包(上面链接),但这些都是合理的大小。effdet 本身安装了几个占用空间的 Nvidia 模块。

@scanny - 包含 effdet 的 unstructured-inference 链接仅与 "hi_res" 策略一起使用(尽管这是默认策略)。因此,使用 unstructured 到快速划分 pdf 的人会加载很多他们从未使用过的模型(即使在 CPU-only 的情况下)。

vuktfyat

vuktfyat6#

在我的项目中,我有这些,我应该保留哪些?

s1ag04yj

s1ag04yj7#

如果你使用的是"fast"策略,可以不使用非结构化推理。但是根据你的项目情况,这可能会导致一些问题,因为推理涉及到很多依赖关系。具体来说,layoutparser和timm这两个库为"fast"策略引入了很多不必要的模型。

关于这个问题,我不太确定你是如何开始使用推理包的,@NathanAP ... docx extras并不会引入它们。除非你在某个时候添加了unstructured[pdf]。我的建议是,只需使用pip安装unstructured(或将其添加到.toml文件中),然后将任何其他依赖项(如python-docx)单独添加到你的项目中(这对于减小图像大小最有效)。

此外,重要的是要知道你使用的unstructured版本。我认为旧版本(小于0.12)在没有推理的情况下可能会出现问题。我测试过的一个版本是0.14.0。

3wabscal

3wabscal8#

您不应该在没有GPU的情况下需要torch附带的库来支持GPU。
尝试在安装像这样的非结构化库之前安装torch。
-f [https://download.pytorch.org/whl/torch_stable.html](https://download.pytorch.org/whl/torch_stable.html) torch==2.3.0+cpu
应该在requirements.txt中的非结构化库之上。
当与lambda一起使用时,它为我节省了大约2GB的图像大小。

相关问题