diff options
Diffstat (limited to 'src/armnnSerializer')
-rw-r--r-- | src/armnnSerializer/Serializer.cpp | 15 | ||||
-rw-r--r-- | src/armnnSerializer/Serializer.hpp | 18 |
2 files changed, 17 insertions, 16 deletions
diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp index 81091bca85..5d06958054 100644 --- a/src/armnnSerializer/Serializer.cpp +++ b/src/armnnSerializer/Serializer.cpp @@ -61,18 +61,17 @@ serializer::ArgMinMaxFunction GetFlatBufferArgMinMaxFunction(armnn::ArgMinMaxFun } } -uint32_t SerializerVisitor::GetSerializedId(unsigned int guid) +uint32_t SerializerVisitor::GetSerializedId(armnn::LayerGuid guid) { - std::pair<unsigned int, uint32_t> guidPair(guid, m_layerId); - if (m_guidMap.empty()) { - m_guidMap.insert(guidPair); + m_guidMap.insert(std::make_pair(guid, m_layerId)); } else if (m_guidMap.find(guid) == m_guidMap.end()) { - guidPair.second = ++m_layerId; - m_guidMap.insert(guidPair); + ++m_layerId; + m_guidMap.insert(std::make_pair(guid, m_layerId)); + return m_layerId; } return m_guidMap[guid]; @@ -88,7 +87,7 @@ void SerializerVisitor::VisitInputLayer(const armnn::IConnectableLayer* layer, L auto flatBufferInputBindableBaseLayer = serializer::CreateBindableLayerBase(m_flatBufferBuilder, flatBufferInputBaseLayer, id); - // Push layer Guid to outputIds. + // Push layer index to outputIds. m_inputIds.push_back(GetSerializedId(layer->GetGuid())); // Create the FlatBuffer InputLayer @@ -108,7 +107,7 @@ void SerializerVisitor::VisitOutputLayer(const armnn::IConnectableLayer* layer, auto flatBufferOutputBindableBaseLayer = serializer::CreateBindableLayerBase(m_flatBufferBuilder, flatBufferOutputBaseLayer, id); - // Push layer Guid to outputIds. + // Push layer index to outputIds. m_outputIds.push_back(GetSerializedId(layer->GetGuid())); // Create the FlatBuffer OutputLayer diff --git a/src/armnnSerializer/Serializer.hpp b/src/armnnSerializer/Serializer.hpp index 1fd507af80..7dfd534081 100644 --- a/src/armnnSerializer/Serializer.hpp +++ b/src/armnnSerializer/Serializer.hpp @@ -13,6 +13,8 @@ #include <ArmnnSchema_generated.h> +#include <armnn/Types.hpp> + namespace armnnSerializer { @@ -27,12 +29,12 @@ public: return m_flatBufferBuilder; } - std::vector<unsigned int>& GetInputIds() + std::vector<uint32_t>& GetInputIds() { return m_inputIds; } - std::vector<unsigned int>& GetOutputIds() + std::vector<uint32_t>& GetOutputIds() { return m_outputIds; } @@ -277,7 +279,7 @@ private: flatbuffers::Offset<flatbuffers::Vector<T>> CreateDataVector(const void* memory, unsigned int size); ///Function which maps Guid to an index - uint32_t GetSerializedId(unsigned int guid); + uint32_t GetSerializedId(armnn::LayerGuid guid); /// Creates the serializer InputSlots for the layer. std::vector<flatbuffers::Offset<armnnSerializer::InputSlot>> CreateInputSlots( @@ -293,14 +295,14 @@ private: /// AnyLayers required by the SerializedGraph. std::vector<flatbuffers::Offset<armnnSerializer::AnyLayer>> m_serializedLayers; - /// Guids of all Input Layers required by the SerializedGraph. - std::vector<unsigned int> m_inputIds; + /// Vector of indexes of all Input Layers required by the SerializedGraph. + std::vector<uint32_t> m_inputIds; - /// Guids of all Output Layers required by the SerializedGraph. - std::vector<unsigned int> m_outputIds; + /// Vector of indexes of all Output Layers required by the SerializedGraph. + std::vector<uint32_t> m_outputIds; /// Mapped Guids of all Layers to match our index. - std::unordered_map<unsigned int, uint32_t > m_guidMap; + std::unordered_map<armnn::LayerGuid, uint32_t > m_guidMap; /// layer within our FlatBuffer index. uint32_t m_layerId; |