RuntimeError: (NotFound) Operator (one_hot) is not registered. [Hint: op_info_ptr should not be null.] (at ..\paddle/fluid/framework/op_info.h:152)
代码
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
进程已结束,退出代码1
我也遇到了类似的问题。
+1 same issue
应该是paddle版本导致,退回到paddlepaddle==1.5.0就好了(参照taskflow无法使用document_intelligent)
回退倒2.5之后会出现别的error,pipe = DocPipeline(preprocessor=preprocessor, docreader=docprompter) TypeError: init() got an unexpected keyword argument 'docreader' how to solve it?
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