当前位置: 首页 > news >正文

PaddlePaddle 和PyTorch选择与对比互斥

你遇到的错误信息如下:

RuntimeError: (PreconditionNotMet) Tensor's dimension is out of bound.Tensor's dimension must be equal or less than the size of its memory.But received Tensor's dimension is 8, memory's size is 0.[Hint: Expected numel() * SizeOf(dtype()) <= memory_size(), but received numel() * SizeOf(dtype()):8 > memory_size():0.] (at ..\paddle\phi\core\dense_tensor_impl.cc:55)[operator < scale > error]

🧾 错误分析

这个错误表明 PaddlePaddle 在执行一个 scale 操作时,试图访问一个 维度为 8 的张量,但它的内存大小是 0。也就是说,这个张量没有实际数据,却在进行计算操作。

结合你的环境信息:

  • torch.__version__ == 2.7.0+cpu:这说明你安装的是 PyTorch(不是 PaddlePaddle)。
  • 却运行了 PPStructure 这个 PaddlePaddle 的文档结构化模型代码
  • 报错发生在加载 TableSystem 时,也就是表格识别模块初始化失败。

❗ 根本原因

你正在使用 PyTorch 环境运行 PaddlePaddle 的模型代码!

这是不兼容的!

PP-Structure 是基于 PaddlePaddle 深度学习框架 实现的文档结构化系统,它不能直接在 PyTorch 环境下运行。你现在使用的 Python 环境中安装的是 torch 而不是 paddlepaddle,所以模型加载失败。


✅ 正确做法

✅ 步骤 1:确认你是否真的需要使用 PP-Structure

如果你确实想用 PP-Structure(比如解析 PDF 或图像中的表格、文本等),请确保:

  1. 安装的是 paddlepaddle,而不是 torch
  2. 使用 CPU 或 CUDA 版本要匹配
  3. 不要在 PyTorch 环境中混用 PaddlePaddle 的模型代码

✅ 步骤 2:卸载 PyTorch,安装 PaddlePaddle

卸载当前的 torch:
pip uninstall torch
安装 PaddlePaddle(以 CPU 版为例):
pip install paddlepaddle==2.4.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

如果你有 GPU 并希望加速推理,请安装 CUDA 支持版本(例如 CUDA 11.8):

pip install paddlepaddle==2.4.0.post118 -i https://pypi.tuna.tsinghua.edu.cn/simple

你可以通过以下命令检查是否安装成功:

import paddle
print(paddle.__version__)
paddle.utils.run_check()

✅ 步骤 3:使用专用虚拟环境(推荐)

建议创建一个独立的虚拟环境来运行 PaddleOCR / PP-Structure:

# 创建虚拟环境
python -m venv pp_env# 激活虚拟环境
# Windows:
pp_env\Scripts\activate
# Linux/macOS:
source pp_env/bin/activate# 安装依赖
pip install paddlepaddle paddleocr

然后在这个环境中运行你的 main_paddle.py


✅ 可选:如果你想继续使用 PyTorch 环境

那你就不能使用 PP-Structure(因为它是 PaddlePaddle 生态的一部分)。你需要寻找 PyTorch 版本的替代方案,例如:

  • 使用 detectron2 + 自定义模型做文档结构化
  • 使用 LayoutParser 配合 TableMaster 做表格识别
  • 使用 DocTRKleister 等开源项目

✅ 总结

问题解决方法
使用 torch 环境运行 PaddlePaddle 代码❌ 不支持,必须切换到 paddlepaddle 环境
张量维度异常(dimension=8, memory=0)初始化失败导致,本质是环境配置错误
想要运行 PP-Structure✅ 创建专门的虚拟环境并安装 paddlepaddlepaddleocr

如需我帮你写一个完整的 PP-Structure 启动脚本或搭建环境流程,也可以继续问我 👍

相关文章:

  • 关于 js:1. 基础语法与核心概念
  • Python之pip图形化(GUI界面)辅助管理工具
  • Jenkins 改完端口号启动不起来了
  • DTU_DTU厂家_5G/4G DTU终端_DTU模块_厦门计讯物联科技有限公司
  • docker + K3S + Jenkins + Harbor自动化部署
  • 【从零开始学习RabbitMQ | 第二篇】生成交换机到MQ的可靠性保障
  • 数字文明时代开源技术驱动的商业范式重构:基于开源AI大模型、AI智能名片与S2B2C商城小程序源码的协同创新研究
  • weapp-vite - 微信小程序工具链的另一种选择
  • window 显示驱动开发-线程和同步级别为零级
  • Leetcode Hot 100 移动零
  • [原创](现代Delphi 12指南):[macOS 64bit App开发]: 如何自动打开“安全性与隐私“控制面板?
  • Docker手动重构Nginx镜像,融入Lua、Redis功能
  • AI量化解析:从暴跌5%到飙涨3%—非线性动力学模型重构黄金极端波动预测框架
  • ApplicationRunner执行顺序问题
  • 深度解读 ARM 全新白皮书——《重塑硅基:AI 时代的新基石》
  • unordered_map和unordered_set的设计
  • 学习alpha,第2个alpha
  • Acrel-EIoT 能源物联网云平台在能耗监测系统中的创新设计
  • Pandas 的透视与逆透视
  • 雅思阅读--句子结构
  • “模”范生上海,如何再进阶?
  • 贵州游船侧翻248名消防员已在搜救
  • 市场驱动的系统改造:丹麦零弃风经验研究
  • 长三角铁路今日预计发送390万人次,昨日客发量同比增长10.5%
  • 在“蟑螂屋”里叠衣服,我看见人生百态
  • 福州交警:一小型汽车因操作不当撞上汽车和电动车,致2人死亡