MLBEDSW-2435: Fix for cascading upscaling operators
Fixed a coordinate issue which caused the compiler to crash when
cascading upscaling operators such as ResizeBilinear.
Signed-off-by: Jacob Bohlin <jacob.bohlin@arm.com>
Change-Id: I982863573b0e5829e6d0c255dbbc308cb332a37a
diff --git a/ethosu/vela/high_level_command_stream.py b/ethosu/vela/high_level_command_stream.py
index 9b0298b..f9048a1 100644
--- a/ethosu/vela/high_level_command_stream.py
+++ b/ethosu/vela/high_level_command_stream.py
@@ -34,11 +34,17 @@
assert self.start_coord[i] <= self.end_coord[i]
def transform_with_strides_and_skirt(
- self, strides, skirt, ifm_shape, npu_block_type, concat_axis=0, concat_offset=0, split_offset=None, k_height=1
+ self, strides, skirt, ifm_shape, npu_block_type, concat_axis=0, concat_offset=0, split_offset=None, k_height=1,
+ upscaling_factor=1
):
new_start_coord = list(self.start_coord)
new_end_coord = list(self.end_coord)
+ # Adjust for upscaling
+ if len(new_start_coord) == len(new_end_coord) == 4:
+ new_start_coord[1] = new_start_coord[1] // upscaling_factor
+ new_end_coord[1] = new_end_coord[1] // upscaling_factor
+
new_start_coord[concat_axis] -= concat_offset
new_end_coord[concat_axis] -= concat_offset