昇腾环境ppstreuct部署问题记录

测试代码

我是在华为昇腾910B3上测试的PPStructure。

复制代码
import os
import cv2
from PIL import Image
#from paddleocr import PPStructure,draw_structure_result,save_structure_res
from paddleocr_asyncio import PPStructure

table_engine = PPStructure(show_log=True, image_orientation=True, use_npu=True) #use_npu=False可以使用cpu推理

img_path = '/Users/fulva/Desktop/PicRec/table3.png'
img = cv2.imread(img_path)
result = table_engine(img)

print(f"result:", result)

问题1: Cannot open file inference.json

完整的报错如下:

复制代码
[2025/01/18 03:22:27] ppcls WARNING: The current running environment does not support the use of GPU. CPU has been used instead.
Traceback (most recent call last):
  File "/home/aicc/paddleocr/test_pps.py", line 7, in <module>
    table_engine = PPStructure(show_log=True, image_orientation=True, use_npu=False)
.......
RuntimeError: (NotFound) Cannot open file /root/.paddleclas/inference_model/PULC/text_image_orientation/inference.json, please confirm whether the file is normal.
  [Hint: Expected paddle::inference::IsFileExists(prog_file_) == true, but received paddle::inference::IsFileExists(prog_file_):0 != true:1.] (at /paddle/paddle/fluid/inference/api/analysis_config.cc:111)

(MindIE_1.0.RC2) root@5e3540875002:/home/aicc/paddleocr# ls /root/.paddleclas/inference_model/PULC/text_image_orientation/
inference.pdiparams  inference.pdiparams.info  inference.pdmodel

报错很明显,找不到/root/.paddleclas/inference_model/PULC/text_image_orientation/inference.json这个文件,这个文件目录是自动下载的模型目录,的确没这个文件。应该是百度的模型格式改了,导致找不到。

参考:https://github.com/PaddlePaddle/PaddleClas/issues/3329

解决方法:

复制代码
export FLAGS_enable_pir_api=0 

问题2:StridedSliceAssignD算子不支持

模型加载出错,查看plog看到如下打印

复制代码
[ERROR] GE(3453963,python):2025-01-18-04:45:16.963.458 [dnnengine_manager.cc:399]3459354 GetDNNEngineName: ErrorNo: 1343242282(assign engine failed) [COMP][SUB_OPT][Check][OpSupported]Op type StridedSliceAssignD of ops kernel AIcoreEngine is unsupported, reason : [tbe-custom]:op type StridedSliceAssignD is not found in this op store.[tbe-custom1]:op type StridedSliceAssignD is not found in this op store.[tbe-custom]:op type StridedSliceAssignD is not found in this op store.[tbe-custom1]:op type StridedSliceAssignD is not found in this op store.The op is dynamic shape, but is not configured to support dynamic shape in op store
[ERROR] GE(3453963,python):2025-01-18-04:45:16.963.946 [dnnengine_manager.cc:416]3459354 GetDNNEngineName: ErrorNo: 1343242282(assign engine failed) [COMP][SUB_OPT][Get][DNNEngineName]Can't find any supported ops kernel and engine of StridedSliceAssign34, type is StridedSliceAssignD
[ERROR] GE(3453963,python):2025-01-18-04:45:16.964.163 [engine_place.cc:68]3459354 SelectEngine: ErrorNo: 1343229963(GE is not yet initialized or is finalized.) [COMP][SUB_OPT][Check][Param] Can not find engine of op name StridedSliceAssign34 type StridedSliceAssignD
[ERROR] GE(3453963,python):2025-01-18-04:45:16.964.368 [engine_place.cc:144]3459354 operator(): ErrorNo: 4294967295(failed) [COMP][SUB_OPT]Assert ((SelectEngine(node_ptr, exclude_engines, is_check_support_success, op_info)) == ge::SUCCESS) failed

临时解决方案:https://gitee.com/ascend/modelzoo/issues/I6Y31Z?from=project-issue&search_text=StridedSliceAssignD

也就是将其它算子修改名字和配置假装是StridedSliceAssignD算子。我没事,网上说这个方法有效。

相关推荐
机器人零零壹28 分钟前
专访越擎科技创始人: 外骨骼的设计与仿真该如何入门
人工智能·具身智能·机器人仿真·离线编程·irobotcam·人形机器人设计
Cha0DD1 小时前
【由浅入深探究langchain】第二十集-SQL Agent+Human-in-the-loop
人工智能·python·ai·langchain
Cha0DD1 小时前
【由浅入深探究langchain】第十九集-官方的SQL Agent示例
人工智能·python·ai·langchain
2601_949221032 小时前
Splashtop赋能企业级远程办公全场景安全连接成选型优选
运维·人工智能·安全
阿拉斯攀登2 小时前
YOLO 视觉检测全栈核心名词指南:从训练调参到边缘部署,商用落地必懂
人工智能·yolo·计算机视觉·视觉检测·bytetrack
AAAAA92402 小时前
2026年车载机器人行业:技术突破与生态融合加速发展
人工智能·机器人·制造
科研实践课堂(小绿书)2 小时前
机器学习在智能水泥基复合材料中的应用与实践
人工智能·机器学习·复合材料·水泥基·混凝土
AI医影跨模态组学2 小时前
Hepatology(IF=16.8)复旦大学附属中山医院孙惠川、徐彬等团队:基于MRI影像组学动态变化预测HCC免疫治疗后病理完全缓解
人工智能
百万蹄蹄向前冲3 小时前
让TypeScript 再次伟大:愚人节前夜Claude Code意外开源与OpenClaw小龙虾打造 AI 原生开发新纪元
人工智能·typescript·node.js
墨韵流芳3 小时前
CCF-CSP第41次认证第三题——进程通信
c++·人工智能·算法·机器学习·csp·ccf