MLBEDSW-6247: MLCE: Issue when running a model with Padding

 - The bug is that TransposeConv does not support explicit padding
which is needed in order to combine it with a proceeding Pad op
 - The fix is to exclude such combination

Signed-off-by: Tim Hall <tim.hall@arm.com>
Change-Id: Ide03d034dc32b5fc9bcaaf291ab713482223a042
diff --git a/ethosu/vela/tflite_graph_optimiser.py b/ethosu/vela/tflite_graph_optimiser.py
index 4098798..97e30ad 100644
--- a/ethosu/vela/tflite_graph_optimiser.py
+++ b/ethosu/vela/tflite_graph_optimiser.py
@@ -236,7 +236,7 @@
         top_pad, bottom_pad = calc_explicit_padding(int(input_shape.height), int(s_y), int(k_h), int(top), int(bottom))
         left_pad, right_pad = calc_explicit_padding(int(input_shape.width), int(s_x), int(k_w), int(left), int(right))
     else:
-        raise UnsupportedFeatureError(f"Unknown padding")
+        raise UnsupportedFeatureError(f"Unsupported padding = {padding_type} for padding calculation")
     padding = (top_pad, left_pad, bottom_pad, right_pad)
     skirt = (top_pad, left_pad, ypad - top_pad, xpad - left_pad)
     return padding, skirt
@@ -257,7 +257,7 @@
         left_pad = kernel_width - 1
         top_pad = kernel_height - 1
     else:
-        raise UnsupportedFeatureError(f"Unknown padding")
+        raise UnsupportedFeatureError(f"Unsupported padding = {padding_type} for up-scaled padding calculation")
     padding = (top_pad, left_pad, bottom_pad, right_pad)
     skirt = padding
     return padding, skirt
@@ -977,6 +977,7 @@
     """
     if (
         (op.type.is_conv2d_op() or op.type.is_depthwise_conv2d_op() or op.type.is_avgpool_op())
+        and op.type not in (Op.Conv2DBackpropInput, Op.Conv2DBackpropInputSwitchedBias)
         and op.run_on_npu
         and op.attrs["padding"] == Padding.VALID
     ):