aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--python/serializer/tosa_serializer.py9
-rw-r--r--src/numpy_utils.cpp9
2 files changed, 10 insertions, 8 deletions
diff --git a/python/serializer/tosa_serializer.py b/python/serializer/tosa_serializer.py
index 9658edf..e6ab3d0 100644
--- a/python/serializer/tosa_serializer.py
+++ b/python/serializer/tosa_serializer.py
@@ -407,12 +407,15 @@ class TosaSerializerTensor:
if isinstance(data, np.ndarray):
data = data.flatten().astype(fntype).tolist()
data = list(map(fntype, data))
- self.data = data
elif isinstance(data, list):
data = list(map(fntype, data))
- self.data = data
+ elif data is not None:
+ # Assume data is rank 0 data type
+ data = list(map(fntype, [data]))
else:
- self.data = None
+ data = None
+
+ self.data = data
# Filename for placeholder tensors. These get generated by the test generation
# process and are written to disk, but are considered input tensors by the
diff --git a/src/numpy_utils.cpp b/src/numpy_utils.cpp
index 5fe0490..e4171d7 100644
--- a/src/numpy_utils.cpp
+++ b/src/numpy_utils.cpp
@@ -432,12 +432,11 @@ NumpyUtilities::NPError
// Output the format dictionary
// Hard-coded for I32 for now
- headerPos +=
- snprintf(header + headerPos, NUMPY_HEADER_SZ - headerPos, "'descr': %s, 'fortran_order': False, 'shape': (%d,",
- dtype_str, shape.empty() ? 1 : shape[0]);
+ headerPos += snprintf(header + headerPos, NUMPY_HEADER_SZ - headerPos,
+ "'descr': %s, 'fortran_order': False, 'shape': (", dtype_str);
- // Remainder of shape array
- for (i = 1; i < shape.size(); i++)
+ // Add shape contents (if any - as this will be empty for rank 0)
+ for (i = 0; i < shape.size(); i++)
{
headerPos += snprintf(header + headerPos, NUMPY_HEADER_SZ - headerPos, " %d,", shape[i]);
}