Delegate quantized 8-bit PAD to NNAPI's PAD in NNAPI 1.2 onwards.

PiperOrigin-RevId: 237855966
This commit is contained in:
A. Unique TensorFlower 2019-03-11 12:22:25 -07:00 committed by TensorFlower Gardener
parent dfb10961d7
commit ce104edc23

View File

@ -799,12 +799,14 @@ class NNAPIDelegateKernel {
}
break;
case kTfLiteBuiltinPad:
if (version == 1 && android_sdk_version >= kMinSdkVersionForNNAPI11 &&
node->inputs->size == 2 &&
context->tensors[node->inputs->data[0]].type == kTfLiteFloat32) {
if (version == 1 && node->inputs->size == 2 &&
(android_sdk_version >= kMinSdkVersionForNNAPI11) &&
(context->tensors[node->inputs->data[0]].type == kTfLiteFloat32 ||
android_sdk_version >= kMinSdkVersionForNNAPI12)) {
// NNAPI does not support specifying the padding value.
// NNAPI pads physical zero for quantized tensors, so only delegate
// float pad to NNAPI.
// Before 1.2, NNAPI pads physical zero for quantized tensors, so only
// delegate float pad to NNAPI. NNAPI 1.2 onwards pads with
// zero-point, so delegate quantized pad as well.
return BasicMappingFn<ANEURALNETWORKS_PAD>;
}
break;