VMware虚拟机中搭建PP-DocLayoutV3开发测试环境教程

你是不是也遇到过这种情况:手头只有一台Windows电脑,但项目开发偏偏需要一个干净的Linux环境,或者想测试某个AI模型又不想把本地系统搞得一团糟?我之前就经常被这种问题困扰,直到我开始用虚拟机。

今天,我就来手把手教你,如何在Windows电脑上,用VMware Workstation搭一个Ubuntu虚拟机,然后在这个“独立小房间”里,把PP-DocLayoutV3这个文档版面分析模型给跑起来。整个过程就像在电脑里装了一个“软件盒子”,盒子里面是一个完整的Linux系统,你可以在里面随便折腾,完全不影响外面的Windows。学完这篇,你就能拥有一个随时可用、随时重置的AI开发测试环境了。

1. 准备工作:你需要什么

在开始动手之前,我们先看看需要准备哪些东西。放心,大部分都是免费的。

软件清单:

  • VMware Workstation Player:这是虚拟机软件,相当于那个“盒子”的制造工具。个人非商业用途可以免费使用,功能完全够用。
  • Ubuntu 22.04 LTS 镜像文件:这是我们要装在“盒子”里的Linux系统。LTS版本长期支持,更稳定。推荐从官网下载桌面版,用起来更直观。
  • PP-DocLayoutV3 项目代码:这是今天的主角,一个用于文档版面分析的AI模型。

硬件建议:

  • CPU:建议至少4核。现在的电脑基本都满足。
  • 内存:给虚拟机分配至少8GB(8192 MB)。如果你的电脑是16GB内存,分8GB给虚拟机后,Windows也还能流畅运行。
  • 硬盘空间:建议预留50GB以上的空闲空间,用于安装Ubuntu系统和后续的各种软件、模型。
  • 网络:需要能正常上网,因为安装过程中和后续部署都需要下载很多组件。

如果你的电脑有NVIDIA独立显卡,并且想尝试在虚拟机里也用上GPU来加速模型推理(这一步是可选的,CPU也能跑),那么还需要提前在Windows上安装好正确的NVIDIA显卡驱动。这个我们后面会专门讲。

2. 第一步:创建你的Ubuntu虚拟机

万事俱备,我们开始打造那个“软件盒子”。

2.1 安装并打开VMware Workstation Player

首先,去VMware官网下载Workstation Player,安装过程就是一路“下一步”,没什么特别的。安装完成后打开它,你会看到一个清爽的界面。

2.2 新建虚拟机向导

点击“创建新虚拟机”,我们会进入一个向导流程。

  1. 选择安装来源:这里我们选择“安装程序光盘映像文件”,然后点击“浏览”,找到你之前下载好的那个Ubuntu 22.04的 .iso 文件。VMware会自动检测到这是Ubuntu。
  2. 设置用户名和密码:接下来需要设置你在这个Ubuntu系统里的登录名和密码,记住它们,以后每次登录都要用。
  3. 命名虚拟机与选择位置:给你的虚拟机起个名字,比如“My_Ubuntu_Dev”。然后,选择一个剩余空间大的磁盘分区来存放这个虚拟机文件,比如 D:\VM\
  4. 指定磁盘容量:这里建议设置大一点,比如80GB。选择“将虚拟磁盘拆分成多个文件”,这样更方便管理和迁移。
  5. 自定义硬件(关键步骤):在点击“完成”前,一定要点一下“自定义硬件”按钮。
    • 内存:在左侧选择“内存”,根据之前建议,拖到至少8192 MB(8GB)。
    • 处理器:选择“处理器”,将“内核数量”设置为4(如果你的CPU核心数足够多)。
    • 网络适配器:确保网络连接是“NAT模式”。这样虚拟机可以上网,也能和你的Windows主机互相通信,是最省心的设置。
    • 其他:显示器设置可以保持默认。检查无误后,点击“关闭”,然后点击“完成”。

2.3 安装Ubuntu系统

