×

签到

分享到微信

打开微信,使用扫一扫进入页面后,点击右上角菜单,

点击“发送给朋友”或“分享到朋友圈”完成分享

连续进行多个离线模型的推理问题 已完结 sunxiaofeng2023-05-21 22:40:17 回复 5 查看 使用求助
连续进行多个离线模型的推理问题
分享到:

【寒武纪硬件产品型号】必填*:
例如:MLU270

【使用操作系统】必填*:
例如:ubuntu

【使用驱动版本】必填*:
例如:v4.20.6

【出错信息】必填*:

使用cnrt对第一个离线模型net1推理后,再使用cnml算子对net1的结果进行处理后,再次使用cnrt调动第二个离线模型net2时,使用

  cnrtCreateFunction(&function2);

  assert(cnrtExtractFunction(&function2, model2, name2.c_str())==CNRT_RET_SUCCESS);

  cnrtCreateRuntimeContext(&rt_ctx_, function2, NULL);

  cnrtSetRuntimeContextDeviceId(rt_ctx_, dev2);

  cnrtInitRuntimeContext(rt_ctx_, NULL);

对net1使用的rt_ctx按照如上初始化(function2是net2的function),错误提示

2023-05-21 22:46:17.914270: [cnrtError] [82714] [Card : 0] Init kernel intmd memory failed!

2023-05-21 22:46:17.914321: [cnrtError] [82714] [Card : 0] Init kernel 0 intmd memory failed!

2023-05-21 22:46:17.914334: [cnrtError] [82714] [Card : 0] Init kernel graph private space failed!

2023-05-21 22:46:17.914344: [cnrtError] [82714] [Card : 0] cnrtInitRuntimeContext: Initialize memory failed!

如果未对rt_ctx初始化,仅做如下操作:

  cnrtCreateFunction(&function2);

  assert(cnrtExtractFunction(&function2, model2, name2.c_str())==CNRT_RET_SUCCESS);

  cnrtCreateRuntimeContext(&rt_ctx_, function2, NULL);

  cnrtSetRuntimeContextDeviceId(rt_ctx_, dev2);

时,错误提示为:

2023-05-21 22:49:00.291792: [cnrtError] [82896] [Card : 0] cnrtInvokeRuntimeContext_V2: Runtime context is not initialized yet.

2023-05-21 22:49:00.291811: [cnrtError] [82896] [Card : 0] [/root/sxf_workdir/work_516/fnet_forward_offline.cpp:381] CNRT error, code=632024(The current environment has not been initialized or an error occurred during initialization.) "cnrtInvokeRuntimeContext(rt_ctx_, param2, cnrt_queue, nullptr)" 


【当前已做了哪些信息确认】选填:
例如:交叉验证/CPU能运行/调试通过等

net1与net2单独离线运行都可运行
【参考配置文档链接】选填

Cambricon CNRT Developer Guide — Cambricon CNRT Developer Guide 6.4.1 documentation
【相关日志文档】选填
如有,可附件


【出错代码链接】选填:
github的或gitee的代码的链接,

版权所有 © 2024 寒武纪 Cambricon.com 备案/许可证号:京ICP备17003415号-1
关闭