aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/armnn/TypesUtils.hpp11
-rw-r--r--src/armnn/SerializeLayerParameters.cpp20
-rw-r--r--src/armnn/SerializeLayerParameters.hpp5
3 files changed, 36 insertions, 0 deletions
diff --git a/include/armnn/TypesUtils.hpp b/include/armnn/TypesUtils.hpp
index 1012fcfa22..1e1926ab76 100644
--- a/include/armnn/TypesUtils.hpp
+++ b/include/armnn/TypesUtils.hpp
@@ -123,6 +123,17 @@ constexpr char const* GetPaddingMethodAsCString(PaddingMethod method)
}
}
+constexpr char const* GetReduceOperationAsCString(ReduceOperation reduce_operation)
+{
+ switch (reduce_operation)
+ {
+ case ReduceOperation::Sum: return "Sum";
+ case ReduceOperation::Max: return "Max";
+ case ReduceOperation::Mean: return "Mean";
+ case ReduceOperation::Min: return "Min";
+ default: return "Unknown";
+ }
+}
constexpr unsigned int GetDataTypeSize(DataType dataType)
{
switch (dataType)
diff --git a/src/armnn/SerializeLayerParameters.cpp b/src/armnn/SerializeLayerParameters.cpp
index e4bf094b7c..b298e14ac3 100644
--- a/src/armnn/SerializeLayerParameters.cpp
+++ b/src/armnn/SerializeLayerParameters.cpp
@@ -135,6 +135,26 @@ void StringifyLayerParameters<Pooling2dDescriptor>::Serialize(ParameterStringify
fn("DataLayout", GetDataLayoutName(desc.m_DataLayout));
}
+void StringifyLayerParameters<ReduceDescriptor>::Serialize(ParameterStringifyFunction& fn, const ReduceDescriptor& desc)
+{
+ {
+ std::stringstream ss;
+ int count = 0;
+ for (auto&& var : desc.m_vAxis)
+ {
+ if (count > 0)
+ {
+ ss << ",";
+ }
+ ss << var;
+ ++count;
+ }
+ fn("Axis", ss.str());
+ }
+ fn("KeepDims", (desc.m_KeepDims ? "true" : "false"));
+ fn("ReduceOperation", GetReduceOperationAsCString(desc.m_ReduceOperation));
+}
+
void StringifyLayerParameters<SoftmaxDescriptor>::Serialize(ParameterStringifyFunction& fn,
const SoftmaxDescriptor& desc)
{
diff --git a/src/armnn/SerializeLayerParameters.hpp b/src/armnn/SerializeLayerParameters.hpp
index ae921c4b07..20228e38ed 100644
--- a/src/armnn/SerializeLayerParameters.hpp
+++ b/src/armnn/SerializeLayerParameters.hpp
@@ -60,6 +60,11 @@ template <> struct StringifyLayerParameters<Pooling2dDescriptor>
static void Serialize(ParameterStringifyFunction& fn, const Pooling2dDescriptor& desc);
};
+template <> struct StringifyLayerParameters<ReduceDescriptor>
+{
+ static void Serialize(ParameterStringifyFunction& fn, const ReduceDescriptor& desc);
+};
+
template <> struct StringifyLayerParameters<SoftmaxDescriptor>
{
static void Serialize(ParameterStringifyFunction& fn, const SoftmaxDescriptor& desc);