部署PaddleOCR-VL-1.6的CPU版本!通过Dockerfile在飞牛OS上

📅 2026/6/17 14:03:09
部署PaddleOCR-VL-1.6的CPU版本!通过Dockerfile在飞牛OS上
1、稀奇古怪的玩法在部署PaddleOCR-VL-1.5的文章中有小伙伴提到可以出一期在飞牛NAS上部署的文章吗答案当然是可以这真是非常猎奇的玩法我从来没有这么干过。有没有打开新世界的门我不知道。但是折腾是一刻不停啊从虚拟机安装飞牛OS飞牛上的Docker到Dockerfile创建镜像再到部署容器最后到调用接口整个过程都是乐此不疲。同时我也感慨技术更新的速度飞快。刚刚写完PaddleOCR-VL-1.5的文章就发现PaddleOCR-VL-1.6已经发布。这样的节奏往好了说是让你在有限的时间里看到更多的事物经历更多的事情。就像今天看到的一个视频说张学良将军出生在清朝末代皇帝时期经历过时代巨变听过周杰伦的歌于《范特西》发布后离世。那往坏了说呢我就先不说了。反正在AI程序员的加持下软件开放的速度是越来越快。我感受到了时空的错乱。2、NAS和飞牛OSNAS全拼是Network Attached Storage即网络附加存储可以看作是一个私人的云盘。它主要的功能是文件的存储和备份。就事论事来说我到现在也没有使用过。我还是老模式个人的数字文件直接放到移动硬盘中。确实没有非常重要到多备份的情况。有人问了那电影呢我还真有两块硬盘存电影偶尔看看剩下的直接在线看了。不过啊要是NAS真的非常方便我也会考虑考虑。飞牛 OSfnOS 是一个国产的、免费的 NAS 操作系统除了基本的文件存储和备份功能它的娱乐软件也很好像智能影视啊等等。它默认提供了Docker让你可以做一些更有意思更脑洞打开的事情就比如部署PaddleOCR-VL-1.6。3、PaddleOCR-VL-1.6通过欠优化区域精炼与渐进式后训练拓展文档解析的边界这是PaddleOCR-VL-1.6的出场介绍。紧接着是它的官方介绍我们推出 PaddleOCR-VL-1.6这是在 PaddleOCR-VL-1.5 基础上升级的轻量级文档解析模型。PaddleOCR-VL-1.6 引入了一种区域感知的数据优化框架能够识别前代模型中的薄弱区域并对这些区域进行有针对性的增强从而提升监督信号的可靠性。此外该模型还采用了一种基于精选数据筛选和强化学习的渐进式后训练方案通过分阶段优化将模型性能推向更高水平。PaddleOCR-VL-1.6 在 OmniDocBench v1.6 上取得了 96.33% 的全新 SOTA 成绩同时也在 OmniDocBench v1.5 和 Real5-OmniDocBench 上刷新了记录并在与顶级视觉语言模型VLM的对比中展现出强劲竞争力。该模型架构与 PaddleOCR-VL-1.5 完全兼容支持零成本即插即用迁移。总结就是它是从1.5基础上升级来的比1.5更强而且无缝升级。顺便提一下SOTAState-of-the-Art直译是艺术的巅峰在AI领域经常使用翻译为“最先进的”或者是“当前最高水平”。4、虚拟机中安装飞牛OS只是试验性质所以选择成本最小的方式虚拟机安装。官网https://www.fnnas.com/下载飞牛OS使用virtualbox安装给多些资源就好剩下的就下一步下一步直到重启后安装完成。出现下面的画面。此时我面对终端迅速输入我在虚拟机中设置的账户和密码确定后得到的都是负反馈-登录不进去。我以为是自己记错了账户和密码其实不然。因为到现在为止我们并没有账户和密码。怎么才能有呢需要在webUI上注册。这就给虚拟机安装的我添加了麻烦。我关掉虚拟机在网络设置中配置端口5666的转发。简单描述就是虚拟机网络连接方式是“网络地址转换(NAT)”在“高级”里点击 “端口转发”增加一条规则将里面的端口写成5666.重启虚拟机依然是刚刚的界面。这时在主机的浏览器中打开127.0.0.1:5666飞牛webUI就出现在你的眼前接下来就配置你的账户和密码。进入webUI的桌面后你会发现它跟普通操作系统的桌面非常类似。该有的都有并且Docker图标也非常显眼的出现在桌面上。同时虚拟机终端上你也可以用刚刚注册的账户和密码登录。比如我想看看这个Docker是什么版本5、Dockerfile构建cpu版本镜像上一次直接采用了官方的gpu版本的镜像验证了VL-1.5的能力。这一次不同虚拟机上的飞牛OS没有gpu能力那就改用cpu方案吧。官方并没有cpu版本的镜像思考再三还是自己构建最为妥当。我的想法是先用本地的Docker快速验证导出镜像tar包飞牛OS中直接导入。岂不美哉5.1 Dockerfile设计在创建镜像前需要确定好各个依赖软件的版本python版本要求在3.9~3.13之间PaddlePaddle要求3.2.1及以上PaddleOCR-VL基础包paddleocr[doc-parser]3.6.0。基于此我选择在python:3.10-slim镜像基础上构建。5.1.1 基础配置和基础软件FROM m.daocloud.io/docker.io/library/python:3.10-slim# 设置工作目录WORKDIR /app# 设置apt镜像源为清华源RUNsed-is/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g/etc/apt/sources.list.d/debian.sources# 设置 pip 镜像源为清华源RUN pip configsetglobal.index-url https://pypi.tuna.tsinghua.edu.cn/simple\pip configsetglobal.trusted-host pypi.tuna.tsinghua.edu.cn# 安装运行时必需的系统库RUNapt-getupdateapt-getinstall-y--no-install-recommends\libgl1\libglib2.0-0\libgomp1\wget\rm-rf/var/lib/apt/lists/*# 1. 升级 pipRUN pipinstall--upgradepip# 2. 安装 PaddlePaddle 3.2.1CPU版本# gpu版本只需要pip install paddlepaddle-gpu3.2.1 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/RUN pipinstallpaddlepaddle3.2.1# 3. 安装 PaddleOCR 和 modelscope魔塔用来下载模型RUN pipinstallpaddleocr[doc-parser]3.6.0modelscope5.1.2 下载模型、映射及配置环境变量# 4. 下载模型# # 下载 PP-DocLayoutV3 模型# RUNmkdir-p/paddle_models\modelscope download--modelPaddlePaddle/PP-DocLayoutV3\--local_dir/paddle_models/PP-DocLayoutV3# # 下载 PaddleOCR-VL-1.6 模型# RUNmkdir-p/paddle_models\modelscope download--modelPaddlePaddle/PaddleOCR-VL-1.6\--local_dir/paddle_models/PaddleOCR-VL-1.6# # 创建软链接到 PaddleX 默认缓存路径# RUNmkdir-p/root/.paddlex/official_models\ln-s/paddle_models/PaddleOCR-VL-1.6 /root/.paddlex/official_models/PaddleOCR-VL-1.6\ln-s/paddle_models/PP-DocLayoutV3 /root/.paddlex/official_models/PP-DocLayoutV3# 设置环境变量ENVPADDLEX_HOME/root/.paddlex CMD[/bin/bash]Dockerfile写完后可以直接用docker的build命令来构建下面作为一个参考PS D:\docker\paddleocr-vl-1.6dockerbuild-tpaddleocr-vl-1.6-cpu:latest-fDockerfile.[]Building140.3s(12/12)FINISHED当然用compose是更加方便的一种管理方式。5.2 docker-compose文件services: paddleocr-vl-cpu: build:.image: paddleocr-vl-1.6-cpu:latest# 容器的名称container_name: paddleocr-vl-cpu restart: unless-stopped ports: -8080:8080stdin_open:truetty:truecommand:[/bin/bash]启动镜像的构建容器的启动一条龙服务PS D:\docker\paddleocr-vl-1.6docker-composeup-d--buildPS D:\docker\paddleocr-vl-1.6dockerps-aCONTAINER IMAGE COMMAND PORTS NAMES paddleocr-vl-1.6-cpu:latest/bin/bash0.0.0.0:8080-8080/tcp paddleocr-vl6、测试VL-1.6模型先来看看构建的镜像大小dockder images paddleocr-vl-1.6-cpu:latest7.03GB2.58GB非常大看起来需要的模型是已经下载了。我们到内部去看看PS D:\docker\paddleocr-vl-1.6dockerexec-itpaddleocr-vl-cpu /bin/bash root4b3815e771ff:/app# cdroot4b3815e771ff:~# cd .paddlex/root4b3815e771ff:~/.paddlex# cd official_models/root4b3815e771ff:~/.paddlex/official_models# lsPP-DocLayoutV3 PaddleOCR-VL-1.6可以看到需要的两个模型都可以找到那么接下来激动人心的时刻到了测试那张新闻图片吧。root4b3815e771ff:~/.paddlex/official_models# paddleocr doc_parser -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/paddleocr_vl_demo.png --pipeline_version v1.6Creating model:(PP-DocLayoutV3, None, None)Model files already exist. Using cached files. To redownload, please delete the directory manually:/root/.paddlex/official_models/PP-DocLayoutV3.Creating model:(PaddleOCR-VL-1.6-0.9B, None, None)Model files already exist. Using cached files. To redownload, please delete the directory manually:/root/.paddlex/official_models/PaddleOCR-VL-1.6.Bucketed engine_config has no entryforresolved enginepaddle_dynamic;using an empty configforthat engine. Loading configurationfile/root/.paddlex/official_models/PaddleOCR-VL-1.6/config.json Loading weightsfile/root/.paddlex/official_models/PaddleOCR-VL-1.6/model.safetensors[2026/06/13 03:01:40]paddleocr INFO: Processed item0in350333.27198028564ms还是那台PC机CPU i7-13700KF 3.40 GHz内存32GB整个推理过程350秒5分多钟这就是CPU版本的PaddleOCR-VL-1.6的推理时间。可以劝退了吧。7、导出镜像# 直接导出 tar 文件dockersave-opaddleocr-vl-1.6-cpu.tar paddleocr-vl-1.6-cpu:latest由于没有做压缩这个tar文件在2.4GB大小。8、飞牛OS导入镜像在飞牛webUI的文件管理应用中将上面的tar包上传到飞牛OS的文件系统中。接下来准备导入。但是在飞牛webUI的Docker页面我并没有找到导入镜像的功能。怎么办我准备试试用终端。# 从 tar 导入dockerload-ipaddleocr-vl-1.6-cpu.tar9、创建容器这次回到飞牛webUI的Docker页面点击创建容器。10、进入容器终端执行文档识别在容器列表中找到 paddleocr-vl-cpu点击右侧的终端图标或“详情”→“控制台”在容器中执行文档识别命令paddleocr doc_parser-ihttps://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/paddleocr_vl_demo.png--pipeline_versionv1.6--output_dir./output这个虚拟机是在笔记本电脑上分配了16GB内存CPU给了6核推理时间就更加惨不忍睹。简直就是不可用。操作视频见同名视频号或公众号。11、写在后面折腾了一圈得出一个结论CPU部署PaddleOCR-VL-1.6模型推理时间太长了不能接受。有什么收获呢最主要的我们用Dockerfile构建了一个镜像只需要稍加改动paddlepaddle版本就可以既支持cpu又支持gpu。这个镜像我上传到云盘了在公众号菜单可以找到。使用上面的Dockerfile和docker-compose文件你可以构建自己的镜像。其次认识了飞牛OS。后面可以做网络穿透后真正用作自己的NAS。就这样折腾不易给个赞点个关注再走另外要是有其他好玩的评论区告诉我大家一起折腾参考https://help.fnnas.com/articles/v1/start/install-oshttps://github.com/ophub/fnnashttps://www.paddleocr.ai/main/version3.x/algorithm/PaddleOCR-VL/PaddleOCR-VL-1.6.htmlhttps://www.modelscope.cn/models/PaddlePaddle/PaddleOCR-VL-1.6https://www.modelscope.cn/models/PaddlePaddle/PP-DocLayoutV3