现在,VMware会自动启动这台新虚拟机,并开始从你指定的 .iso 文件安装Ubuntu。安装界面是图形化的,非常友好。

  1. 选择语言,点击“安装Ubuntu”。
  2. 键盘布局选择“英语(美国)”或者“中文”,都可以。
  3. 在“安装类型”页面,直接选择“清除整个磁盘并安装Ubuntu”,不用担心,这只会清除虚拟机内部的虚拟磁盘,不会动你真实的Windows硬盘。
  4. 点击“现在安装”,在弹出确认对话框时点“继续”。
  5. 设置时区,地图上点一下“上海”即可。
  6. 接下来就是等待安装过程自动完成。期间会让你创建用户,这里的信息我们之前在向导里已经填过了,系统会自动填好,直接点“继续”就行。
  7. 安装完成后,系统会提示重启。点击“现在重启”,虚拟机重启后,输入你设置的密码,就能进入Ubuntu桌面了。恭喜,你的Linux“盒子”已经成功运行起来了!

进入系统后,我建议你先打开“软件更新器”,把所有的系统更新都安装一下,确保环境是最新的。

3. 第二步:配置虚拟机开发环境

系统装好了,但它还是个“毛坯房”。我们需要把它装修成适合开发的“精装房”。

3.1 安装基础开发工具

打开Ubuntu里的“终端”(快捷键 Ctrl+Alt+T),我们通过命令行来安装各种工具,这是Linux下最高效的方式。

首先,更新一下软件包列表:

sudo apt update

然后,安装一些必备的软件和工具:

sudo apt install -y git curl wget vim python3-pip python3-venv build-essential
  • git:用来下载项目代码。
  • curl, wget:网络下载工具。
  • vim:一个文本编辑器,在终端里修改文件很方便。
  • python3-pip, python3-venv:Python的包管理器和虚拟环境工具,这是Python开发的基石。
  • build-essential:包含编译软件所需的基础工具。

3.2 (可选但推荐)配置GPU穿透

如果你的主机有NVIDIA显卡,并且想让虚拟机里的AI模型也能用上GPU加速,可以尝试这个步骤。这步稍微复杂点,如果失败或者你没有GPU,完全可以跳过,用CPU运行模型只是慢一点,不影响功能。

前提条件:确保你的Windows主机已安装最新版NVIDIA驱动。

  1. 关闭虚拟机:在VMware里,先将这台Ubuntu虚拟机关机。
  2. 修改虚拟机设置:在VMware主界面,选中你的虚拟机,点击“编辑虚拟机设置”。
  3. 添加PCIe设备:在“硬件”标签页,点击“添加”,选择“PCI设备”,点击“下一步”。在列表中,你应该能看到你的NVIDIA显卡(比如 NVIDIA GeForce RTX 4060),选中它,点击“确定”。
  4. 重启并安装驱动:重新启动Ubuntu虚拟机。进入系统后,再次打开终端。 你需要为虚拟机内的Ubuntu系统安装NVIDIA驱动。Ubuntu提供了一个比较安全的方式:
    sudo ubuntu-drivers autoinstall
    
    运行这个命令,系统会自动检测并安装合适的驱动。安装完成后,必须重启虚拟机
  5. 验证:重启后,在终端输入:
    nvidia-smi
    
    如果能看到显卡信息表格,显示GPU型号、驱动版本等,就说明GPU穿透成功了!虚拟机现在可以调用你的物理显卡了。

3.3 准备Python环境

为了避免不同项目的Python包互相冲突,我们为PP-DocLayoutV3创建一个独立的虚拟环境。

  1. 创建一个项目目录并进入:
    mkdir -p ~/projects/ppdoclayout
    cd ~/projects/ppdoclayout
    
  2. 创建Python虚拟环境:
    python3 -m venv paddlenlp_env
    
    这会在当前目录下创建一个名为 paddlenlp_env 的文件夹,里面是一个干净的Python环境。
  3. 激活虚拟环境:
    source paddlenlp_env/bin/activate
    
    激活后,你的命令行提示符前面通常会显示 (paddlenlp_env),表示你现在正工作在这个独立环境里。后续所有操作,请确保在这个激活的环境中进行。

4. 第三步:部署与运行PP-DocLayoutV3

环境终于准备好了,现在让我们把主角请上台。

4.1 获取项目代码与安装依赖

PP-DocLayoutV3是飞桨PaddlePaddle生态下的一个模型,所以我们先安装PaddlePaddle深度学习框架。

  1. 安装PaddlePaddle
    • 如果你成功配置了GPU,安装支持GPU的版本(速度更快):
      python -m pip install paddlepaddle-gpu==2.6.0 -i https://mirror.baidu.com/pypi/simple
      
    • 如果你使用CPU,安装CPU版本:
      python -m pip install paddlepaddle==2.6.0 -i https://mirror.baidu.com/pypi/simple
      
  2. 安装PaddleOCR和布局分析套件:PP-DocLayoutV3集成在PaddleOCR的布局分析工具中。
    python -m pip install "paddleocr>=2.7.0" "paddlestructure>=2.6.0" -i https://mirror.baidu.com/pypi/simple
    
    这个命令会安装PaddleOCR以及文档结构分析(paddlestructure)所需的包。

