blob: fc002774bd9a5b2190e36279fcf015a661b550fc [file] [log] [blame]
Ryan OSheade36e4a2020-03-13 16:26:19 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.13"/>
7<meta name="viewport" content="width=device-width, initial-scale=1"/>
8<title>ArmNN: TfParser Class Reference</title>
9<link href="tabs.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="dynsections.js"></script>
12<link href="navtree.css" rel="stylesheet" type="text/css"/>
13<script type="text/javascript" src="resize.js"></script>
14<script type="text/javascript" src="navtreedata.js"></script>
15<script type="text/javascript" src="navtree.js"></script>
16<script type="text/javascript">
17 $(document).ready(initResizable);
18</script>
19<link href="search/search.css" rel="stylesheet" type="text/css"/>
20<script type="text/javascript" src="search/searchdata.js"></script>
21<script type="text/javascript" src="search/search.js"></script>
22<link href="doxygen.css" rel="stylesheet" type="text/css" />
23</head>
24<body>
25<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
26<div id="titlearea">
27<table cellspacing="0" cellpadding="0">
28 <tbody>
29 <tr style="height: 56px;">
30 <td id="projectalign" style="padding-left: 0.5em;">
31 <div id="projectname">ArmNN
32 &#160;<span id="projectnumber">NotReleased</span>
33 </div>
34 </td>
35 </tr>
36 </tbody>
37</table>
38</div>
39<!-- end header part -->
40<!-- Generated by Doxygen 1.8.13 -->
41<script type="text/javascript">
42var searchBox = new SearchBox("searchBox", "search",false,'Search');
43</script>
44<script type="text/javascript" src="menudata.js"></script>
45<script type="text/javascript" src="menu.js"></script>
46<script type="text/javascript">
47$(function() {
48 initMenu('',true,false,'search.php','Search');
49 $(document).ready(function() { init_search(); });
50});
51</script>
52<div id="main-nav"></div>
53</div><!-- top -->
54<div id="side-nav" class="ui-resizable side-nav-resizable">
55 <div id="nav-tree">
56 <div id="nav-tree-contents">
57 <div id="nav-sync" class="sync"></div>
58 </div>
59 </div>
60 <div id="splitbar" style="-moz-user-select:none;"
61 class="ui-resizable-handle">
62 </div>
63</div>
64<script type="text/javascript">
65$(document).ready(function(){initNavTree('classarmnn_tf_parser_1_1_tf_parser.html','');});
66</script>
67<div id="doc-content">
68<!-- window showing the filter options -->
69<div id="MSearchSelectWindow"
70 onmouseover="return searchBox.OnSearchSelectShow()"
71 onmouseout="return searchBox.OnSearchSelectHide()"
72 onkeydown="return searchBox.OnSearchSelectKey(event)">
73</div>
74
75<!-- iframe showing the search results (closed by default) -->
76<div id="MSearchResultsWindow">
77<iframe src="javascript:void(0)" frameborder="0"
78 name="MSearchResults" id="MSearchResults">
79</iframe>
80</div>
81
82<div class="header">
83 <div class="summary">
84<a href="#pub-methods">Public Member Functions</a> &#124;
85<a href="#friends">Friends</a> &#124;
86<a href="classarmnn_tf_parser_1_1_tf_parser-members.html">List of all members</a> </div>
87 <div class="headertitle">
88<div class="title">TfParser Class Reference</div> </div>
89</div><!--header-->
90<div class="contents">
91
92<p><code>#include &lt;<a class="el" href="_tf_parser_8hpp_source.html">TfParser.hpp</a>&gt;</code></p>
93<div class="dynheader">
94Inheritance diagram for TfParser:</div>
95<div class="dyncontent">
96 <div class="center">
97 <img src="classarmnn_tf_parser_1_1_tf_parser.png" usemap="#TfParser_map" alt=""/>
98 <map id="TfParser_map" name="TfParser_map">
99<area href="classarmnn_tf_parser_1_1_i_tf_parser.html" title="Parses a directed acyclic graph from a tensorflow protobuf file. " alt="ITfParser" shape="rect" coords="0,0,64,24"/>
100</map>
101 </div></div>
102<table class="memberdecls">
103<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
104Public Member Functions</h2></td></tr>
105<tr class="memitem:ae2d544957c50461d305b2517581c86d0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacearmnn.html#ace74f6f9feb95a964a49d79458232703">armnn::INetworkPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_tf_parser_1_1_tf_parser.html#ae2d544957c50461d305b2517581c86d0">CreateNetworkFromTextFile</a> (const char *graphFile, const std::map&lt; std::string, <a class="el" href="classarmnn_1_1_tensor_shape.html">armnn::TensorShape</a> &gt; &amp;inputShapes, const std::vector&lt; std::string &gt; &amp;requestedOutputs) override</td></tr>
106<tr class="memdesc:ae2d544957c50461d305b2517581c86d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates the network from a protobuf text file on the disk. <a href="#ae2d544957c50461d305b2517581c86d0">More...</a><br /></td></tr>
107<tr class="separator:ae2d544957c50461d305b2517581c86d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
108<tr class="memitem:afb0edadd00c78430efbdc02844ef379a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacearmnn.html#ace74f6f9feb95a964a49d79458232703">armnn::INetworkPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_tf_parser_1_1_tf_parser.html#afb0edadd00c78430efbdc02844ef379a">CreateNetworkFromBinaryFile</a> (const char *graphFile, const std::map&lt; std::string, <a class="el" href="classarmnn_1_1_tensor_shape.html">armnn::TensorShape</a> &gt; &amp;inputShapes, const std::vector&lt; std::string &gt; &amp;requestedOutputs) override</td></tr>
109<tr class="memdesc:afb0edadd00c78430efbdc02844ef379a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates the network from a protobuf binary file on the disk. <a href="#afb0edadd00c78430efbdc02844ef379a">More...</a><br /></td></tr>
110<tr class="separator:afb0edadd00c78430efbdc02844ef379a"><td class="memSeparator" colspan="2">&#160;</td></tr>
111<tr class="memitem:acd82aa5171feb1c852506964f3c5254b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacearmnn.html#ace74f6f9feb95a964a49d79458232703">armnn::INetworkPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_tf_parser_1_1_tf_parser.html#acd82aa5171feb1c852506964f3c5254b">CreateNetworkFromString</a> (const char *protoText, const std::map&lt; std::string, <a class="el" href="classarmnn_1_1_tensor_shape.html">armnn::TensorShape</a> &gt; &amp;inputShapes, const std::vector&lt; std::string &gt; &amp;requestedOutputs) override</td></tr>
112<tr class="memdesc:acd82aa5171feb1c852506964f3c5254b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates the network directly from protobuf text in a string. Useful for debugging/testing. <a href="#acd82aa5171feb1c852506964f3c5254b">More...</a><br /></td></tr>
113<tr class="separator:acd82aa5171feb1c852506964f3c5254b"><td class="memSeparator" colspan="2">&#160;</td></tr>
114<tr class="memitem:aba39201ebaeb0738f15a14b3c8da1f5a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacearmnn_tf_parser.html#a9084adbf804022c874039ad40d1939e9">BindingPointInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_tf_parser_1_1_tf_parser.html#aba39201ebaeb0738f15a14b3c8da1f5a">GetNetworkInputBindingInfo</a> (const std::string &amp;name) const override</td></tr>
115<tr class="memdesc:aba39201ebaeb0738f15a14b3c8da1f5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves binding info (layer id and tensor info) for the network input identified by the given layer name. <a href="#aba39201ebaeb0738f15a14b3c8da1f5a">More...</a><br /></td></tr>
116<tr class="separator:aba39201ebaeb0738f15a14b3c8da1f5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
117<tr class="memitem:aee8c8fa7de3c87392791d9f8dd90655f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacearmnn_tf_parser.html#a9084adbf804022c874039ad40d1939e9">BindingPointInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_tf_parser_1_1_tf_parser.html#aee8c8fa7de3c87392791d9f8dd90655f">GetNetworkOutputBindingInfo</a> (const std::string &amp;name) const override</td></tr>
118<tr class="memdesc:aee8c8fa7de3c87392791d9f8dd90655f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves binding info (layer id and tensor info) for the network output identified by the given layer name. <a href="#aee8c8fa7de3c87392791d9f8dd90655f">More...</a><br /></td></tr>
119<tr class="separator:aee8c8fa7de3c87392791d9f8dd90655f"><td class="memSeparator" colspan="2">&#160;</td></tr>
120<tr class="memitem:a52c2ae3fa88f24fcf37a08672d217100"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_tf_parser_1_1_tf_parser.html#a52c2ae3fa88f24fcf37a08672d217100">TfParser</a> ()</td></tr>
121<tr class="separator:a52c2ae3fa88f24fcf37a08672d217100"><td class="memSeparator" colspan="2">&#160;</td></tr>
122</table><table class="memberdecls">
123<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
124Friends</h2></td></tr>
125<tr class="memitem:ad3c8cd69190956793af7af503dc495cd"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
126<tr class="memitem:ad3c8cd69190956793af7af503dc495cd"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarmnn_tf_parser_1_1_tf_parser.html#ad3c8cd69190956793af7af503dc495cd">ParsedConstTfOperation</a></td></tr>
127<tr class="separator:ad3c8cd69190956793af7af503dc495cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
128<tr class="memitem:a97caa75ebdb49fc10250742b33d29ae7"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_tf_parser_1_1_tf_parser.html#a97caa75ebdb49fc10250742b33d29ae7">ParsedMatMulTfOperation</a></td></tr>
129<tr class="separator:a97caa75ebdb49fc10250742b33d29ae7"><td class="memSeparator" colspan="2">&#160;</td></tr>
130<tr class="memitem:ac28271f7220cd595de55dbb7f99f4a63"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_tf_parser_1_1_tf_parser.html#ac28271f7220cd595de55dbb7f99f4a63">ParsedMulTfOperation</a></td></tr>
131<tr class="separator:ac28271f7220cd595de55dbb7f99f4a63"><td class="memSeparator" colspan="2">&#160;</td></tr>
132</table><table class="memberdecls">
133<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
134Additional Inherited Members</h2></td></tr>
135<tr class="inherit_header pub_static_methods_classarmnn_tf_parser_1_1_i_tf_parser"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classarmnn_tf_parser_1_1_i_tf_parser')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classarmnn_tf_parser_1_1_i_tf_parser.html">ITfParser</a></td></tr>
136<tr class="memitem:acef5ea7cde55834460c7d8c79d646242 inherit pub_static_methods_classarmnn_tf_parser_1_1_i_tf_parser"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classarmnn_tf_parser_1_1_i_tf_parser.html">ITfParser</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_tf_parser_1_1_i_tf_parser.html#acef5ea7cde55834460c7d8c79d646242">CreateRaw</a> ()</td></tr>
137<tr class="separator:acef5ea7cde55834460c7d8c79d646242 inherit pub_static_methods_classarmnn_tf_parser_1_1_i_tf_parser"><td class="memSeparator" colspan="2">&#160;</td></tr>
138<tr class="memitem:a6abaf60481f0791c686ed3b97818bd0c inherit pub_static_methods_classarmnn_tf_parser_1_1_i_tf_parser"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacearmnn_tf_parser.html#af7cec8b9a69e02f18a5de38502675d94">ITfParserPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_tf_parser_1_1_i_tf_parser.html#a6abaf60481f0791c686ed3b97818bd0c">Create</a> ()</td></tr>
139<tr class="separator:a6abaf60481f0791c686ed3b97818bd0c inherit pub_static_methods_classarmnn_tf_parser_1_1_i_tf_parser"><td class="memSeparator" colspan="2">&#160;</td></tr>
140<tr class="memitem:af462572a18d8158847b326970d42c246 inherit pub_static_methods_classarmnn_tf_parser_1_1_i_tf_parser"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_tf_parser_1_1_i_tf_parser.html#af462572a18d8158847b326970d42c246">Destroy</a> (<a class="el" href="classarmnn_tf_parser_1_1_i_tf_parser.html">ITfParser</a> *parser)</td></tr>
141<tr class="separator:af462572a18d8158847b326970d42c246 inherit pub_static_methods_classarmnn_tf_parser_1_1_i_tf_parser"><td class="memSeparator" colspan="2">&#160;</td></tr>
142<tr class="inherit_header pro_methods_classarmnn_tf_parser_1_1_i_tf_parser"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classarmnn_tf_parser_1_1_i_tf_parser')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classarmnn_tf_parser_1_1_i_tf_parser.html">ITfParser</a></td></tr>
143<tr class="memitem:a7b445ea802d4a7cba92614c5adafb615 inherit pro_methods_classarmnn_tf_parser_1_1_i_tf_parser"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_tf_parser_1_1_i_tf_parser.html#a7b445ea802d4a7cba92614c5adafb615">~ITfParser</a> ()</td></tr>
144<tr class="separator:a7b445ea802d4a7cba92614c5adafb615 inherit pro_methods_classarmnn_tf_parser_1_1_i_tf_parser"><td class="memSeparator" colspan="2">&#160;</td></tr>
145</table>
146<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
147<div class="textblock">
148<p class="definition">Definition at line <a class="el" href="_tf_parser_8hpp_source.html#l00064">64</a> of file <a class="el" href="_tf_parser_8hpp_source.html">TfParser.hpp</a>.</p>
149</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
150<a id="a52c2ae3fa88f24fcf37a08672d217100"></a>
151<h2 class="memtitle"><span class="permalink"><a href="#a52c2ae3fa88f24fcf37a08672d217100">&#9670;&nbsp;</a></span>TfParser()</h2>
152
153<div class="memitem">
154<div class="memproto">
155 <table class="memname">
156 <tr>
157 <td class="memname"><a class="el" href="classarmnn_tf_parser_1_1_tf_parser.html">TfParser</a> </td>
158 <td>(</td>
159 <td class="paramname"></td><td>)</td>
160 <td></td>
161 </tr>
162 </table>
163</div><div class="memdoc">
164
165<p class="definition">Definition at line <a class="el" href="_tf_parser_8cpp_source.html#l00513">513</a> of file <a class="el" href="_tf_parser_8cpp_source.html">TfParser.cpp</a>.</p>
166
167<p class="reference">References <a class="el" href="classarmnn_1_1_i_network.html#a4812e0137ee610310d23059efed2cb84">INetwork::AddAdditionLayer()</a>, <a class="el" href="_exceptions_8hpp_source.html#l00169">CHECK_LOCATION</a>, <a class="el" href="classarmnn_1_1_i_output_slot.html#ac1835f8756a9f03c02fcf9664e3a0fce">IOutputSlot::Connect()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a6ec9e0eb66d7d6a01240492a0b18104c">IConnectableLayer::GetInputSlot()</a>, <a class="el" href="_tensor_8hpp_source.html#l00043">TensorShape::GetNumDimensions()</a>, <a class="el" href="_tensor_8hpp_source.html#l00092">TensorInfo::GetNumDimensions()</a>, <a class="el" href="_tensor_8hpp_source.html#l00093">TensorInfo::GetNumElements()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a80ac4eda2e7f2757ec9dd96fc96dbd16">IConnectableLayer::GetOutputSlot()</a>, <a class="el" href="_tensor_8hpp_source.html#l00088">TensorInfo::GetShape()</a>, <a class="el" href="classarmnn_1_1_i_output_slot.html#a9943775a364fc4ab53b85ac88f311886">IOutputSlot::GetTensorInfo()</a>, <a class="el" href="_tf_parser_8hpp_source.html#l00049">WithOutputTensorIndex&lt; T &gt;::m_Index</a>, <a class="el" href="_tf_parser_8hpp_source.html#l00048">WithOutputTensorIndex&lt; T &gt;::m_IndexedValue</a>, <a class="el" href="_tf_parser_8hpp_source.html#l00096">TfParser::ParsedConstTfOperation</a>, <a class="el" href="_tensor_8hpp_source.html#l00090">TensorInfo::SetShape()</a>, and <a class="el" href="classarmnn_1_1_i_output_slot.html#a5ee4a6c9a2481245487b1b1a70d20fd0">IOutputSlot::SetTensorInfo()</a>.</p>
168<div class="fragment"><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; : m_Network(<span class="keyword">nullptr</span>, <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;{</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;}</div></div><!-- fragment -->
169</div>
170</div>
171<h2 class="groupheader">Member Function Documentation</h2>
172<a id="afb0edadd00c78430efbdc02844ef379a"></a>
173<h2 class="memtitle"><span class="permalink"><a href="#afb0edadd00c78430efbdc02844ef379a">&#9670;&nbsp;</a></span>CreateNetworkFromBinaryFile()</h2>
174
175<div class="memitem">
176<div class="memproto">
177<table class="mlabels">
178 <tr>
179 <td class="mlabels-left">
180 <table class="memname">
181 <tr>
182 <td class="memname"><a class="el" href="namespacearmnn.html#ace74f6f9feb95a964a49d79458232703">INetworkPtr</a> CreateNetworkFromBinaryFile </td>
183 <td>(</td>
184 <td class="paramtype">const char *&#160;</td>
185 <td class="paramname"><em>graphFile</em>, </td>
186 </tr>
187 <tr>
188 <td class="paramkey"></td>
189 <td></td>
190 <td class="paramtype">const std::map&lt; std::string, <a class="el" href="classarmnn_1_1_tensor_shape.html">armnn::TensorShape</a> &gt; &amp;&#160;</td>
191 <td class="paramname"><em>inputShapes</em>, </td>
192 </tr>
193 <tr>
194 <td class="paramkey"></td>
195 <td></td>
196 <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
197 <td class="paramname"><em>requestedOutputs</em>&#160;</td>
198 </tr>
199 <tr>
200 <td></td>
201 <td>)</td>
202 <td></td><td></td>
203 </tr>
204 </table>
205 </td>
206 <td class="mlabels-right">
207<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
208 </tr>
209</table>
210</div><div class="memdoc">
211
212<p>Creates the network from a protobuf binary file on the disk. </p>
213
214<p>Implements <a class="el" href="classarmnn_tf_parser_1_1_i_tf_parser.html#a55a1948e089db582acefcb0bb8921ad3">ITfParser</a>.</p>
215
216<p class="definition">Definition at line <a class="el" href="_tf_parser_8cpp_source.html#l03566">3566</a> of file <a class="el" href="_tf_parser_8cpp_source.html">TfParser.cpp</a>.</p>
217
218<p class="reference">References <a class="el" href="_exceptions_8hpp_source.html#l00169">CHECK_LOCATION</a>.</p>
219<div class="fragment"><div class="line"><a name="l03569"></a><span class="lineno"> 3569</span>&#160;{</div><div class="line"><a name="l03570"></a><span class="lineno"> 3570</span>&#160; FILE* fd = fopen(graphFile, <span class="stringliteral">&quot;rb&quot;</span>);</div><div class="line"><a name="l03571"></a><span class="lineno"> 3571</span>&#160;</div><div class="line"><a name="l03572"></a><span class="lineno"> 3572</span>&#160; <span class="keywordflow">if</span> (fd == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l03573"></a><span class="lineno"> 3573</span>&#160; {</div><div class="line"><a name="l03574"></a><span class="lineno"> 3574</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_file_not_found_exception.html">FileNotFoundException</a>(</div><div class="line"><a name="l03575"></a><span class="lineno"> 3575</span>&#160; boost::str(</div><div class="line"><a name="l03576"></a><span class="lineno"> 3576</span>&#160; boost::format(</div><div class="line"><a name="l03577"></a><span class="lineno"> 3577</span>&#160; <span class="stringliteral">&quot;Graph file %1% failed to open %2%&quot;</span>)</div><div class="line"><a name="l03578"></a><span class="lineno"> 3578</span>&#160; % graphFile</div><div class="line"><a name="l03579"></a><span class="lineno"> 3579</span>&#160; % <a class="code" href="_exceptions_8hpp.html#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>().AsString()));</div><div class="line"><a name="l03580"></a><span class="lineno"> 3580</span>&#160; }</div><div class="line"><a name="l03581"></a><span class="lineno"> 3581</span>&#160;</div><div class="line"><a name="l03582"></a><span class="lineno"> 3582</span>&#160; <span class="comment">// Parses the file into a message.</span></div><div class="line"><a name="l03583"></a><span class="lineno"> 3583</span>&#160; tensorflow::GraphDef graphDef;</div><div class="line"><a name="l03584"></a><span class="lineno"> 3584</span>&#160;</div><div class="line"><a name="l03585"></a><span class="lineno"> 3585</span>&#160; google::protobuf::io::FileInputStream inStream(fileno(fd));</div><div class="line"><a name="l03586"></a><span class="lineno"> 3586</span>&#160; google::protobuf::io::CodedInputStream codedStream(&amp;inStream);</div><div class="line"><a name="l03587"></a><span class="lineno"> 3587</span>&#160; codedStream.SetTotalBytesLimit(INT_MAX, INT_MAX);</div><div class="line"><a name="l03588"></a><span class="lineno"> 3588</span>&#160; <span class="keywordtype">bool</span> success = graphDef.ParseFromCodedStream(&amp;codedStream);</div><div class="line"><a name="l03589"></a><span class="lineno"> 3589</span>&#160; fclose(fd);</div><div class="line"><a name="l03590"></a><span class="lineno"> 3590</span>&#160;</div><div class="line"><a name="l03591"></a><span class="lineno"> 3591</span>&#160; <span class="keywordflow">if</span> (!success)</div><div class="line"><a name="l03592"></a><span class="lineno"> 3592</span>&#160; {</div><div class="line"><a name="l03593"></a><span class="lineno"> 3593</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_parse_exception.html">ParseException</a>(</div><div class="line"><a name="l03594"></a><span class="lineno"> 3594</span>&#160; boost::str(</div><div class="line"><a name="l03595"></a><span class="lineno"> 3595</span>&#160; boost::format(</div><div class="line"><a name="l03596"></a><span class="lineno"> 3596</span>&#160; <span class="stringliteral">&quot;Failed to parse protobuf file %1% %2%&quot;</span>)</div><div class="line"><a name="l03597"></a><span class="lineno"> 3597</span>&#160; % graphFile</div><div class="line"><a name="l03598"></a><span class="lineno"> 3598</span>&#160; % <a class="code" href="_exceptions_8hpp.html#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>().AsString()));</div><div class="line"><a name="l03599"></a><span class="lineno"> 3599</span>&#160; }</div><div class="line"><a name="l03600"></a><span class="lineno"> 3600</span>&#160;</div><div class="line"><a name="l03601"></a><span class="lineno"> 3601</span>&#160; <span class="keywordflow">return</span> CreateNetworkFromGraphDef(graphDef, inputShapes, requestedOutputs);</div><div class="line"><a name="l03602"></a><span class="lineno"> 3602</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_parse_exception_html"><div class="ttname"><a href="classarmnn_1_1_parse_exception.html">armnn::ParseException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00092">Exceptions.hpp:92</a></div></div>
220<div class="ttc" id="_exceptions_8hpp_html_aa3be76aec4ce713822a5ea1ecbb7bc61"><div class="ttname"><a href="_exceptions_8hpp.html#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a></div><div class="ttdeci">#define CHECK_LOCATION()</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00169">Exceptions.hpp:169</a></div></div>
221<div class="ttc" id="classarmnn_1_1_file_not_found_exception_html"><div class="ttname"><a href="classarmnn_1_1_file_not_found_exception.html">armnn::FileNotFoundException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00086">Exceptions.hpp:86</a></div></div>
222</div><!-- fragment -->
223</div>
224</div>
225<a id="acd82aa5171feb1c852506964f3c5254b"></a>
226<h2 class="memtitle"><span class="permalink"><a href="#acd82aa5171feb1c852506964f3c5254b">&#9670;&nbsp;</a></span>CreateNetworkFromString()</h2>
227
228<div class="memitem">
229<div class="memproto">
230<table class="mlabels">
231 <tr>
232 <td class="mlabels-left">
233 <table class="memname">
234 <tr>
235 <td class="memname"><a class="el" href="namespacearmnn.html#ace74f6f9feb95a964a49d79458232703">INetworkPtr</a> CreateNetworkFromString </td>
236 <td>(</td>
237 <td class="paramtype">const char *&#160;</td>
238 <td class="paramname"><em>protoText</em>, </td>
239 </tr>
240 <tr>
241 <td class="paramkey"></td>
242 <td></td>
243 <td class="paramtype">const std::map&lt; std::string, <a class="el" href="classarmnn_1_1_tensor_shape.html">armnn::TensorShape</a> &gt; &amp;&#160;</td>
244 <td class="paramname"><em>inputShapes</em>, </td>
245 </tr>
246 <tr>
247 <td class="paramkey"></td>
248 <td></td>
249 <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
250 <td class="paramname"><em>requestedOutputs</em>&#160;</td>
251 </tr>
252 <tr>
253 <td></td>
254 <td>)</td>
255 <td></td><td></td>
256 </tr>
257 </table>
258 </td>
259 <td class="mlabels-right">
260<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
261 </tr>
262</table>
263</div><div class="memdoc">
264
265<p>Creates the network directly from protobuf text in a string. Useful for debugging/testing. </p>
266
267<p>Implements <a class="el" href="classarmnn_tf_parser_1_1_i_tf_parser.html#a985d357617c1627bbf35b3d9841ffe8c">ITfParser</a>.</p>
268
269<p class="definition">Definition at line <a class="el" href="_tf_parser_8cpp_source.html#l03546">3546</a> of file <a class="el" href="_tf_parser_8cpp_source.html">TfParser.cpp</a>.</p>
270
271<p class="reference">References <a class="el" href="_exceptions_8hpp_source.html#l00169">CHECK_LOCATION</a>.</p>
272<div class="fragment"><div class="line"><a name="l03549"></a><span class="lineno"> 3549</span>&#160;{</div><div class="line"><a name="l03550"></a><span class="lineno"> 3550</span>&#160; <span class="comment">// Parses the string into a message.</span></div><div class="line"><a name="l03551"></a><span class="lineno"> 3551</span>&#160; tensorflow::GraphDef graphDef;</div><div class="line"><a name="l03552"></a><span class="lineno"> 3552</span>&#160; <span class="keywordtype">bool</span> success = google::protobuf::TextFormat::ParseFromString(protoText, &amp;graphDef);</div><div class="line"><a name="l03553"></a><span class="lineno"> 3553</span>&#160;</div><div class="line"><a name="l03554"></a><span class="lineno"> 3554</span>&#160; <span class="keywordflow">if</span> (!success)</div><div class="line"><a name="l03555"></a><span class="lineno"> 3555</span>&#160; {</div><div class="line"><a name="l03556"></a><span class="lineno"> 3556</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_parse_exception.html">ParseException</a>(</div><div class="line"><a name="l03557"></a><span class="lineno"> 3557</span>&#160; boost::str(</div><div class="line"><a name="l03558"></a><span class="lineno"> 3558</span>&#160; boost::format(</div><div class="line"><a name="l03559"></a><span class="lineno"> 3559</span>&#160; <span class="stringliteral">&quot;Failed to parse graph file %1%&quot;</span>)</div><div class="line"><a name="l03560"></a><span class="lineno"> 3560</span>&#160; % <a class="code" href="_exceptions_8hpp.html#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>().AsString()));</div><div class="line"><a name="l03561"></a><span class="lineno"> 3561</span>&#160; }</div><div class="line"><a name="l03562"></a><span class="lineno"> 3562</span>&#160;</div><div class="line"><a name="l03563"></a><span class="lineno"> 3563</span>&#160; <span class="keywordflow">return</span> CreateNetworkFromGraphDef(graphDef, inputShapes, requestedOutputs);</div><div class="line"><a name="l03564"></a><span class="lineno"> 3564</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_parse_exception_html"><div class="ttname"><a href="classarmnn_1_1_parse_exception.html">armnn::ParseException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00092">Exceptions.hpp:92</a></div></div>
273<div class="ttc" id="_exceptions_8hpp_html_aa3be76aec4ce713822a5ea1ecbb7bc61"><div class="ttname"><a href="_exceptions_8hpp.html#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a></div><div class="ttdeci">#define CHECK_LOCATION()</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00169">Exceptions.hpp:169</a></div></div>
274</div><!-- fragment -->
275</div>
276</div>
277<a id="ae2d544957c50461d305b2517581c86d0"></a>
278<h2 class="memtitle"><span class="permalink"><a href="#ae2d544957c50461d305b2517581c86d0">&#9670;&nbsp;</a></span>CreateNetworkFromTextFile()</h2>
279
280<div class="memitem">
281<div class="memproto">
282<table class="mlabels">
283 <tr>
284 <td class="mlabels-left">
285 <table class="memname">
286 <tr>
287 <td class="memname"><a class="el" href="namespacearmnn.html#ace74f6f9feb95a964a49d79458232703">INetworkPtr</a> CreateNetworkFromTextFile </td>
288 <td>(</td>
289 <td class="paramtype">const char *&#160;</td>
290 <td class="paramname"><em>graphFile</em>, </td>
291 </tr>
292 <tr>
293 <td class="paramkey"></td>
294 <td></td>
295 <td class="paramtype">const std::map&lt; std::string, <a class="el" href="classarmnn_1_1_tensor_shape.html">armnn::TensorShape</a> &gt; &amp;&#160;</td>
296 <td class="paramname"><em>inputShapes</em>, </td>
297 </tr>
298 <tr>
299 <td class="paramkey"></td>
300 <td></td>
301 <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
302 <td class="paramname"><em>requestedOutputs</em>&#160;</td>
303 </tr>
304 <tr>
305 <td></td>
306 <td>)</td>
307 <td></td><td></td>
308 </tr>
309 </table>
310 </td>
311 <td class="mlabels-right">
312<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
313 </tr>
314</table>
315</div><div class="memdoc">
316
317<p>Creates the network from a protobuf text file on the disk. </p>
318
319<p>Implements <a class="el" href="classarmnn_tf_parser_1_1_i_tf_parser.html#a2006ec5e8da2ebf087eedbd75652619e">ITfParser</a>.</p>
320
321<p class="definition">Definition at line <a class="el" href="_tf_parser_8cpp_source.html#l03511">3511</a> of file <a class="el" href="_tf_parser_8cpp_source.html">TfParser.cpp</a>.</p>
322
323<p class="reference">References <a class="el" href="_exceptions_8hpp_source.html#l00169">CHECK_LOCATION</a>.</p>
324<div class="fragment"><div class="line"><a name="l03514"></a><span class="lineno"> 3514</span>&#160;{</div><div class="line"><a name="l03515"></a><span class="lineno"> 3515</span>&#160; FILE* fd = fopen(graphFile, <span class="stringliteral">&quot;r&quot;</span>);</div><div class="line"><a name="l03516"></a><span class="lineno"> 3516</span>&#160;</div><div class="line"><a name="l03517"></a><span class="lineno"> 3517</span>&#160; <span class="keywordflow">if</span> (fd == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l03518"></a><span class="lineno"> 3518</span>&#160; {</div><div class="line"><a name="l03519"></a><span class="lineno"> 3519</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_file_not_found_exception.html">FileNotFoundException</a>(</div><div class="line"><a name="l03520"></a><span class="lineno"> 3520</span>&#160; boost::str(</div><div class="line"><a name="l03521"></a><span class="lineno"> 3521</span>&#160; boost::format(</div><div class="line"><a name="l03522"></a><span class="lineno"> 3522</span>&#160; <span class="stringliteral">&quot;Graph file %1% failed to open %2%&quot;</span>)</div><div class="line"><a name="l03523"></a><span class="lineno"> 3523</span>&#160; % graphFile</div><div class="line"><a name="l03524"></a><span class="lineno"> 3524</span>&#160; % <a class="code" href="_exceptions_8hpp.html#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>().AsString()));</div><div class="line"><a name="l03525"></a><span class="lineno"> 3525</span>&#160; }</div><div class="line"><a name="l03526"></a><span class="lineno"> 3526</span>&#160;</div><div class="line"><a name="l03527"></a><span class="lineno"> 3527</span>&#160; <span class="comment">// Parses the file into a message.</span></div><div class="line"><a name="l03528"></a><span class="lineno"> 3528</span>&#160; tensorflow::GraphDef graphDef;</div><div class="line"><a name="l03529"></a><span class="lineno"> 3529</span>&#160; <span class="keyword">auto</span> input = <span class="keyword">new</span> google::protobuf::io::FileInputStream(fileno(fd));</div><div class="line"><a name="l03530"></a><span class="lineno"> 3530</span>&#160; <span class="keywordtype">bool</span> success = google::protobuf::TextFormat::Parse(input, &amp;graphDef);</div><div class="line"><a name="l03531"></a><span class="lineno"> 3531</span>&#160; <span class="keyword">delete</span> input;</div><div class="line"><a name="l03532"></a><span class="lineno"> 3532</span>&#160; fclose(fd);</div><div class="line"><a name="l03533"></a><span class="lineno"> 3533</span>&#160;</div><div class="line"><a name="l03534"></a><span class="lineno"> 3534</span>&#160; <span class="keywordflow">if</span> (!success)</div><div class="line"><a name="l03535"></a><span class="lineno"> 3535</span>&#160; {</div><div class="line"><a name="l03536"></a><span class="lineno"> 3536</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_parse_exception.html">ParseException</a>(</div><div class="line"><a name="l03537"></a><span class="lineno"> 3537</span>&#160; boost::str(</div><div class="line"><a name="l03538"></a><span class="lineno"> 3538</span>&#160; boost::format(</div><div class="line"><a name="l03539"></a><span class="lineno"> 3539</span>&#160; <span class="stringliteral">&quot;Failed to parse graph file %1%&quot;</span>)</div><div class="line"><a name="l03540"></a><span class="lineno"> 3540</span>&#160; % <a class="code" href="_exceptions_8hpp.html#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>().AsString()));</div><div class="line"><a name="l03541"></a><span class="lineno"> 3541</span>&#160; }</div><div class="line"><a name="l03542"></a><span class="lineno"> 3542</span>&#160;</div><div class="line"><a name="l03543"></a><span class="lineno"> 3543</span>&#160; <span class="keywordflow">return</span> CreateNetworkFromGraphDef(graphDef, inputShapes, requestedOutputs);</div><div class="line"><a name="l03544"></a><span class="lineno"> 3544</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_parse_exception_html"><div class="ttname"><a href="classarmnn_1_1_parse_exception.html">armnn::ParseException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00092">Exceptions.hpp:92</a></div></div>
325<div class="ttc" id="_exceptions_8hpp_html_aa3be76aec4ce713822a5ea1ecbb7bc61"><div class="ttname"><a href="_exceptions_8hpp.html#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a></div><div class="ttdeci">#define CHECK_LOCATION()</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00169">Exceptions.hpp:169</a></div></div>
326<div class="ttc" id="classarmnn_1_1_file_not_found_exception_html"><div class="ttname"><a href="classarmnn_1_1_file_not_found_exception.html">armnn::FileNotFoundException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00086">Exceptions.hpp:86</a></div></div>
327</div><!-- fragment -->
328</div>
329</div>
330<a id="aba39201ebaeb0738f15a14b3c8da1f5a"></a>
331<h2 class="memtitle"><span class="permalink"><a href="#aba39201ebaeb0738f15a14b3c8da1f5a">&#9670;&nbsp;</a></span>GetNetworkInputBindingInfo()</h2>
332
333<div class="memitem">
334<div class="memproto">
335<table class="mlabels">
336 <tr>
337 <td class="mlabels-left">
338 <table class="memname">
339 <tr>
340 <td class="memname"><a class="el" href="namespacearmnn_tf_parser.html#a9084adbf804022c874039ad40d1939e9">BindingPointInfo</a> GetNetworkInputBindingInfo </td>
341 <td>(</td>
342 <td class="paramtype">const std::string &amp;&#160;</td>
343 <td class="paramname"><em>name</em></td><td>)</td>
344 <td> const</td>
345 </tr>
346 </table>
347 </td>
348 <td class="mlabels-right">
349<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
350 </tr>
351</table>
352</div><div class="memdoc">
353
354<p>Retrieves binding info (layer id and tensor info) for the network input identified by the given layer name. </p>
355
356<p>Implements <a class="el" href="classarmnn_tf_parser_1_1_i_tf_parser.html#adbba18b867f84bfcd3c88d06f275eac9">ITfParser</a>.</p>
357
358<p class="definition">Definition at line <a class="el" href="_tf_parser_8cpp_source.html#l03645">3645</a> of file <a class="el" href="_tf_parser_8cpp_source.html">TfParser.cpp</a>.</p>
359<div class="fragment"><div class="line"><a name="l03646"></a><span class="lineno"> 3646</span>&#160;{</div><div class="line"><a name="l03647"></a><span class="lineno"> 3647</span>&#160; <span class="keywordflow">return</span> GetBindingInfo(name, <span class="stringliteral">&quot;input&quot;</span>, m_NetworkInputsBindingInfo);</div><div class="line"><a name="l03648"></a><span class="lineno"> 3648</span>&#160;}</div></div><!-- fragment -->
360</div>
361</div>
362<a id="aee8c8fa7de3c87392791d9f8dd90655f"></a>
363<h2 class="memtitle"><span class="permalink"><a href="#aee8c8fa7de3c87392791d9f8dd90655f">&#9670;&nbsp;</a></span>GetNetworkOutputBindingInfo()</h2>
364
365<div class="memitem">
366<div class="memproto">
367<table class="mlabels">
368 <tr>
369 <td class="mlabels-left">
370 <table class="memname">
371 <tr>
372 <td class="memname"><a class="el" href="namespacearmnn_tf_parser.html#a9084adbf804022c874039ad40d1939e9">BindingPointInfo</a> GetNetworkOutputBindingInfo </td>
373 <td>(</td>
374 <td class="paramtype">const std::string &amp;&#160;</td>
375 <td class="paramname"><em>name</em></td><td>)</td>
376 <td> const</td>
377 </tr>
378 </table>
379 </td>
380 <td class="mlabels-right">
381<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
382 </tr>
383</table>
384</div><div class="memdoc">
385
386<p>Retrieves binding info (layer id and tensor info) for the network output identified by the given layer name. </p>
387
388<p>Implements <a class="el" href="classarmnn_tf_parser_1_1_i_tf_parser.html#a99d33c004ce680f49893c9254d9bff5a">ITfParser</a>.</p>
389
390<p class="definition">Definition at line <a class="el" href="_tf_parser_8cpp_source.html#l03650">3650</a> of file <a class="el" href="_tf_parser_8cpp_source.html">TfParser.cpp</a>.</p>
391
392<p class="reference">References <a class="el" href="_exceptions_8hpp_source.html#l00169">CHECK_LOCATION</a>, and <a class="el" href="classarmnn_1_1_i_connectable_layer.html#afcc1c3a20bd2860e0ddd21674389246f">IConnectableLayer::GetName()</a>.</p>
393<div class="fragment"><div class="line"><a name="l03651"></a><span class="lineno"> 3651</span>&#160;{</div><div class="line"><a name="l03652"></a><span class="lineno"> 3652</span>&#160; <span class="keywordflow">return</span> GetBindingInfo(name, <span class="stringliteral">&quot;output&quot;</span>, m_NetworkOutputsBindingInfo);</div><div class="line"><a name="l03653"></a><span class="lineno"> 3653</span>&#160;}</div></div><!-- fragment -->
394</div>
395</div>
396<h2 class="groupheader">Friends And Related Function Documentation</h2>
397<a id="ad3c8cd69190956793af7af503dc495cd"></a>
398<h2 class="memtitle"><span class="permalink"><a href="#ad3c8cd69190956793af7af503dc495cd">&#9670;&nbsp;</a></span>ParsedConstTfOperation</h2>
399
400<div class="memitem">
401<div class="memproto">
402<table class="mlabels">
403 <tr>
404 <td class="mlabels-left">
405 <table class="memname">
406 <tr>
407 <td class="memname">friend class ParsedConstTfOperation</td>
408 </tr>
409 </table>
410 </td>
411 <td class="mlabels-right">
412<span class="mlabels"><span class="mlabel">friend</span></span> </td>
413 </tr>
414</table>
415</div><div class="memdoc">
416
417<p class="definition">Definition at line <a class="el" href="_tf_parser_8hpp_source.html#l00096">96</a> of file <a class="el" href="_tf_parser_8hpp_source.html">TfParser.hpp</a>.</p>
418
419<p class="reference">Referenced by <a class="el" href="_tf_parser_8cpp_source.html#l00513">TfParser::TfParser()</a>.</p>
420
421</div>
422</div>
423<a id="a97caa75ebdb49fc10250742b33d29ae7"></a>
424<h2 class="memtitle"><span class="permalink"><a href="#a97caa75ebdb49fc10250742b33d29ae7">&#9670;&nbsp;</a></span>ParsedMatMulTfOperation</h2>
425
426<div class="memitem">
427<div class="memproto">
428<table class="mlabels">
429 <tr>
430 <td class="mlabels-left">
431 <table class="memname">
432 <tr>
433 <td class="memname">friend class ParsedMatMulTfOperation</td>
434 </tr>
435 </table>
436 </td>
437 <td class="mlabels-right">
438<span class="mlabels"><span class="mlabel">friend</span></span> </td>
439 </tr>
440</table>
441</div><div class="memdoc">
442
443<p class="definition">Definition at line <a class="el" href="_tf_parser_8hpp_source.html#l00097">97</a> of file <a class="el" href="_tf_parser_8hpp_source.html">TfParser.hpp</a>.</p>
444
445<p class="reference">Referenced by <a class="el" href="_tf_parser_8cpp_source.html#l02414">armnnTfParser::OutputShapeOfSqueeze()</a>.</p>
446
447</div>
448</div>
449<a id="ac28271f7220cd595de55dbb7f99f4a63"></a>
450<h2 class="memtitle"><span class="permalink"><a href="#ac28271f7220cd595de55dbb7f99f4a63">&#9670;&nbsp;</a></span>ParsedMulTfOperation</h2>
451
452<div class="memitem">
453<div class="memproto">
454<table class="mlabels">
455 <tr>
456 <td class="mlabels-left">
457 <table class="memname">
458 <tr>
459 <td class="memname">friend class ParsedMulTfOperation</td>
460 </tr>
461 </table>
462 </td>
463 <td class="mlabels-right">
464<span class="mlabels"><span class="mlabel">friend</span></span> </td>
465 </tr>
466</table>
467</div><div class="memdoc">
468
469<p class="definition">Definition at line <a class="el" href="_tf_parser_8hpp_source.html#l00098">98</a> of file <a class="el" href="_tf_parser_8hpp_source.html">TfParser.hpp</a>.</p>
470
471<p class="reference">Referenced by <a class="el" href="_tf_parser_8cpp_source.html#l02414">armnnTfParser::OutputShapeOfSqueeze()</a>.</p>
472
473</div>
474</div>
475<hr/>The documentation for this class was generated from the following files:<ul>
476<li>src/armnnTfParser/<a class="el" href="_tf_parser_8hpp_source.html">TfParser.hpp</a></li>
477<li>src/armnnTfParser/<a class="el" href="_tf_parser_8cpp_source.html">TfParser.cpp</a></li>
478</ul>
479</div><!-- contents -->
480</div><!-- doc-content -->
481<!-- start footer part -->
482<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
483 <ul>
484 <li class="navelem"><a class="el" href="namespacearmnn_tf_parser.html">armnnTfParser</a></li><li class="navelem"><a class="el" href="classarmnn_tf_parser_1_1_tf_parser.html">TfParser</a></li>
485 <li class="footer">Generated on Fri Mar 13 2020 16:07:06 for ArmNN by
486 <a href="http://www.doxygen.org/index.html">
487 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
488 </ul>
489</div>
490</body>
491</html>