NNAPI 1.1已经支持SPACE_TO_BATCH_ND和BATCH_TO_SPACE_ND ops,但是当前的TFLite代码尚未实现。参见:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/nnapi_delegate.cc#L607
我试图这样添加它们:
case tflite::BuiltinOperator_SPACE_TO_BATCH_ND:
nn_op_type = ANEURALNETWORKS_SPACE_TO_BATCH_ND;
break;
case tflite::BuiltinOperator_BATCH_TO_SPACE_ND:
nn_op_type = ANEURALNETWORKS_BATCH_TO_SPACE_ND;
break;
但是它不起作用,当我在android设备上运行它时出现错误消息: E / Utils:输入操作数(3,预期为2)或输出操作数(1,预期为1)无效)进行BATCH_TO_SPACE_ND操作
如何将这些操作正确添加到tensorflow lite?谢谢!
答案 0 :(得分:0)
找到了答案,要做到这一点,您必须花一些时间来了解他们的代码架构,然后尝试将其从tftensor转换为NNAPI:
例如:ANEURALNETWORKS_BATCH_TO_SPACE_ND(NNAPI)需要2个参数(输入张量,block_shape),而TFLite需要3个args(输入张量,block_shape,crops),因此您需要对其进行处理以绕过错误。
答案 1 :(得分:-1)
上一个答案是正确的。当时NNAPI不支持农作物,因此代码仅委派运算符with zero crops。