blob: 07225f14d988f0789a70dbf75d3628b6f69ec81f [file] [log] [blame]
<!-- HTML header for doxygen 1.8.17-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Arm NN: ISerializer::SerializerImpl Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
<td id="projectalign" style="padding-left: 0.9em;">
<div id="projectname">
&#160;<span id="projectnumber">24.05</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classarmnn_serializer_1_1_i_serializer_1_1_serializer_impl.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classarmnn_serializer_1_1_i_serializer_1_1_serializer_impl-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ISerializer::SerializerImpl Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="_serializer_8hpp_source.html">Serializer.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a317b95c39eb5a80002f681ec5a8334f3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_serializer_1_1_i_serializer_1_1_serializer_impl.html#a317b95c39eb5a80002f681ec5a8334f3">SerializerImpl</a> ()=default</td></tr>
<tr class="separator:a317b95c39eb5a80002f681ec5a8334f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaca60ae8b97bf6dfdc4f6f6f986d298b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_serializer_1_1_i_serializer_1_1_serializer_impl.html#aaca60ae8b97bf6dfdc4f6f6f986d298b">~SerializerImpl</a> ()=default</td></tr>
<tr class="separator:aaca60ae8b97bf6dfdc4f6f6f986d298b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d146e96f4464192b762b23e1cf1e207"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_serializer_1_1_i_serializer_1_1_serializer_impl.html#a4d146e96f4464192b762b23e1cf1e207">Serialize</a> (const <a class="el" href="classarmnn_1_1_i_network.html">armnn::INetwork</a> &amp;inNetwork)</td></tr>
<tr class="memdesc:a4d146e96f4464192b762b23e1cf1e207"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serializes the network to ArmNN SerializedGraph. <a href="classarmnn_serializer_1_1_i_serializer_1_1_serializer_impl.html#a4d146e96f4464192b762b23e1cf1e207">More...</a><br /></td></tr>
<tr class="separator:a4d146e96f4464192b762b23e1cf1e207"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a049d34980f9dd0a518f9781822a718c4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_serializer_1_1_i_serializer_1_1_serializer_impl.html#a049d34980f9dd0a518f9781822a718c4">SaveSerializedToStream</a> (std::ostream &amp;stream)</td></tr>
<tr class="memdesc:a049d34980f9dd0a518f9781822a718c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serializes the SerializedGraph to the stream. <a href="classarmnn_serializer_1_1_i_serializer_1_1_serializer_impl.html#a049d34980f9dd0a518f9781822a718c4">More...</a><br /></td></tr>
<tr class="separator:a049d34980f9dd0a518f9781822a718c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="_serializer_8hpp_source.html#l00365">365</a> of file <a class="el" href="_serializer_8hpp_source.html">Serializer.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a317b95c39eb5a80002f681ec5a8334f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a317b95c39eb5a80002f681ec5a8334f3">&#9670;&nbsp;</a></span>SerializerImpl()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarmnn_serializer_1_1_i_serializer_1_1_serializer_impl.html">SerializerImpl</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aaca60ae8b97bf6dfdc4f6f6f986d298b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaca60ae8b97bf6dfdc4f6f6f986d298b">&#9670;&nbsp;</a></span>~SerializerImpl()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">~<a class="el" href="classarmnn_serializer_1_1_i_serializer_1_1_serializer_impl.html">SerializerImpl</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a049d34980f9dd0a518f9781822a718c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a049d34980f9dd0a518f9781822a718c4">&#9670;&nbsp;</a></span>SaveSerializedToStream()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SaveSerializedToStream </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>stream</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Serializes the SerializedGraph to the stream. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">[stream]</td><td>the stream to save to </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if graph is Serialized to the Stream, false otherwise </dd></dl>
<p class="definition">Definition at line <a class="el" href="_serializer_8cpp_source.html#l02562">2562</a> of file <a class="el" href="_serializer_8cpp_source.html">Serializer.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l02563"></a><span class="lineno"> 2563</span>&#160;{</div>
<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span>&#160; flatbuffers::FlatBufferBuilder&amp; fbBuilder = m_SerializerStrategy.<a class="code" href="classarmnn_serializer_1_1_serializer_strategy.html#ab409abc02fdc367d3b95e6c14500616a">GetFlatBufferBuilder</a>();</div>
<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span>&#160; </div>
<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span>&#160; <span class="keyword">auto</span> bytesToWrite = armnn::numeric_cast&lt;std::streamsize&gt;(fbBuilder.GetSize());</div>
<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span>&#160; stream.write(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span>(fbBuilder.GetBufferPointer()), bytesToWrite);</div>
<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span>&#160; <span class="keywordflow">return</span> !stream.bad();</div>
<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a4d146e96f4464192b762b23e1cf1e207"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d146e96f4464192b762b23e1cf1e207">&#9670;&nbsp;</a></span>Serialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Serialize </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarmnn_1_1_i_network.html">armnn::INetwork</a> &amp;&#160;</td>
<td class="paramname"><em>inNetwork</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Serializes the network to ArmNN SerializedGraph. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">inNetwork</td><td>The network to be serialized. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_serializer_8cpp_source.html#l02543">2543</a> of file <a class="el" href="_serializer_8cpp_source.html">Serializer.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l02544"></a><span class="lineno"> 2544</span>&#160;{</div>
<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span>&#160; <span class="comment">// Iterate through to network</span></div>
<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span>&#160; inNetwork.<a class="code" href="classarmnn_1_1_i_network.html#a72032c65bf8b8acf09b564b7d80078c5">ExecuteStrategy</a>(m_SerializerStrategy);</div>
<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span>&#160; flatbuffers::FlatBufferBuilder&amp; fbBuilder = m_SerializerStrategy.<a class="code" href="classarmnn_serializer_1_1_serializer_strategy.html#ab409abc02fdc367d3b95e6c14500616a">GetFlatBufferBuilder</a>();</div>
<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span>&#160; </div>
<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span>&#160; <span class="comment">// Create FlatBuffer SerializedGraph</span></div>
<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span>&#160; <span class="keyword">auto</span> serializedGraph = serializer::CreateSerializedGraph(</div>
<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span>&#160; fbBuilder,</div>
<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span>&#160; fbBuilder.CreateVector(m_SerializerStrategy.<a class="code" href="classarmnn_serializer_1_1_serializer_strategy.html#a05e611493d1b74287eed5e3af7594538">GetSerializedLayers</a>()),</div>
<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span>&#160; fbBuilder.CreateVector(m_SerializerStrategy.<a class="code" href="classarmnn_serializer_1_1_serializer_strategy.html#ab590ced8474cd5e0fa28912231b93f61">GetInputIds</a>()),</div>
<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span>&#160; fbBuilder.CreateVector(m_SerializerStrategy.<a class="code" href="classarmnn_serializer_1_1_serializer_strategy.html#a05c5792591b9e83396c09ab21143cc44">GetOutputIds</a>()),</div>
<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span>&#160; m_SerializerStrategy.<a class="code" href="classarmnn_serializer_1_1_serializer_strategy.html#a7594572286ad32d17d57eaa4cdde53f9">GetVersionTable</a>());</div>
<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span>&#160; </div>
<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span>&#160; <span class="comment">// Serialize the graph</span></div>
<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span>&#160; fbBuilder.Finish(serializedGraph);</div>
<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_network_8cpp_source.html#l00672">INetwork::ExecuteStrategy()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/armnnSerializer/<a class="el" href="_serializer_8hpp_source.html">Serializer.hpp</a></li>
<li>src/armnnSerializer/<a class="el" href="_serializer_8cpp_source.html">Serializer.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclassarmnn_1_1_i_network_html_a72032c65bf8b8acf09b564b7d80078c5"><div class="ttname"><a href="classarmnn_1_1_i_network.html#a72032c65bf8b8acf09b564b7d80078c5">armnn::INetwork::ExecuteStrategy</a></div><div class="ttdeci">void ExecuteStrategy(IStrategy &amp;strategy) const</div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.html#l00672">Network.cpp:672</a></div></div>
<div class="ttc" id="aclassarmnn_serializer_1_1_serializer_strategy_html_ab409abc02fdc367d3b95e6c14500616a"><div class="ttname"><a href="classarmnn_serializer_1_1_serializer_strategy.html#ab409abc02fdc367d3b95e6c14500616a">armnnSerializer::SerializerStrategy::GetFlatBufferBuilder</a></div><div class="ttdeci">flatbuffers::FlatBufferBuilder &amp; GetFlatBufferBuilder()</div><div class="ttdef"><b>Definition:</b> <a href="_serializer_8hpp_source.html#l00034">Serializer.hpp:34</a></div></div>
<div class="ttc" id="aclassarmnn_serializer_1_1_serializer_strategy_html_a7594572286ad32d17d57eaa4cdde53f9"><div class="ttname"><a href="classarmnn_serializer_1_1_serializer_strategy.html#a7594572286ad32d17d57eaa4cdde53f9">armnnSerializer::SerializerStrategy::GetVersionTable</a></div><div class="ttdeci">flatbuffers::Offset&lt; armnnSerializer::FeatureCompatibilityVersions &gt; GetVersionTable()</div><div class="ttdef"><b>Definition:</b> <a href="_serializer_8cpp_source.html#l02017">Serializer.cpp:2017</a></div></div>
<div class="ttc" id="aclassarmnn_serializer_1_1_serializer_strategy_html_ab590ced8474cd5e0fa28912231b93f61"><div class="ttname"><a href="classarmnn_serializer_1_1_serializer_strategy.html#ab590ced8474cd5e0fa28912231b93f61">armnnSerializer::SerializerStrategy::GetInputIds</a></div><div class="ttdeci">std::vector&lt; int &gt; &amp; GetInputIds()</div><div class="ttdef"><b>Definition:</b> <a href="_serializer_8hpp_source.html#l00039">Serializer.hpp:39</a></div></div>
<div class="ttc" id="aclassarmnn_serializer_1_1_serializer_strategy_html_a05c5792591b9e83396c09ab21143cc44"><div class="ttname"><a href="classarmnn_serializer_1_1_serializer_strategy.html#a05c5792591b9e83396c09ab21143cc44">armnnSerializer::SerializerStrategy::GetOutputIds</a></div><div class="ttdeci">std::vector&lt; int &gt; &amp; GetOutputIds()</div><div class="ttdef"><b>Definition:</b> <a href="_serializer_8hpp_source.html#l00044">Serializer.hpp:44</a></div></div>
<div class="ttc" id="aclassarmnn_serializer_1_1_serializer_strategy_html_a05e611493d1b74287eed5e3af7594538"><div class="ttname"><a href="classarmnn_serializer_1_1_serializer_strategy.html#a05e611493d1b74287eed5e3af7594538">armnnSerializer::SerializerStrategy::GetSerializedLayers</a></div><div class="ttdeci">std::vector&lt; flatbuffers::Offset&lt; armnnSerializer::AnyLayer &gt; &gt; &amp; GetSerializedLayers()</div><div class="ttdef"><b>Definition:</b> <a href="_serializer_8hpp_source.html#l00049">Serializer.hpp:49</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacearmnn_serializer.html">armnnSerializer</a></li><li class="navelem"><a class="el" href="classarmnn_serializer_1_1_i_serializer.html">ISerializer</a></li><li class="navelem"><a class="el" href="classarmnn_serializer_1_1_i_serializer_1_1_serializer_impl.html">SerializerImpl</a></li>
<li class="footer">Generated on Thu May 16 2024 09:32:00 for Arm NN by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>