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

RuntimeError: (NotFound) Operator (one_hot) is not registered. [Hint: op_info_ptr should not be null.] (at ..\paddle/fluid/framework/op_info.h:152) #513

Open
Idaydayup opened this issue Dec 28, 2023 · 5 comments

Comments

@Idaydayup
Copy link

代码

import gradio as gr
from paddlenlp import Taskflow
import numpy as np
from PIL import Image
import uuid

初始化文档智能任务模型

docprompt = Taskflow("document_intelligence")

定义模型推理函数

def model_inference(image, prompt):
prompt = prompt.split("?")[:-1]
img = Image.fromarray(np.uint8(image))
filename = "image/" + str(uuid.uuid4()) + ".png"
img.save(filename)
res = docprompt([{"doc": filename, "prompt": prompt}])
json_out = {"result": res}
print(json_out)
return image, json_out

定义清除函数

def clear_all():
return None, None, None

使用Gradio构建用户界面

with gr.Blocks() as demo:
gr.Markdown("ERNIE-Layout")
with gr.Column(scale=1, min_width=100):
# 输入图片和文本框
img_in = gr.Image(value="图片.jpg", label="Input")
text = gr.Textbox(value="发票号码是多少?校验码是多少?", label="输入问题:", lines=2)
with gr.Row():
# 清除和提交按钮
btn1 = gr.Button("Clear")
btn2 = gr.Button("Submit")
json_out = gr.JSON(label="Information Extraction Output")
img_out = gr.Image(label="Output") # 输出图片
# 绑定按钮点击事件到函数
btn1.click(fn=clear_all, inputs=None, outputs=[img_in, img_out, json_out])
btn2.click(fn=model_inference, inputs=[img_in, text], outputs=[img_out, json_out])
demo.launch(server_port=7008) # 启动Gradio界面,监听7008端口)

#报错D:\anaconda\envs\p5\python.exe D:\pycharm\实训2\任务5\内容识别.py
D:\anaconda\envs\p5\lib\site-packages_distutils_hack_init_.py:33: UserWarning: Setuptools is replacing distutils.
warnings.warn("Setuptools is replacing distutils.")
E1228 17:47:01.441207 15760 analysis_config.cc:653] Please compile with MKLDNN first to use MKLDNN
Traceback (most recent call last):
File "D:\pycharm\实训2\任务5\内容识别.py", line 18, in
docprompt = Taskflow("document_intelligence")
File "D:\anaconda\envs\p5\lib\site-packages\paddlenlp\taskflow\taskflow.py", line 804, in init
self.task_instance = task_class(
File "D:\anaconda\envs\p5\lib\site-packages\paddlenlp\taskflow\document_intelligence.py", line 68, in init
self._get_inference_model()
File "D:\anaconda\envs\p5\lib\site-packages\paddlenlp\taskflow\task.py", line 372, in _get_inference_model
self._prepare_static_mode()
File "D:\anaconda\envs\p5\lib\site-packages\paddlenlp\taskflow\task.py", line 227, in _prepare_static_mode
self.predictor = paddle.inference.create_predictor(self._config)
RuntimeError: (NotFound) Operator (one_hot) is not registered.
[Hint: op_info_ptr should not be null.] (at ..\paddle/fluid/framework/op_info.h:152)

进程已结束,退出代码1

@likenamehaojie
Copy link

我也遇到了类似的问题。

@m7mdhka
Copy link

m7mdhka commented Jan 20, 2024

+1 same issue

@magicianCoder
Copy link

应该是paddle版本导致,退回到paddlepaddle==1.5.0就好了(参照taskflow无法使用document_intelligent

@QQbbla
Copy link

QQbbla commented Apr 8, 2024

回退倒2.5之后会出现别的error,pipe = DocPipeline(preprocessor=preprocessor, docreader=docprompter)
TypeError: init() got an unexpected keyword argument 'docreader'
how to solve it?

@jonyllamado
Copy link

Try downgrading paddlepaddle-gpu from 2.6.2 to 2.5.2

python3 -m pip install paddlepaddle-gpu==2.5.2.post120 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

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

6 participants