4.2 运行你的第一个版面分析

现在,让我们写一个简单的Python脚本来测试一下环境是否工作正常。

  1. 在项目目录下创建一个测试脚本 test_layout.py

    vim test_layout.py
    

    i 键进入编辑模式,粘贴以下代码:

    from paddlestructure import PPStructureV2
    
    # 初始化版面分析引擎,使用PP-DocLayoutV3模型
    # 首次运行会自动下载模型文件,请保持网络通畅
    table_engine = PPStructureV2(layout=True, show_log=True)
    
    # 指定一张测试图片的路径
    # 你可以先随便找一张包含文字和表格的图片,放到项目目录下,比如命名为 `test_doc.jpg`
    img_path = './test_doc.jpg'
    
    # 进行版面分析
    result = table_engine(img_path)
    
    # 打印分析结果
    for region in result:
        print(f"区域类型: {region['type']}")
        print(f"区域坐标: {region['bbox']}")
        if region['type'] in ['text', 'title']:
            print(f"识别文字: {region.get('res', 'N/A')}")
        print("-" * 30)
    

    Esc 键,然后输入 :wq 并按回车,保存并退出vim。

  2. 准备测试图片:你可以从网上找一张简单的文档截图,或者用PPT自己做一张包含标题、段落和表格的图片,保存到 ~/projects/ppdoclayout/ 目录下,并命名为 test_doc.jpg

  3. 运行脚本

    python test_layout.py
    

    第一次运行会下载模型文件,可能需要等待几分钟,取决于你的网速。下载完成后,程序会分析图片,并在终端输出识别出的各个区域(如标题、正文、表格)及其位置坐标和文字内容。

看到终端里打印出结构化的信息,就说明你的PP-DocLayoutV3开发测试环境已经完全搭建成功,并且可以正常工作了!

5. 常见问题与小技巧

第一次搭建难免会遇到点小麻烦,这里有几个我踩过的坑和解决办法。

  • 虚拟机卡顿:如果感觉Ubuntu桌面操作不流畅,可以回到虚拟机设置里,给“显示器”分配更多的显存(比如2GB或4GB),并勾选“加速3D图形”。
  • pip install 速度慢或失败:命令中我们已经使用了百度的镜像源 -i https://mirror.baidu.com/pypi/simple,如果还慢,可以尝试更换为清华源或阿里云源。
  • 模型下载中断:由于模型文件较大,下载可能不稳定。如果中断,重新运行脚本即可,paddleocr 支持断点续传。
  • 共享文件夹:想要在Windows和Ubuntu之间方便地传文件?可以在VMware的“虚拟机设置” -> “选项” -> “共享文件夹”中设置。在Ubuntu里,共享的文件夹通常位于 /mnt/hgfs/ 下。
  • 环境管理:每次打开新的终端窗口,都需要先 cd 到项目目录,然后执行 source paddlenlp_env/bin/activate 来激活虚拟环境。嫌麻烦?可以把这两行命令写到 ~/.bashrc 文件的末尾,这样每次打开终端都会自动激活。

6. 总结

走完这一整套流程,你应该已经拥有了一个运行在VMware虚拟机里的、功能完整的PP-DocLayoutV3开发测试环境。回顾一下,我们主要做了三件事:一是用VMware创建了一个隔离的Ubuntu系统;二是配置好了包括Python、GPU驱动在内的所有基础软件;三是成功安装并运行了PP-DocLayoutV3模型。

这种虚拟机方案最大的好处就是“干净”和“安全”。你可以在里面随意安装库、测试代码,甚至把系统搞崩了,也只需要几分钟就能从快照恢复或者干脆删了重装,完全不会影响你宿主机的工作。对于需要频繁切换环境,或者不想污染主力机的开发者来说,这绝对是一个值得掌握的技能。

接下来,你就可以基于这个环境,去深入探索PP-DocLayoutV3的更多功能了,比如批量处理文档、定制化模型、或者将分析结果集成到你自己的应用里去。开发之路,现在就从你这个独立的“小盒子”里开始了。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