ArmNN
 24.02
ISerializer.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6 
7 #include "armnn/INetwork.hpp"
8 #include "armnn/NetworkFwd.hpp"
9 #include "armnn/Types.hpp"
10 
11 namespace armnnSerializer
12 {
13 
14 class ISerializer;
15 using ISerializerPtr = std::unique_ptr<ISerializer, void(*)(ISerializer* serializer)>;
16 
18 {
19 public:
20  static ISerializer* CreateRaw();
21  static ISerializerPtr Create();
22  static void Destroy(ISerializer* serializer);
23 
24  /// Serializes the network to ArmNN SerializedGraph.
25  /// @param [in] inNetwork The network to be serialized.
26  void Serialize(const armnn::INetwork& inNetwork);
27 
28  /// Serializes the SerializedGraph to the stream.
29  /// @param [stream] the stream to save to
30  /// @return true if graph is Serialized to the Stream, false otherwise
31  bool SaveSerializedToStream(std::ostream& stream);
32 
33 private:
34  ISerializer();
35  ~ISerializer();
36 
37  class SerializerImpl;
38  std::unique_ptr<SerializerImpl> pSerializerImpl;
39 };
40 
41 } //namespace armnnSerializer
armnnSerializer::ISerializer::Serialize
void Serialize(const armnn::INetwork &inNetwork)
Serializes the network to ArmNN SerializedGraph.
Definition: Serializer.cpp:45
armnnSerializer::ISerializer::Destroy
static void Destroy(ISerializer *serializer)
Definition: Serializer.cpp:40
armnnSerializer
Definition: ISerializer.hpp:11
armnnSerializer::ISerializer
Definition: ISerializer.hpp:17
armnnSerializer::ISerializer::SerializerImpl
Definition: Serializer.hpp:361
INetwork.hpp
armnnSerializer::ISerializer::Create
static ISerializerPtr Create()
Definition: Serializer.cpp:35
armnnSerializer::ISerializer::CreateRaw
static ISerializer * CreateRaw()
Definition: Serializer.cpp:30
armnnSerializer::ISerializer::SaveSerializedToStream
bool SaveSerializedToStream(std::ostream &stream)
Serializes the SerializedGraph to the stream.
Definition: Serializer.cpp:50
armnnSerializer::ISerializerPtr
std::unique_ptr< ISerializer, void(*)(ISerializer *serializer)> ISerializerPtr
Definition: ISerializer.hpp:15
Types.hpp
NetworkFwd.hpp
armnn::INetwork
Main network class which provides the interface for building up a neural network.
Definition: INetwork.hpp:347