零基础入门:MinerU 和 PyTorch、CUDA的关系

news2025/5/23 7:22:48

💡一句话总结:MinerU 是一个用 PyTorch 跑模型的程序,PyTorch 支持多种加速方式(如 CUDA、MPS),让它跑得快就需要依赖这些加速工具。

PyTorch官网安装教程(可根据系统情况选择不同版本:https://pytorch.org/get-started/locally/)

一张图看清楚它们的关系:

图片

01  先解释一些名词在 MinerU 中的作用:

🔧 PyTorch:是跑深度学习模型的库,有 CPU 和 GPU 版本,简称 torch。MinerU 用它跑公式、OCR、表格等模型,✅ 必须安装。

⚙ torchvision:是 PyTorch 的辅助库,用于图像处理、模型加载等。MinerU 在图像类模型或视觉任务中会用到,✅ 建议安装。

💻 NVIDIA 显卡驱动(Driver):是控制和管理 NVIDIA 显卡硬件的软件层,它是 CUDA 与 GPU 正常通信的基础。如果使用 NVIDIA GPU,✅ 必须安装。

💾 CUDA-Toolkit:是 NVIDIA 提供的一整套 GPU 编程工具,包含 CUDA、cuDNN、编译器等,能提供开发和运行 GPU 应用的完整支持,避免手动配置底层。若用 pip 安装 PyTorch,❌ 可不单独安装。

💿 CUDA:是 NVIDIA 显卡的加速平台,依赖显卡驱动,必须配合 NVIDIA 显卡使用。它能让 PyTorch 用 NVIDIA GPU 跑得更快,使用 NVIDIA GPU 时必须安装,❌ CPU 用户则不需要。

📦 Anaconda:是 Python 科学计算平台,集成大量依赖库,便于管理环境。用它安装 PyTorch 等依赖更方便,也可避免系统冲突,❌ 推荐新手或团队开发使用。

🔖 MPS:是 Apple macOS M 系列芯片的 Metal 加速接口,Mac 上用来调用 Apple 芯片 GPU,❌ 只在 macOS 上使用。

🚀小科普:CUDA 主要适用于安装了 NVIDIA 显卡的 Linux 和 Windows 系统;MacOS 用 MPS 加速。

02  只想 MinerU 运行(不求快):

MinerU 运行依赖 PyTorchtorchvision,你可以只装 PyTorch torchvision 的CPU 版本

pip install torch torchvision  # 用 CPU 跑,速度慢,但简单

然后再安装 MinerU,详见:https://github.com/opendatalab/MinerU/blob/master

接下来就可以使用 MinerU 解析 pdf 文件了。

03  想要 MinerU 加速运行:

要根据你所使用的平台和硬件选择合适的方式:

1. Windows(装有 NVIDIA 显卡)的加速方式:

注意!需要您的显卡是2017年后生产的带有 Tensor Core 的显存 6 GB以上,可进行以下流程,并测试CUDA 推理加速效果:

● 安装 NVIDIA 显卡驱动:它们通常包括了支持 CUDA 的相关软件包

● 安装 CUDA Toolkit:(需要安装符合 Pytorch 要求的 CUDA 版本,MinerU 目前支持Pytorch的版本为 11.8/12.4/12.6/12.8)

- CUDA 11.8 下载地址:https://developer.nvidia.com/cuda-11-8-0-download-archive

- CUDA 12.4 下载地址:https://developer.nvidia.com/cuda-12-4-0-download-archive

- CUDA 12.6 下载地址:https://developer.nvidia.com/cuda-12-6-0-download-archive

- CUDA 12.8 下载地址:https://developer.nvidia.com/cuda-12-8-0-download-archive

● 安装 Python 与 Anaconda (如果已安装,可以跳过本步骤)

● 安装 MinerU,详见:https://github.com/opendatalab/MinerU/blob/master

● 覆盖安装支持 CUDA 的 PyTorch 和 torchvision (请根据CUDA版本选择合适的index-url,具体可参考torch官网)

pip install --force-reinstall torch torchvision --index-url https://download.pytorch.org/whl/cu124

● 修改配置文件:将【用户目录】中配置文件 magic-pdf.json 中 device-mode 的值改为 "cuda"

{    // other config    "device-mode": "cuda"}

2. Ubuntu 22.04 LTS加速方式:

● 检测是否已安装 NVIDIA 显卡驱动

nvidia-smi

如果看到类似如下的信息,说明已经安装了nvidia驱动,可以跳过下一条安装步骤(⚠️CUDA Version 显示的版本号应 >= 12.4,如显示的版本号小于12.4,请升级驱动)

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.133.07             Driver Version: 572.83         CUDA Version: 12.8   |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                     TCC/WDDM  | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3060 Ti   WDDM  | 00000000:01:00.0  On |                  N/A |
|  0%   51C    P8              12W / 200W |   1489MiB /  8192MiB |      5%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

● 安装 NVIDIA 显卡驱动

如没有驱动,则通过如下命令安装专有驱动​​​​​​​

sudo apt-get updatesudo apt-get install nvidia-driver-570-server

安装完成后,重启电脑

reboot

● 安装  Anaconda(如果已安装Anaconda  ,可以跳过本步骤)

wget -U NoSuchBrowser/1.0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2024.06-1-Linux-x86_64.sh
bash Anaconda3-2024.06-1-Linux-x86_64.sh

    最后一步输入   yes  ,关闭终端重新打开。

    ● 安装 MinerU

    ● 修改配置文件:修改【用户目录】中配置文件 magic-pdf.json 中 device-mode 的值​​​​​​​

    {    // other config    "device-mode": "cuda"}

    3. MacOS(M 系列芯片)的加速方式:

    ● 安装 Anaconda

    ● 安装 MinerU,详见:https://github.com/opendatalab/MinerU/blob/master

    ● 修改配置文件:MacOS 支持 MPS 加速(苹果自家的加速后端),只需要安装 MinerU 后,在 magic-pdf.json 配置文件中将 device-mode 参数设置为 "mps" 来启用 MPS 加速​​​​​​​

    {    // other config    "device-mode": "mps"}

    04  🧩总结

    ● PyTorch 是 MinerU 运行必须安装的核心库

    ● CUDA、MPS 是 MinerU 的加速方式,因平台和硬件不同而异

    ● MinerU​​​​​​​ 间接利用这些加速方式来提速模型运行

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2383716.html

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

    相关文章

    借助IEDA ,Git版本管理工具快速入门

    01 引言 一直使用SVN作为版本管理工具,直到公司新来的一批同事,看到我们使用的SVN都纷纷吐槽,什么年代了,还使用SVN。聊下来,才知道人家公司早早就将SVN切成了Git工具,并吐槽SVN的各种弊端。 既然新的技术…

    三维空间,毫秒即达:RTMP|RTSP播放器在Unity中的落地实现

    有人问我:在 Unity 里做超低延迟的直播播放,是什么感觉? 我说,是把一帧帧流动的时间,嵌进一个三维的空间里。 它不属于现在,也不属于过去。 它属于“实时”——属于那一秒内刚刚发生,却已被你看…

    ubuntu 搭建FTP服务,接收部标机历史音视频上报服务器

    1.安装vsftpd 1.1.安装命令 sudo apt update sudo apt install vsftpd 1.2.备份原始配置文件 sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak 1.3.配置 vsftpd 编辑配置文件 /etc/vsftpd.conf: sudo vim /etc/vsftpd.conf 将以下参数修改为对应值&#xff…

    一、内存调优

    一、内存调优 什么是内存泄漏 监控Java内存的常用工具 内存泄露的常见场景 内存泄露的解决方案 内存泄露与内存溢出的区别 内存泄露:在Java中如果不再使用一个对象,但是该对象依然在GC ROOT的引用链上,这个对象就不会被垃圾回收器回收&…

    Java的Filter与Spring的Interceptor的比较

    一、技术规范与框架依赖 维度FilterInterceptor所属规范Servlet 规范(Java EE 标准组件)Spring MVC 框架组件(非 Java EE 标准)框架依赖不依赖 Spring,仅需 Servlet 容器(如 Tomcat)依赖 Sprin…

    WPF···

    设置启动页 默认最后一个窗口关闭,程序退出,可以设置 修改窗体的icon图标 修改项目exe图标 双击项目名会看到代码 其他 在A窗体点击按钮打开B窗体,在B窗体设置WindowStartupLocation=“CenterOwner” 在A窗体的代码设置 B.Owner = this; B.Show(); B窗体生成在A窗体中间…

    微服务架构中的多进程通信--内存池、共享内存、socket

    目录 1 引言 2 整体架构简介 3 疑问 3.1 我们的共享内存消息机制是用的posix还是system V 3.2 rmmt中,不同线程之间的比如访问同一个内存,用的什么锁控制的 3.3 疑问:假如一个进程发送给了另外两个进程,然后另外两个进程都同…

    电脑中所有word文件图标变白怎么恢复

    电脑中的word文件图标变白,如下图所示: 解决方法: 1.winR-->在弹出的运行窗口中输入“regedit”(如下图所示),点击确定: 2.按照路径“计算机\HKEY_CLASSES_ROOT\Word.Document.12\DefaultIcon”去找到“&#xff0…

    RK3568 OH5.1 源码编译及问题

    安装编译器和二进制工具 在源码根目录下执行prebuilts脚本,安装编译器及二进制工具。 bash build/prebuilts_download.sh在源码根目录执行如下指令安装hb编译工具: python3 -m pip install --user build/hb使用build.sh脚本编译源码 进入源码根目录&…

    Qt5、C++11 获取wifi列表与wifi连接

    一、获取wifi列表 .h 文件内容 #include <QWidget> #include <QVBoxLayout> #include <QPushButton> #include <QCheckBox> #include <QListWidget>class Setting : public QWidget {Q_OBJECT public:explicit Setting(QWidget *parent nul…

    【KWDB 2025 创作者计划】_从部署开始了解KWDB

    一、概述 KaiwuDB 是一款面向 AIoT 场景的分布式、多模融合、支持原生 AI 的数据库产品&#xff0c;支持同一实例同时建立时序库和关系库并融合处理多模数据&#xff0c;具备时序数据高效处理能力&#xff0c;具有稳定安全、高可用、易运维等特点。面向工业物联网、数字能源、…

    高等数学-微分

    一、一元函数&#xff1a; 在实际应用中&#xff0c;经常需要近似计算函数yf(x)的增量Δyf(x)-f(x0)f(x0Δx)-f(x0),其中一种近似称为函数的微分。 定义&#xff1a;若函数yf(x)在点x0处的增量Δy可表达为自变量增量Δx的线性函数AΔx和Δx的高阶无穷小量之和&#xff0c;即Δ…

    有没有开源的企业网盘,是否适合企业使用?

    开源选项丰富、灵活定制能力强、需要额外运维投入、适合特定场景但不一定适合所有企业&#xff0c;是开源企业网盘的主要特征。从表面看&#xff0c;开源网盘往往具有免费或低成本优势&#xff0c;但企业要投入一定的人力与技术资源来完成安装、维护与升级&#xff0c;从而保障…

    基于系统整合的WordPress个性化配置方法深度解析:从需求分析到实现过程

    文章目录 引言一、理解WordPress页面与文章的区别二、主题与模板层级&#xff1a;自定义的基础三、自定义页面模板&#xff1a;打造专属页面风格四、自定义文章模板&#xff1a;打造个性化文章呈现五、使用自定义字段和元数据&#xff1a;增强内容灵活性六、利用WordPress钩子&…

    使用pm2 部署react+nextjs项目到服务器

    记录一下 next.config.js中&#xff1a; output: standalone,package.json配置&#xff1a; "scripts": {"dev": "cross-env NODE_OPTIONS--inspect next dev","build": "next build","start": "cp -r .nex…

    JVM常量池(class文件常量池,运行时常量池,字符串常量池)

    文章目录 问题JVM运行时数据区JVM中的常量池Class文件常量池运行时常量池字符串常量池创建了几个对象String的定义intern()问题 超过1W字深度剖析JVM常量池&#xff08;全网最详细最有深度&#xff09; - 跟着Mic学架构 - 博客园 问题 jdk1.8之后 元空间是独立存在的&#xf…

    我爱学算法之—— 二分查找(中)

    一、搜索插入位置 题目解析 这道题&#xff0c;给定一个数组nums和一个目标值target&#xff0c;让我们在数组nums中找到目标值&#xff1b;如果目标值存在就返回它的下标&#xff0c;如果不存在就返回数target被顺序插入的位置下标。 算法思路 这道题&#xff0c;我们可以使…

    军事目标系列之迷彩作战人员检测数据集VOC+YOLO格式2755张1类别

    数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2755 标注数量(xml文件个数)&#xff1a;2755 标注数量(txt文件个数)&#xff1a;2755 …

    node12.22.12在nvm中安装

    1、安装nvm 官网&#xff1a;https://nvm.uihtm.com/ 下载&#xff0c;安装 nvm -v 1.2.22、通过 nvm install 12.22.12 安装报错&#xff0c;找不到此版本 通过下载 https://nodejs.org/zh-cn/downloadzip文件 解压 3、查看nvm 安装路径 nvm root4、在目录下新建文件夹 v…

    【生态信息】开源软件全方位解析

    开源软件(0pen Source Software&#xff0c;0ss)是指其源代码可以公开发布、查看、使用和修改的软件。这一概念的核心在于开放性和共享性&#xff0c;允许开发者自由地使用、修改、分发以及改进软件。开源软件通常遵循特定的开源许可证&#xff0c;这些许可证确保了软件的自由使…