Toybrick

标题: 自定义OP错误 [打印本页]

作者: zhanghui-aibee    时间: 2020-5-22 15:14
标题: 自定义OP错误
Hi , 我们需要添加自定义OP,遇到一些问题,希望解答一下。
参考官方手册《Rockchip_Developer_Guide_RKNN_Toolkit_Custom_OP_CN》
遇到以下问题:
1.使用rknn-toolkit-V1.3.0工具,测试examples/common_function_demos/custom_op/rknn_custom_op_resize示例,
  运行python3 -m rknn.bin.custom_op --action build --op_path ./resize_area
[attach]1114[/attach]

  PC运行测试示例: 提示 E [str2op:135]Can not find op:RESIZEAREA
[attach]1115[/attach]
  3399pro板卡运行报错:
  [attach]1116[/attach]

  测试代码:在转换模型时会把load_rknn注释掉。
  [attach]1117[/attach]
2.在《Rockchip_User_Guide_RKNN_API_V1.3.0_CN》[img][/img]文档中,并没有加载自定义op的相关API? 如何在调用API的情况下,加载自定义OP?

谢谢!

作者: jefferyzhang    时间: 2020-5-26 08:29
1.3.2试过不?
作者: zhanghui-aibee    时间: 2020-5-26 10:58
jefferyzhang 发表于 2020-5-26 08:29
1.3.2试过不?

没有,1.3.2对自定义算子有更新吗?
作者: zhanghui-aibee    时间: 2020-5-26 21:36
jefferyzhang 发表于 2020-5-26 08:29
1.3.2试过不?

测试了一下,还是过不了,报相同的错误。
测试环境:v1.3.2
测试自定义op使用的是rknn-toolkit-1.3.2中examples/common_function_demos/custom_op/rknn_custom_op_resize/resize_area/ResizeArea.rknnop
测试源码:
  1. rknn = RKNN(verbose=False)
  2.     print("register_op:")
  3.     rknn.register_op('./resize_area/ResizeArea.rknnop')
  4.     print("end")

  5.     '''
  6.     rknn.load_tensorflow(tf_pb='./resize_area_test.pb',
  7.                          inputs=['input'],
  8.                          outputs=['resize_area_0'],
  9.                          input_size_list=[[32, 32, 3]])
  10.     rknn.build(do_quantization=False)
  11.     # rknn.export_rknn('./resize_area.rknn')
  12.     '''
  13.     print("load rknn mode:")
  14.     rknn.load_rknn('./resize_area.rknn')
  15.     print("load end")

  16.     print("init_runtime:")
  17.     rknn.init_runtime()
  18.     print("end")

  19.     img = cv2.imread('./dog_32x32.jpg')

  20.     outs = rknn.inference(inputs=[img])

  21.     out_img = outs[0].astype('uint8')
  22.     out_img = np.reshape(out_img, (64, 64, 3))
  23.     cv2.imwrite('./out.jpg', out_img)
复制代码


在rknn3399pro上报错与1.3.0相同:
  1. I NPUTransfer: Starting NPU Transfer Client, Transfer version 1.9.8 (40e4a8a@2020-01-02T09:16:20)
  2. E RKNNAPI: rknn_init,  recv(MsgLoadAck) fail, -9(ERROR_PIPE) != 368!
  3. E Catch exception when init runtime!
  4. E Traceback (most recent call last):
  5. E   File "rknn/api/rknn_base.py", line 1067, in rknn.api.rknn_base.RKNNBase.init_runtime
  6. E   File "rknn/api/rknn_runtime.py", line 326, in rknn.api.rknn_runtime.RKNNRuntime.build_graph
  7. E Exception: RKNN init failed. error code: RKNN_ERR_DEVICE_UNAVAILABLE
复制代码

作者: jefferyzhang    时间: 2020-5-27 00:03
已经报给NPU Team了,等他们答复你
作者: zhanghui-aibee    时间: 2020-5-27 09:59
jefferyzhang 发表于 2020-5-27 00:03
已经报给NPU Team了,等他们答复你

好的,期待答复!感谢!
作者: zhanghui-aibee    时间: 5 天前
自己顶一下,不要沉下去




欢迎光临 Toybrick (http://t.rock-chips.com/) Powered by Discuz! X3.3