ArmNN  NotReleased
Serializer Class Reference

#include <Serializer.hpp>

Inheritance diagram for Serializer:
ISerializer

Public Member Functions

 Serializer ()
 
 ~Serializer ()
 
void Serialize (const armnn::INetwork &inNetwork) override
 
bool SaveSerializedToStream (std::ostream &stream) override
 

Additional Inherited Members

- Static Public Member Functions inherited from ISerializer
static ISerializerCreateRaw ()
 
static ISerializerPtr Create ()
 
static void Destroy (ISerializer *serializer)
 
- Protected Member Functions inherited from ISerializer
virtual ~ISerializer ()
 

Detailed Description

Definition at line 320 of file Serializer.hpp.

Constructor & Destructor Documentation

◆ Serializer()

Serializer ( )
inline

Definition at line 323 of file Serializer.hpp.

323 {}

◆ ~Serializer()

~Serializer ( )
inline

Definition at line 324 of file Serializer.hpp.

324 {}

Member Function Documentation

◆ SaveSerializedToStream()

bool SaveSerializedToStream ( std::ostream &  stream)
overridevirtual

Serializes the SerializedGraph to the stream.

Parameters
[stream]the stream to save to
Returns
true if graph is Serialized to the Stream, false otherwise

Implements ISerializer.

Definition at line 1551 of file Serializer.cpp.

Referenced by BOOST_AUTO_TEST_CASE().

1552 {
1553  flatbuffers::FlatBufferBuilder& fbBuilder = m_SerializerVisitor.GetFlatBufferBuilder();
1554 
1555  auto bytesToWrite = boost::numeric_cast<std::streamsize>(fbBuilder.GetSize());
1556  stream.write(reinterpret_cast<const char*>(fbBuilder.GetBufferPointer()), bytesToWrite);
1557  return !stream.bad();
1558 }
flatbuffers::FlatBufferBuilder & GetFlatBufferBuilder()
Definition: Serializer.hpp:27

◆ Serialize()

void Serialize ( const armnn::INetwork inNetwork)
overridevirtual

Serializes the network to ArmNN SerializedGraph.

Parameters
[in]inNetworkThe network to be serialized.

Implements ISerializer.

Definition at line 1533 of file Serializer.cpp.

References INetwork::Accept().

Referenced by BOOST_AUTO_TEST_CASE().

1534 {
1535  // Iterate through to network
1536  inNetwork.Accept(m_SerializerVisitor);
1537  flatbuffers::FlatBufferBuilder& fbBuilder = m_SerializerVisitor.GetFlatBufferBuilder();
1538 
1539  // Create FlatBuffer SerializedGraph
1540  auto serializedGraph = serializer::CreateSerializedGraph(
1541  fbBuilder,
1542  fbBuilder.CreateVector(m_SerializerVisitor.GetSerializedLayers()),
1543  fbBuilder.CreateVector(m_SerializerVisitor.GetInputIds()),
1544  fbBuilder.CreateVector(m_SerializerVisitor.GetOutputIds()),
1545  m_SerializerVisitor.GetVersionTable());
1546 
1547  // Serialize the graph
1548  fbBuilder.Finish(serializedGraph);
1549 }
flatbuffers::Offset< armnnSerializer::FeatureCompatibilityVersions > GetVersionTable()
std::vector< int > & GetInputIds()
Definition: Serializer.hpp:32
virtual void Accept(ILayerVisitor &visitor) const =0
flatbuffers::FlatBufferBuilder & GetFlatBufferBuilder()
Definition: Serializer.hpp:27
std::vector< int > & GetOutputIds()
Definition: Serializer.hpp:37
std::vector< flatbuffers::Offset< armnnSerializer::AnyLayer > > & GetSerializedLayers()
Definition: Serializer.hpp:42

The documentation for this class was generated from the following files: