MLBEDSW-2067: added custom exceptions

Added custom exceptions to handle different types of input errors.

Also performed minor formatting changes using flake8/black.

Change-Id: Ie5b05361507d5e569aff045757aec0a4a755ae98
Signed-off-by: Louis Verhaard <louis.verhaard@arm.com>
diff --git a/ethosu/vela/tflite_reader.py b/ethosu/vela/tflite_reader.py
index 7e158aa..850690f 100644
--- a/ethosu/vela/tflite_reader.py
+++ b/ethosu/vela/tflite_reader.py
@@ -19,6 +19,7 @@
 
 import numpy as np
 
+from .errors import UnsupportedFeatureError
 from .nn_graph import Graph
 from .nn_graph import Subgraph
 from .operation import Operation
@@ -147,18 +148,17 @@
             if op_type.startswith("ResizeBilinear"):
                 upscaled_shape = [op.inputs[0].shape[1] * 2, op.inputs[0].shape[2] * 2]
                 out_shape = op.outputs[0].shape[1:3]
-                if not op.attrs['align_corners'] and out_shape == upscaled_shape:
+                if not op.attrs["align_corners"] and out_shape == upscaled_shape:
                     # this means the output is supposed to be a x2 upscale,
                     # so we need to do SAME padding
-                    op.attrs.update({'padding': b'SAME'})
-                elif (op.attrs['align_corners']
-                    and out_shape == [upscaled_shape[0] - 1, upscaled_shape[1] - 1]):
+                    op.attrs.update({"padding": b"SAME"})
+                elif op.attrs["align_corners"] and out_shape == [upscaled_shape[0] - 1, upscaled_shape[1] - 1]:
                     # here we can just run the avg pool without padding and
                     # produce a (M * 2 - 1, N * 2 - 1) sized output
-                    op.attrs.update({'padding': b'VALID'})
+                    op.attrs.update({"padding": b"VALID"})
                 else:
-                    assert False, "Only 2x upscaling is supported"
-                op.attrs.update({'filter_width': 2, 'filter_height': 2, 'stride_w': 1, 'stride_h': 1,})
+                    raise UnsupportedFeatureError("ResizeBilinear: Only 2x upscaling is supported")
+                op.attrs.update({"filter_width": 2, "filter_height": 2, "stride_w": 1, "stride_h": 1})
 
             if "stride_w" in op.attrs:
                 op.attrs["strides"] = (1, op.attrs["stride_h"], op.attrs["stride_w"], 1)