Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

训练模型导出 缺少inference.pdmodel and inference.pdiparams.info #14242

Open
3 tasks done
felixho789 opened this issue Nov 18, 2024 · 18 comments
Open
3 tasks done

Comments

@felixho789
Copy link

🔎 Search before asking

  • I have searched the PaddleOCR Docs and found no similar bug report.
  • I have searched the PaddleOCR Issues and found no similar bug report.
  • I have searched the PaddleOCR Discussions and found no similar bug report.

🐛 Bug (问题描述)

自己再训练的训练模型export_model.py导出 缺少inference.pdmodel and inference.pdiparams.info
只有inference.yml inference.json inference.pdiparams
用的是Paddle OCR 2.9, 成功训练了以下2个模型. 用infer_rec可以成功.
但是训练模型export_model.py导出 就出不了pdmodel 和pdiparams.info

检测模型
ch_PP-OCRv4_server_det 训练模型

识别模型
en_PP-OCRv4_rec 训练模型

Code used to export:
python tools/export_model.py -c configs/det/ch_PP-OCRv4_det_teacher.yml -o Global.pretrained_model="output/ch_PP-OCRv4/best_model/model" Global.save_inference_dir="output/det_db_inference/"

🏃‍♂️ Environment (运行环境)

Window 11 Python 3.10
PaddleOCR 2.9

🌰 Minimal Reproducible Example (最小可复现问题的Demo)

python tools/export_model.py -c configs/det/ch_PP-OCRv4_det_teacher.yml -o Global.pretrained_model="output/ch_PP-OCRv4/best_model/model" Global.save_inference_dir="output/det_db_inference/"

@GreatV
Copy link
Collaborator

GreatV commented Nov 18, 2024

paddle框架先安装paddle 3.0 beta 1吧

@felixho789
Copy link
Author

paddle框架先安装paddle 3.0 beta 1吧

好的, 我試試

@rainote2020
Copy link

rainote2020 commented Nov 20, 2024

paddle框架先安装paddle 3.0 beta 1吧

环境:ubuntu22+cuda12.4
我安装的是paddlepaddle-gpu 3.0.0b2,遇到跟本issue相同的问题,我的训练、测试都是没有问题的。
但是使用tools里面的expert_model.py脚本导出仅有inference.json inference.pdiparams inference.yml三个文件。

@felixho789
Copy link
Author

paddle框架先安装paddle 3.0 beta 1吧

安裝Paddle 3.0 Beta1之後 同样的问题

脚本导出沒有.pdmodel 和 .pdiparams.info

@GreatV
你能再看看吗?

@GreatV
Copy link
Collaborator

GreatV commented Nov 20, 2024

现在使用main分支可以直接用了@felixho789

@GreatV
Copy link
Collaborator

GreatV commented Nov 20, 2024

不管是json pdmodel都兼容

@rainote2020
Copy link

rainote2020 commented Nov 20, 2024

不管是json pdmodel都兼容

我想用openvino读pdmodel,读json和pdmodel是等效的吗?

@GreatV
Copy link
Collaborator

GreatV commented Nov 20, 2024

openvino 不太确定,paddle inference是可以的

@felixho789
Copy link
Author

现在使用main分支可以直接用了@felixho789

好的, 一旦我回去我再試試, 谢谢你

@rainote2020
Copy link

openvino 不太确定,paddle inference是可以的

很遗憾目前并不能用,不管是直接读取json还是改名为.pdmodel都不行,看来已经不兼容了。

@GreatV
Copy link
Collaborator

GreatV commented Nov 20, 2024

@rainote2020 我反馈一下

@GreatV
Copy link
Collaborator

GreatV commented Nov 20, 2024

另外,切换到beta1以后要重新运行导出脚本

@rainote2020
Copy link

@rainote2020 我反馈一下

感谢,顺便附上我的操作代码:
model=ovcore.read_model("./inference.json")

RuntimeError: Exception from src/inference/src/cpp/core.cpp:90:
Exception from src/inference/src/model_reader.cpp:154:
Unable to read the model: ./inference.json Please check that model format: json is supported and the model is correct. Available frontends: ir tf paddle pytorch tflite onnx

model=ovcore.read_model("./inference.pdmodel")#仅仅改了后缀

RuntimeError: Exception from src/inference/src/cpp/core.cpp:90:
Check 'm_fw_ptr->ParseFromIstream(&pb_stream)' failed at src/frontends/paddle/src/input_model.cpp:406:
FrontEnd API failed with GeneralFailure:
Model can't be parsed

@rainote2020
Copy link

现在使用main分支可以直接用了@felixho789

好的, 一旦我回去我再試試, 谢谢你

我实测回滚到beta1之后导出是正常有pdmodel的。把pip命令里b2改成b1就行,可以检查一下pip list看看你回退版本是否成功了。

@felixho789
Copy link
Author

@rainote2020
你是先裝PaddleX 3.0 beta1还是直接PaddleOCR

你的PaddleOCR版本是什么?
main or 2.9?

@rainote2020
Copy link

@rainote2020 你是先裝PaddleX 3.0 beta1还是直接PaddleOCR

你的PaddleOCR版本是什么? main or 2.9?

我先安装的paddle,没有paddleX,原本是b2,使用的是官网给出的pip安装方式。https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/develop/install/pip/linux-pip.html
paddleocr是2.9.1,是用pip直接安装的,所以牵扯不到main分支。安装过程中没有什么问题。
刚才用安装paddle的命令改了一下b1,自动卸载并安装了b1版本的paddle,paddleocr没有变化。

pip list|grep paddle
paddleocr 2.9.1
paddlepaddle-gpu 3.0.0b1

@GreatV
Copy link
Collaborator

GreatV commented Nov 20, 2024

@felixho789 如果是使用paddlex遇到的问题建议在paddlex仓库issues区提,这样能获得更专业的回答。另外我上面指的是paddle框架的版本。

@felixho789
Copy link
Author

@GreatV @rainote2020
非常感谢你们, 我回去再试试

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants