Open colinlwz opened 1 year ago
请问该问题解决了嘛,我也遇到类似问题
请问有人解决了这个问题吗?
我也一样问题 一直没能解决 不管是拿官方的导出 还是自己训练的导出 导出后不可用 不导出都正常
我也是一样的情况,导出的模型不可用
建议使用yolov8,这里有别人预训练的模型:https://github.com/jiangnanboy/layout_analysis
很多文档都是基于好几年前的旧版本写的,paddle及其他组件更新后这些没更新,所以有很多坑。
Hello All,
我刚刚解决了这个问题,我这边产生这个问题的原因是 input tensor 输入匹配错误,具体分享如下:
我导出的是Yolov3的模型(Det 中大部分模型类似于Yolov3),其正确的 input tensor 应该为 3个, 即: im_shape,image,scale_factor
产生错误的原因是我错误的认为input tensor为2个,image和scale_factor, 所以把 img数据给到了 im_shape 这个input_tensor,作为输入,报错信息为: InvalidArgumentError: The conv2d_fusion Op's Input Variable Input contains uninitialized Tensor. [Hint: Expected t->IsInitialized() == true, but received t->IsInitialized():0 != true:1.] (at /paddle/paddle/fluid/framework/operator.cc:2094) [operator < conv2d_fusion > error]
调整输入 input tensor的匹配关系,相关报错消除,能够得到正确的推理结果
B.R/Wu 2024.09.26
问题确认 Search before asking
请提出你的问题 Please ask your question
直接使用推理模型:
1.下载版面CDLA推理模型 wget https://paddleocr.bj.bcebos.com/ppstructure/models/layout/picodet_lcnet_x1_0_fgd_layout_cdla_infer.tar tar xf picodet_lcnet_x1_0_fgd_layout_cdla_infer.tar
2.通过PaddleOCR使用CDLA推理模型进行pdf版面恢复 cd PaddleOCR/ppstructure/ python3 predict_system.py \ --layout_model_dir=inference/picodet_lcnet_x1_0_fgd_layout_cdla_infer \ --layout_dict_path=../ppocr/utils/dict/layout_dict/layout_cdla_dict.txt \ --vis_font_path=../doc/fonts/simfang.ttf \ --recovery=True \ --det_model_dir=inference/ch_PP-OCRv3_det_infer \ --rec_model_dir=inference/ch_PP-OCRv3_rec_infer \ --table_model_dir=inference/ch_ppstructure_mobile_v2.0_SLANet_infer \ --rec_char_dict_path=../ppocr/utils/ppocr_keys_v1.txt \ --table_char_dict_path=../ppocr/utils/dict/table_structure_dict_ch.txt \ --output=../output/ \ --image_dir=/home/aistudio/test/zx/testtable.pdf
3.运行结果:OK,成功转出word文档
下载版面CDLA预训练模型并重新导出推理模型:
1.下载CDLA预训练模型 wget https://paddleocr.bj.bcebos.com/ppstructure/models/layout/picodet_lcnet_x1_0_fgd_layout_cdla.pdparams
2.通过PaddleDetection直接将预训练模型导出成infer模型 cd PaddleDetection/ python3 tools/export_model.py \ -c configs/picodet/legacy_model/application/layout_analysis/picodet_lcnet_x1_0_layout.yml \ -o weights=/home/aistudio/PaddleDetection/pretrained_model/picodet_lcnet_x1_0_fgd_layout_cdla.pdparams \ --output_dir=/home/aistudio/PaddleDetection/pretrained_model/
3.通过PaddleOCR使用CDLA推理模型进行pdf版面恢复 cd PaddleOCR/ppstructure/ python3 predict_system.py \ --layout_model_dir=/home/aistudio/PaddleDetection/pretrained_model/picodet_lcnet_x1_0_layout \ #替换成导出的模型 --layout_dict_path=../ppocr/utils/dict/layout_dict/layout_cdla_dict.txt \ --vis_font_path=../doc/fonts/simfang.ttf \ --recovery=True \ --det_model_dir=inference/ch_PP-OCRv3_det_infer \ --rec_model_dir=inference/ch_PP-OCRv3_rec_infer \ --table_model_dir=inference/ch_ppstructure_mobile_v2.0_SLANet_infer \ --rec_char_dict_path=../ppocr/utils/ppocr_keys_v1.txt \ --table_char_dict_path=../ppocr/utils/dict/table_structure_dict_ch.txt \ --output=../output/ \ --image_dir=/home/aistudio/test/zx/testtable.pdf
4.运行结果: InvalidArgumentError: The conv2d_fusion Op's Input Variable
Input
contains uninitialized Tensor. [Hint: Expected t->IsInitialized() == true, but received t->IsInitialized():0 != true:1.] (at /paddle/paddle/fluid/framework/operator.cc:2094) [operator < conv2d_fusion > error]请问有人碰到过类似问题吗,是否是导出模型这个步骤有问题