Toybrick

自定义算子遇到的错误

wjzhoumm

注册会员

积分
106
楼主
发表于 2021-5-19 19:09:28    查看: 14792|回复: 1 | [复制链接]    打印 | 只看该作者
本帖最后由 wjzhoumm 于 2021-5-19 19:20 编辑

RKNN版本:1.6.0
TensorFlow版本:1.14.0
运行官方给的自定义算子的demo,可以正确生成对应的算子文件也就是rknnop,但是在试验其他的模型时会出错,比如试验tf.nn.selu算子时,可以正常生成Selu.rknnop算子文件,但是在PC模拟器上运行主程序却会报错,主程序代码如下:
  1. from rknn.api import RKNN
  2. import numpy as np
  3. import cv2

  4. if __name__ == '__main__':
  5.     rknn = RKNN(verbose=True)

  6.     rknn.register_op('./selu/Selu.rknnop')
  7.     rknn.load_tensorflow('selu.pb',
  8.                         inputs=['x'],
  9.                         outputs=['output'],
  10.                         input_size_list=[[32, 32, 3]])
  11.     rknn.build(do_quantization=False)
  12.     rknn.init_runtime()
  13.     rknn.release()
复制代码

报错内容如下:
  1. I [register_client_ops:5359]register_client_ops num=1
  2. I [register_client_ops:5372]op name=Selu�r reg_name=SELU�R reg_id=65542
  3. I [load_custom_op_lib:485]vx_kernel_Selu�r_list=0

  4. I [register_client_ops:5377]register_client_ops finish
  5. I [setup_nodes:4413]name=output_2
  6. E [str2op:130]Can not find op:SELU
  7. I [match_custom_op:141]try match SELU�R 65542
  8. E [match_custom_op:148]Can not find custom op:SELU
  9. E [setup_nodes:4434]match custom op fail
  10. I [remove_client_ops:5388]remove_client_ops num=1
  11. I [remove_client_ops:5394]remove op Selu�r reg_name=SELU�R reg_id=65542
  12. I [remove_client_ops:5399]remove_client_ops finish
  13. Create RKNN model fail, error=0
  14. Segmentation fault
复制代码
算子的名字不知道为什么会变成了乱码,可能是这里导致的错误。
然后这个主程序在开发板rk3399pro上面可以正常运行,并且可以正确生成rknn模型,难道说这个主程序只能运行在开发板上吗?
请问这是什么导致的?



回复

使用道具 举报

yxj

新手上路

积分
8
沙发
发表于 2021-5-19 19:30:07 | 只看该作者
我在运行的时候也遇到了自定义算子名字乱码的情况,您最后是怎么解决的呀?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表