opendatalab / PDF-Extract-Kit

A Comprehensive Toolkit for High-Quality PDF Content Extraction
https://pdf-extract-kit.readthedocs.io/zh-cn/latest/index.html
GNU Affero General Public License v3.0
5.25k stars 353 forks source link

layout的模型pth怎么转成onnx #71

Open qrsssh opened 2 months ago

qrsssh commented 2 months ago

layout的模型pth怎么转成onnx

qrsssh commented 2 months ago

layout前向的代码中看到其实模型用的是detectron2模型吗?没有用LayoutLMv3?

qrsssh commented 2 months ago

@myhloli 求帮忙解答

myhloli commented 2 months ago

@wangbinDL 麻烦解答一下

qrsssh commented 2 months ago

@wangbinDL 麻烦解答一下 @wangbinDL 多谢两位了,现在就是相把layout的pth模型转为可以支持动态batch的onnx模型

wangbinDL commented 2 months ago

Check if this is what you need: https://github.com/huggingface/transformers/pull/17953

qrsssh commented 2 months ago

Check if this is what you need: huggingface/transformers#17953

这个只支持:Cannot determine framework from given checkpoint location. There should be a pytorch_model.bin for PyTorch or tf_model.h5 for TensorFlow.

ouyanglinke commented 2 months ago

Layoutlmv3的训练用的是Object Detection部分。

qrsssh commented 2 months ago

Layoutlmv3的训练用的是Object Detection部分。 请教一下, 所以要用detectron2的export_model.py export onnx模型吗. 多谢多谢了

ouyanglinke commented 2 months ago

根据Layoutlmv3上的issue来看,这个问题现在好像还没有solve,可以关注这两个issue看看后续有没有解答:

Joker1212 commented 2 months ago

麻烦大佬看下pr,提交了一个转换为onnx模型并进行量化的代码,带上了和原始模型的推理速度和推理结果的输出可视化方法

qrsssh commented 1 month ago

麻烦大佬看下pr,提交了一个转换为onnx模型并进行量化的代码,带上了和原始模型的推理速度和推理结果的输出可视化方法

非常感谢您的工作,根据pr成功跑通, 但是仅支持单图像的推理,不支持batch推理

Joker1212 commented 1 month ago

麻烦大佬看下pr,提交了一个转换为onnx模型并进行量化的代码,带上了和原始模型的推理速度和推理结果的输出可视化方法

非常感谢您的工作,根据pr成功跑通, 但是仅支持单图像的推理,不支持batch推理

emmm,需要我再支持一下这个吗?我看使用的时候都是单图使用的,理论上原模型支持batch的话,只要适配一下输入就可以

qrsssh commented 1 month ago

麻烦大佬看下pr,提交了一个转换为onnx模型并进行量化的代码,带上了和原始模型的推理速度和推理结果的输出可视化方法

非常感谢您的工作,根据pr成功跑通, 但是仅支持单图像的推理,不支持batch推理

emmm,需要我再支持一下这个吗?我看使用的时候都是单图使用的,理论上原模型支持batch的话,只要适配一下输入就可以

支持多batch的话,在GPU上加速是最明显的了,比量化来的更快

Joker1212 commented 1 month ago

麻烦大佬看下pr,提交了一个转换为onnx模型并进行量化的代码,带上了和原始模型的推理速度和推理结果的输出可视化方法

非常感谢您的工作,根据pr成功跑通, 但是仅支持单图像的推理,不支持batch推理

emmm,需要我再支持一下这个吗?我看使用的时候都是单图使用的,理论上原模型支持batch的话,只要适配一下输入就可以

支持多batch的话,在GPU上加速是最明显的了,比量化来的更快

我实践了一下,其实可以导出多batch,但是受限于trace的图生成,导致在导出的时候必须声明batch的数量,而且在使用的时候,一定要输入相同数量的输入,可能有效的办法是,直接修正模型,对内部的结构尽可能去掉python的类型,使用tensor以及避免-1这种下标索引,但是改动太大了,我能力有限,确实现在做不到

qrsssh commented 1 month ago

麻烦大佬看下pr,提交了一个转换为onnx模型并进行量化的代码,带上了和原始模型的推理速度和推理结果的输出可视化方法

