depthwise conv for 2d kernels * draft version of kernel is working *Kernel tirggers for pad =0 and int8 *need to add more kelvin instrcutions Change-Id: Ifb16c7f7508458cede8bd078c657b0106e348a99
diff --git a/tensorflow/lite/micro/kernels/kelvin/depthwise_conv.cc b/tensorflow/lite/micro/kernels/kelvin/depthwise_conv.cc index 489fa66..6e4a28d 100644 --- a/tensorflow/lite/micro/kernels/kelvin/depthwise_conv.cc +++ b/tensorflow/lite/micro/kernels/kelvin/depthwise_conv.cc
@@ -88,9 +88,11 @@ break; } case kTfLiteInt8: { - reference_integer_ops::DepthwiseConvPerChannel( - DepthwiseConvParamsQuantized(params, data), - data.per_channel_output_multiplier, data.per_channel_output_shift, + tflite::DepthwiseParams dw_params = + DepthwiseConvParamsQuantized(params, data); + kelvin::opt::DepthwiseConv2DKelvin( + dw_params, data.per_channel_output_multiplier, + data.per_channel_output_shift, tflite::micro::GetTensorShape(input), tflite::micro::GetTensorData<int8_t>(input), tflite::micro::GetTensorShape(filter), @@ -133,14 +135,13 @@ data.per_channel_output_shift, dw_params.quantized_activation_min, dw_params.quantized_activation_max, - tflite::micro::GetTensorData<int16_t>(output) - ); + tflite::micro::GetTensorData<int16_t>(output)); break; } reference_integer_ops::DepthwiseConvPerChannel( - dw_params, - data.per_channel_output_multiplier, data.per_channel_output_shift, + dw_params, data.per_channel_output_multiplier, + data.per_channel_output_shift, tflite::micro::GetTensorShape(input), tflite::micro::GetTensorData<int16_t>(input), tflite::micro::GetTensorShape(filter),