2,851
社区成员




当我通过udo算子实现平台不支持的算子时,如果我在json中不给我的算子设置scalar_params参数时,生成DLC是正常的。但只要加上{"name": "mode", "data_type": "STRING"}, {"name": "padding_mode", "data_type": "STRING"} 配置,生成dlc时就会报错, 应该如何处理:
我们来举一个例子, 如果我们对SNPE 的UDO的定义如下图:
我们可以看到, 如果添加了字符串之后, 就会出现类似的错误, 这应该是scalar parameter不支持string类型,因为scalar本意就是没有dimension的数字。我们能够查到的所有udo例子中scalar parameter的type都是int或者float。我建议您尝试在json中把string类型的parameter映射成int来表示(比如0代表"mode0",1代表"mode1"),然后在实现udo的代码里用类似enum的数据类型或是数据结构来把读取到的int重新映射回您想要的string。