非常感谢您的工作,根据pr成功跑通, 但是仅支持单图像的推理,不支持batch推理

emmm,需要我再支持一下这个吗?我看使用的时候都是单图使用的,理论上原模型支持batch的话,只要适配一下输入就可以

支持多batch的话,在GPU上加速是最明显的了,比量化来的更快

我实践了一下,其实可以导出多batch,但是受限于trace的图生成,导致在导出的时候必须声明batch的数量,而且在使用的时候,一定要输入相同数量的输入,可能有效的办法是,直接修正模型,对内部的结构尽可能去掉python的类型,使用tensor以及避免-1这种下标索引,但是改动太大了,我能力有限,确实现在做不到

哈哈,求邮箱

Joker1212 commented 1 month ago

目前来说可以先作为cpu环境下的一个优化,我这边的话打算等py3.13稳定了启动多线程推理实现批量,我记得有个微信讨论群,我在那个群里,有问题可以一起讨论交流,@大肚咕噜这个昵称

麻烦大佬看下pr,提交了一个转换为onnx模型并进行量化的代码,带上了和原始模型的推理速度和推理结果的输出可视化方法

非常感谢您的工作,根据pr成功跑通, 但是仅支持单图像的推理,不支持batch推理

emmm,需要我再支持一下这个吗?我看使用的时候都是单图使用的,理论上原模型支持batch的话,只要适配一下输入就可以

支持多batch的话,在GPU上加速是最明显的了,比量化来的更快

我实践了一下,其实可以导出多batch,但是受限于trace的图生成,导致在导出的时候必须声明batch的数量,而且在使用的时候,一定要输入相同数量的输入,可能有效的办法是,直接修正模型,对内部的结构尽可能去掉python的类型,使用tensor以及避免-1这种下标索引,但是改动太大了,我能力有限,确实现在做不到

哈哈,求邮箱

qrsssh commented 1 month ago

目前来说可以先作为cpu环境下的一个优化,我这边的话打算等py3.13稳定了启动多线程推理实现批量,我记得有个微信讨论群,我在那个群里,有问题可以一起讨论交流,@大肚咕噜这个昵称

麻烦大佬看下pr,提交了一个转换为onnx模型并进行量化的代码,带上了和原始模型的推理速度和推理结果的输出可视化方法

非常感谢您的工作,根据pr成功跑通, 但是仅支持单图像的推理,不支持batch推理

emmm,需要我再支持一下这个吗?我看使用的时候都是单图使用的,理论上原模型支持batch的话,只要适配一下输入就可以

支持多batch的话,在GPU上加速是最明显的了,比量化来的更快

我实践了一下,其实可以导出多batch,但是受限于trace的图生成,导致在导出的时候必须声明batch的数量,而且在使用的时候,一定要输入相同数量的输入,可能有效的办法是,直接修正模型,对内部的结构尽可能去掉python的类型,使用tensor以及避免-1这种下标索引,但是改动太大了,我能力有限,确实现在做不到

哈哈,求邮箱

没有加微信群,求个微信群的链接

Joker1212 commented 1 month ago

项目首页有哈,微信群二维码

目前来说可以先作为cpu环境下的一个优化,我这边的话打算等py3.13稳定了启动多线程推理实现批量,我记得有个微信讨论群,我在那个群里,有问题可以一起讨论交流,@大肚咕噜这个昵称

麻烦大佬看下pr,提交了一个转换为onnx模型并进行量化的代码,带上了和原始模型的推理速度和推理结果的输出可视化方法

非常感谢您的工作,根据pr成功跑通, 但是仅支持单图像的推理,不支持batch推理

emmm,需要我再支持一下这个吗?我看使用的时候都是单图使用的,理论上原模型支持batch的话,只要适配一下输入就可以

支持多batch的话,在GPU上加速是最明显的了,比量化来的更快

我实践了一下,其实可以导出多batch,但是受限于trace的图生成,导致在导出的时候必须声明batch的数量,而且在使用的时候,一定要输入相同数量的输入,可能有效的办法是,直接修正模型,对内部的结构尽可能去掉python的类型,使用tensor以及避免-1这种下标索引,但是改动太大了,我能力有限,确实现在做不到

哈哈,求邮箱

没有加微信群,求个微信群的链接