【PaddleOCR报错】(InvalidArgument) Broadcast dimension mismatch.

项目场景:

百度飞浆OCR做识别,训练了自己的模型,在推理预测过程中报错

都是使用的v4进行训练的,CPU,PaddlePaddle2.6.1


问题描述

导出模型后,在推理预测时候,遇到了如下报错,有无大佬遇到过,尝试了各种方法。无果。。。

(OCRTest) D:\BaiduNetdiskDownload\PaddleOCR-dygraph\PaddleOCR-dygraph>python tools/infer/predict_rec.py --image_dir="D:/BaiduNetdiskDownload/PaddleOCR-dygraph/PaddleOCR-dygraph/train_data/2024_08_26_16_37_47.png" --rec_model_dir="D:/BaiduNetdiskDownload/PaddleOCR-dygraph/PaddleOCR-dygraph/output/db_lqq_infer/Student"
E0910 10:39:18.437500 19012 analysis_config.cc:125] Please use PaddlePaddle with GPU version.
[2024/09/10 10:39:19] ppocr INFO: In PP-OCRv3, rec_image_shape parameter defaults to '3, 48, 320', if you are using recognition model with PP-OCRv2 or an older version, please set --rec_image_shape='3,32,320
[2024/09/10 10:39:19] ppocr INFO: Traceback (most recent call last):
  File "tools/infer/predict_rec.py", line 722, in main
    rec_res, _ = text_recognizer(img_list)
  File "tools/infer/predict_rec.py", line 670, in __call__
    self.predictor.run()
ValueError: (InvalidArgument) Broadcast dimension mismatch. Operands could not be broadcast together with the shape of X = [1, 96, 3, 20] and the shape of Y = [1, 96, 4, 20]. Received [3] in X is not equal to [4] in Y at i:2.
  [Hint: Expected x_dims_array[i] == y_dims_array[i] || x_dims_array[i] <= 1 || y_dims_array[i] <= 1 == true, but received x_dims_array[i] == y_dims_array[i] || x_dims_array[i] <= 1 || y_dims_array[i] <= 1:0 != true:1.] (at ..\paddle/phi/kernels/funcs/common_shape.h:86)
  [operator < elementwise_add > error]

[2024/09/10 10:39:19] ppocr INFO: (InvalidArgument) Broadcast dimension mismatch. Operands could not be broadcast together with the shape of X = [1, 96, 3, 20] and the shape of Y = [1, 96, 4, 20]. Received [3] in X is not equal to [4] in Y at i:2.
  [Hint: Expected x_dims_array[i] == y_dims_array[i] || x_dims_array[i] <= 1 || y_dims_array[i] <= 1 == true, but received x_dims_array[i] == y_dims_array[i] || x_dims_array[i] <= 1 || y_dims_array[i] <= 1:0 != true:1.] (at ..\paddle/phi/kernels/funcs/common_shape.h:86)
  [operator < elementwise_add > error]

问题解决

把推理命令换成下面这个


python tools/infer/predict_system.py --image_dir="D:/BaiduNetdiskDownload/PaddleOCR-dygraph/PaddleOCR-dygraph/train_data/2024_08_26_16_37_47.png" --det_model_dir="D:/BaiduNetdiskDownload/PaddleOCR-dygraph/PaddleOCR-dygraph/output/db_lqq_infer/Student" --rec_model_dir="D:/BaiduNetdiskDownload/PaddleOCR-dygraph/PaddleOCR-dygraph/inference_model/ch_PP-OCRv4_rec_infer"
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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、付费专栏及课程。

余额充值