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 启动脚本或搭建环境流程,也可以继续问我 👍

PaddlePaddle是一个开源的深度学习平台,可以用于构建训练深度学习模型。如果你想使用PaddlePaddle,可以通过源码编译的方式来安装。首先,你需要在Git Bash中执行以下两条命令来将PaddlePaddle的源码克隆到本地,并进入Paddle目录: ``` git clone https://github.com/PaddlePaddle/Paddle.git cd Paddle ``` 接下来,你可以根据自己的需求进行编译。如果你使用的是Windows系统,可以使用源码编译来安装符合你需求的PaddlePaddle版本。具体的编译步骤可以参考官方文档中的Windows下源码编译部分\[2\]。 如果你想在docker镜像中编译PaddlePaddle,可以使用以下命令启动docker镜像并进行编译。如果你需要编译CPU版本,可以使用以下命令: ``` sudo docker run --name paddle-test -v $PWD:/paddle --network=host -it hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash ``` 如果你需要编译GPU版本,可以使用以下命令: ``` sudo nvidia-docker run --name paddle-test -v $PWD:/paddle --network=host -it hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash ``` 以上是关于使用源码编译PaddlePaddle的一些基本步骤命令。你可以根据自己的需求操作系统选择适合的方式来安装PaddlePaddle。 #### 引用[.reference_title] - *1* *2* *3* [《PaddlePaddle从入门到炼丹》一——新版本PaddlePaddle的安装](https://blog.csdn.net/qq_33200967/article/details/83052060)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值