Open Idaydayup opened 9 months ago
我也遇到了类似的问题。
+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
代码
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):
输入图片和文本框
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