blob: 87ac30c92a0d8d8e63c1c9767c791dce314da67b [file] [log] [blame]
Nikhil Raj1dc83fe2024-05-16 09:47:51 +01001<!-- HTML header for doxygen 1.8.17-->
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6<meta http-equiv="X-UA-Compatible" content="IE=9"/>
7<meta name="generator" content="Doxygen 1.8.17"/>
8<meta name="viewport" content="width=device-width, initial-scale=1"/>
9<title>Arm NN: OptimizationViews Class Reference</title>
10<link href="tabs.css" rel="stylesheet" type="text/css"/>
11<script type="text/javascript" src="jquery.js"></script>
12<script type="text/javascript" src="dynsections.js"></script>
13<link href="navtree.css" rel="stylesheet" type="text/css"/>
14<script type="text/javascript" src="resize.js"></script>
15<script type="text/javascript" src="navtreedata.js"></script>
16<script type="text/javascript" src="navtree.js"></script>
17<link href="search/search.css" rel="stylesheet" type="text/css"/>
18<script type="text/javascript" src="search/searchdata.js"></script>
19<script type="text/javascript" src="search/search.js"></script>
20<script type="text/x-mathjax-config">
21 MathJax.Hub.Config({
22 extensions: ["tex2jax.js"],
23 jax: ["input/TeX","output/HTML-CSS"],
24});
25</script>
26<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
27<link href="doxygen.css" rel="stylesheet" type="text/css" />
28<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
29</head>
30<body>
31<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
32<div id="titlearea">
33<table cellspacing="0" cellpadding="0">
34 <tbody>
35 <tr style="height: 56px;">
36 <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
37 <td id="projectalign" style="padding-left: 0.9em;">
38 <div id="projectname">
39 &#160;<span id="projectnumber">24.05</span>
40 </div>
41 </td>
42 </tr>
43 </tbody>
44</table>
45</div>
46<!-- end header part -->
47<!-- Generated by Doxygen 1.8.17 -->
48<script type="text/javascript">
49/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
50var searchBox = new SearchBox("searchBox", "search",false,'Search');
51/* @license-end */
52</script>
53<script type="text/javascript" src="menudata.js"></script>
54<script type="text/javascript" src="menu.js"></script>
55<script type="text/javascript">
56/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
57$(function() {
58 initMenu('',true,false,'search.php','Search');
59 $(document).ready(function() { init_search(); });
60});
61/* @license-end */</script>
62<div id="main-nav"></div>
63</div><!-- top -->
64<div id="side-nav" class="ui-resizable side-nav-resizable">
65 <div id="nav-tree">
66 <div id="nav-tree-contents">
67 <div id="nav-sync" class="sync"></div>
68 </div>
69 </div>
70 <div id="splitbar" style="-moz-user-select:none;"
71 class="ui-resizable-handle">
72 </div>
73</div>
74<script type="text/javascript">
75/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
76$(document).ready(function(){initNavTree('classarmnn_1_1_optimization_views.html',''); initResizable(); });
77/* @license-end */
78</script>
79<div id="doc-content">
80<!-- window showing the filter options -->
81<div id="MSearchSelectWindow"
82 onmouseover="return searchBox.OnSearchSelectShow()"
83 onmouseout="return searchBox.OnSearchSelectHide()"
84 onkeydown="return searchBox.OnSearchSelectKey(event)">
85</div>
86
87<!-- iframe showing the search results (closed by default) -->
88<div id="MSearchResultsWindow">
89<iframe src="javascript:void(0)" frameborder="0"
90 name="MSearchResults" id="MSearchResults">
91</iframe>
92</div>
93
94<div class="header">
95 <div class="summary">
96<a href="#nested-classes">Classes</a> &#124;
97<a href="#pub-types">Public Types</a> &#124;
98<a href="#pub-methods">Public Member Functions</a> &#124;
99<a href="classarmnn_1_1_optimization_views-members.html">List of all members</a> </div>
100 <div class="headertitle">
101<div class="title">OptimizationViews Class Reference</div> </div>
102</div><!--header-->
103<div class="contents">
104
105<p><code>#include &lt;<a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>&gt;</code></p>
106<table class="memberdecls">
107<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
108Classes</h2></td></tr>
109<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_optimization_views_1_1_substitution_pair.html">SubstitutionPair</a></td></tr>
110<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
111</table><table class="memberdecls">
112<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
113Public Types</h2></td></tr>
114<tr class="memitem:a4a2c55491ad3a0a6a98a884b3e3fe6d7"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#a4a2c55491ad3a0a6a98a884b3e3fe6d7">Subgraphs</a> = std::vector&lt; <a class="el" href="classarmnn_1_1_subgraph_view.html">SubgraphView</a> &gt;</td></tr>
115<tr class="separator:a4a2c55491ad3a0a6a98a884b3e3fe6d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
116<tr class="memitem:a5831f7597baa44356221647c45a14f78"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#a5831f7597baa44356221647c45a14f78">Substitutions</a> = std::vector&lt; <a class="el" href="structarmnn_1_1_optimization_views_1_1_substitution_pair.html">SubstitutionPair</a> &gt;</td></tr>
117<tr class="separator:a5831f7597baa44356221647c45a14f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
118</table><table class="memberdecls">
119<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
120Public Member Functions</h2></td></tr>
121<tr class="memitem:aed725c77c38dde2d94f9044bd187ac9d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#aed725c77c38dde2d94f9044bd187ac9d">OptimizationViews</a> (const <a class="el" href="namespacearmnn.html#a4de71c3661093e5c4ae7775114f43413">NetworkOptions</a> &amp;networkOptions={})</td></tr>
122<tr class="separator:aed725c77c38dde2d94f9044bd187ac9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
123<tr class="memitem:a9a547d000ab53b70d18c52f8715e2332"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#a9a547d000ab53b70d18c52f8715e2332">OptimizationViews</a> (const <a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a> &amp;)=delete</td></tr>
124<tr class="separator:a9a547d000ab53b70d18c52f8715e2332"><td class="memSeparator" colspan="2">&#160;</td></tr>
125<tr class="memitem:a730718bdbdf68deb2ded6a223fbac811"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#a730718bdbdf68deb2ded6a223fbac811">operator=</a> (const <a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a> &amp;)=delete</td></tr>
126<tr class="separator:a730718bdbdf68deb2ded6a223fbac811"><td class="memSeparator" colspan="2">&#160;</td></tr>
127<tr class="memitem:a276ddd49e657718e1f5753839872af63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#a276ddd49e657718e1f5753839872af63">OptimizationViews</a> (<a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a> &amp;&amp;)=default</td></tr>
128<tr class="separator:a276ddd49e657718e1f5753839872af63"><td class="memSeparator" colspan="2">&#160;</td></tr>
129<tr class="memitem:a868892fed5bcce50e1f59d98439742b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#a868892fed5bcce50e1f59d98439742b7">operator=</a> (<a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a> &amp;&amp;)=default</td></tr>
130<tr class="separator:a868892fed5bcce50e1f59d98439742b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
131<tr class="memitem:a57340147dcb1c0ae05fdf14ff7af8a01"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#a57340147dcb1c0ae05fdf14ff7af8a01">AddSubstitution</a> (<a class="el" href="structarmnn_1_1_optimization_views_1_1_substitution_pair.html">SubstitutionPair</a> &amp;&amp;substitution)</td></tr>
132<tr class="separator:a57340147dcb1c0ae05fdf14ff7af8a01"><td class="memSeparator" colspan="2">&#160;</td></tr>
133<tr class="memitem:a1b29d43c2596e40987838f6d1f819858"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#a1b29d43c2596e40987838f6d1f819858">AddFailedSubgraph</a> (<a class="el" href="classarmnn_1_1_subgraph_view.html">SubgraphView</a> &amp;&amp;subgraph)</td></tr>
134<tr class="separator:a1b29d43c2596e40987838f6d1f819858"><td class="memSeparator" colspan="2">&#160;</td></tr>
135<tr class="memitem:a28e41bdd6b719a3d60a1a0de2e1ebc95"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#a28e41bdd6b719a3d60a1a0de2e1ebc95">AddUntouchedSubgraph</a> (<a class="el" href="classarmnn_1_1_subgraph_view.html">SubgraphView</a> &amp;&amp;subgraph)</td></tr>
136<tr class="separator:a28e41bdd6b719a3d60a1a0de2e1ebc95"><td class="memSeparator" colspan="2">&#160;</td></tr>
137<tr class="memitem:a4438f2ce297390e50f48dc426ba1f4f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#a4438f2ce297390e50f48dc426ba1f4f9">AddDeletedSubgraph</a> (<a class="el" href="classarmnn_1_1_subgraph_view.html">SubgraphView</a> &amp;&amp;subgraph)</td></tr>
138<tr class="separator:a4438f2ce297390e50f48dc426ba1f4f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
139<tr class="memitem:a9a1555f25af4a0ae2c0a1fc0ed9aded8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_optimization_views.html#a5831f7597baa44356221647c45a14f78">Substitutions</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#a9a1555f25af4a0ae2c0a1fc0ed9aded8">GetSubstitutions</a> () const</td></tr>
140<tr class="separator:a9a1555f25af4a0ae2c0a1fc0ed9aded8"><td class="memSeparator" colspan="2">&#160;</td></tr>
141<tr class="memitem:ad5fee4381bf82ffa37658dddf4d1fa01"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_optimization_views.html#a4a2c55491ad3a0a6a98a884b3e3fe6d7">Subgraphs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#ad5fee4381bf82ffa37658dddf4d1fa01">GetFailedSubgraphs</a> () const</td></tr>
142<tr class="separator:ad5fee4381bf82ffa37658dddf4d1fa01"><td class="memSeparator" colspan="2">&#160;</td></tr>
143<tr class="memitem:a3b4dae097ce086ce94079d09cce18703"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_optimization_views.html#a4a2c55491ad3a0a6a98a884b3e3fe6d7">Subgraphs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#a3b4dae097ce086ce94079d09cce18703">GetUntouchedSubgraphs</a> () const</td></tr>
144<tr class="separator:a3b4dae097ce086ce94079d09cce18703"><td class="memSeparator" colspan="2">&#160;</td></tr>
145<tr class="memitem:aa3792ea74cfe24d25460a6cf8e851f85"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_optimization_views.html#a4a2c55491ad3a0a6a98a884b3e3fe6d7">Subgraphs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#aa3792ea74cfe24d25460a6cf8e851f85">GetDeletedSubgraphs</a> () const</td></tr>
146<tr class="separator:aa3792ea74cfe24d25460a6cf8e851f85"><td class="memSeparator" colspan="2">&#160;</td></tr>
147<tr class="memitem:af57a6b0e88fd56f8dba7c5cb23871283"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_optimization_views.html#a5831f7597baa44356221647c45a14f78">Substitutions</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#af57a6b0e88fd56f8dba7c5cb23871283">GetSubstitutions</a> ()</td></tr>
148<tr class="separator:af57a6b0e88fd56f8dba7c5cb23871283"><td class="memSeparator" colspan="2">&#160;</td></tr>
149<tr class="memitem:af90695ff32383f3f967e256783aba816"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_optimization_views.html#a4a2c55491ad3a0a6a98a884b3e3fe6d7">Subgraphs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#af90695ff32383f3f967e256783aba816">GetFailedSubgraphs</a> ()</td></tr>
150<tr class="separator:af90695ff32383f3f967e256783aba816"><td class="memSeparator" colspan="2">&#160;</td></tr>
151<tr class="memitem:ab4d6ad65115801991301dc629f187252"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_optimization_views.html#a4a2c55491ad3a0a6a98a884b3e3fe6d7">Subgraphs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#ab4d6ad65115801991301dc629f187252">GetUntouchedSubgraphs</a> ()</td></tr>
152<tr class="separator:ab4d6ad65115801991301dc629f187252"><td class="memSeparator" colspan="2">&#160;</td></tr>
153<tr class="memitem:a58dc3ea86870112f745b2a1f7dca55e9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#a58dc3ea86870112f745b2a1f7dca55e9">Validate</a> (const <a class="el" href="classarmnn_1_1_subgraph_view.html">SubgraphView</a> &amp;originalSubgraph) const</td></tr>
154<tr class="separator:a58dc3ea86870112f745b2a1f7dca55e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
155<tr class="memitem:ad04187fe81f68558b15b6049b2da9cf9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_network.html">INetwork</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#ad04187fe81f68558b15b6049b2da9cf9">GetINetwork</a> ()</td></tr>
156<tr class="separator:ad04187fe81f68558b15b6049b2da9cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
157<tr class="memitem:a930b60b811f4e7fec8d73c357f5529c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_network.html">INetwork</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_optimization_views.html#a930b60b811f4e7fec8d73c357f5529c2">GetINetworkRef</a> ()</td></tr>
158<tr class="separator:a930b60b811f4e7fec8d73c357f5529c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
159</table>
160<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
161<div class="textblock">
162<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00017">17</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
163</div><h2 class="groupheader">Member Typedef Documentation</h2>
164<a id="a4a2c55491ad3a0a6a98a884b3e3fe6d7"></a>
165<h2 class="memtitle"><span class="permalink"><a href="#a4a2c55491ad3a0a6a98a884b3e3fe6d7">&#9670;&nbsp;</a></span>Subgraphs</h2>
166
167<div class="memitem">
168<div class="memproto">
169 <table class="memname">
170 <tr>
171 <td class="memname">using <a class="el" href="classarmnn_1_1_optimization_views.html#a4a2c55491ad3a0a6a98a884b3e3fe6d7">Subgraphs</a> = std::vector&lt;<a class="el" href="classarmnn_1_1_subgraph_view.html">SubgraphView</a>&gt;</td>
172 </tr>
173 </table>
174</div><div class="memdoc">
175
176<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00035">35</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
177
178</div>
179</div>
180<a id="a5831f7597baa44356221647c45a14f78"></a>
181<h2 class="memtitle"><span class="permalink"><a href="#a5831f7597baa44356221647c45a14f78">&#9670;&nbsp;</a></span>Substitutions</h2>
182
183<div class="memitem">
184<div class="memproto">
185 <table class="memname">
186 <tr>
187 <td class="memname">using <a class="el" href="classarmnn_1_1_optimization_views.html#a5831f7597baa44356221647c45a14f78">Substitutions</a> = std::vector&lt;<a class="el" href="structarmnn_1_1_optimization_views_1_1_substitution_pair.html">SubstitutionPair</a>&gt;</td>
188 </tr>
189 </table>
190</div><div class="memdoc">
191
192<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00036">36</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
193
194</div>
195</div>
196<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
197<a id="aed725c77c38dde2d94f9044bd187ac9d"></a>
198<h2 class="memtitle"><span class="permalink"><a href="#aed725c77c38dde2d94f9044bd187ac9d">&#9670;&nbsp;</a></span>OptimizationViews() <span class="overload">[1/3]</span></h2>
199
200<div class="memitem">
201<div class="memproto">
202<table class="mlabels">
203 <tr>
204 <td class="mlabels-left">
205 <table class="memname">
206 <tr>
207 <td class="memname"><a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a> </td>
208 <td>(</td>
209 <td class="paramtype">const <a class="el" href="namespacearmnn.html#a4de71c3661093e5c4ae7775114f43413">NetworkOptions</a> &amp;&#160;</td>
210 <td class="paramname"><em>networkOptions</em> = <code>{}</code></td><td>)</td>
211 <td></td>
212 </tr>
213 </table>
214 </td>
215 <td class="mlabels-right">
216<span class="mlabels"><span class="mlabel">inline</span></span> </td>
217 </tr>
218</table>
219</div><div class="memdoc">
220
221<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00020">20</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
222<div class="fragment"><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;{}) : m_INetwork(<a class="code" href="classarmnn_1_1_i_network.html#a41ce159095e95f7cd4174ce5d4662697">INetwork::Create</a>(networkOptions)) {}</div>
223</div><!-- fragment -->
224</div>
225</div>
226<a id="a9a547d000ab53b70d18c52f8715e2332"></a>
227<h2 class="memtitle"><span class="permalink"><a href="#a9a547d000ab53b70d18c52f8715e2332">&#9670;&nbsp;</a></span>OptimizationViews() <span class="overload">[2/3]</span></h2>
228
229<div class="memitem">
230<div class="memproto">
231<table class="mlabels">
232 <tr>
233 <td class="mlabels-left">
234 <table class="memname">
235 <tr>
236 <td class="memname"><a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a> </td>
237 <td>(</td>
238 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a> &amp;&#160;</td>
239 <td class="paramname"></td><td>)</td>
240 <td></td>
241 </tr>
242 </table>
243 </td>
244 <td class="mlabels-right">
245<span class="mlabels"><span class="mlabel">delete</span></span> </td>
246 </tr>
247</table>
248</div><div class="memdoc">
249
250</div>
251</div>
252<a id="a276ddd49e657718e1f5753839872af63"></a>
253<h2 class="memtitle"><span class="permalink"><a href="#a276ddd49e657718e1f5753839872af63">&#9670;&nbsp;</a></span>OptimizationViews() <span class="overload">[3/3]</span></h2>
254
255<div class="memitem">
256<div class="memproto">
257<table class="mlabels">
258 <tr>
259 <td class="mlabels-left">
260 <table class="memname">
261 <tr>
262 <td class="memname"><a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a> </td>
263 <td>(</td>
264 <td class="paramtype"><a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a> &amp;&amp;&#160;</td>
265 <td class="paramname"></td><td>)</td>
266 <td></td>
267 </tr>
268 </table>
269 </td>
270 <td class="mlabels-right">
271<span class="mlabels"><span class="mlabel">default</span></span> </td>
272 </tr>
273</table>
274</div><div class="memdoc">
275
276</div>
277</div>
278<h2 class="groupheader">Member Function Documentation</h2>
279<a id="a4438f2ce297390e50f48dc426ba1f4f9"></a>
280<h2 class="memtitle"><span class="permalink"><a href="#a4438f2ce297390e50f48dc426ba1f4f9">&#9670;&nbsp;</a></span>AddDeletedSubgraph()</h2>
281
282<div class="memitem">
283<div class="memproto">
284<table class="mlabels">
285 <tr>
286 <td class="mlabels-left">
287 <table class="memname">
288 <tr>
289 <td class="memname">void AddDeletedSubgraph </td>
290 <td>(</td>
291 <td class="paramtype"><a class="el" href="classarmnn_1_1_subgraph_view.html">SubgraphView</a> &amp;&amp;&#160;</td>
292 <td class="paramname"><em>subgraph</em></td><td>)</td>
293 <td></td>
294 </tr>
295 </table>
296 </td>
297 <td class="mlabels-right">
298<span class="mlabels"><span class="mlabel">inline</span></span> </td>
299 </tr>
300</table>
301</div><div class="memdoc">
302
303<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00053">53</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
304<div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div>
305<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; m_DeletedSubgraphs.emplace_back(subgraph);</div>
306<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; }</div>
307</div><!-- fragment -->
308<p class="reference">Referenced by <a class="el" href="_subgraph_utils_8hpp_source.html#l00293">armnn::RemoveReshapeLayer()</a>.</p>
309
310</div>
311</div>
312<a id="a1b29d43c2596e40987838f6d1f819858"></a>
313<h2 class="memtitle"><span class="permalink"><a href="#a1b29d43c2596e40987838f6d1f819858">&#9670;&nbsp;</a></span>AddFailedSubgraph()</h2>
314
315<div class="memitem">
316<div class="memproto">
317<table class="mlabels">
318 <tr>
319 <td class="mlabels-left">
320 <table class="memname">
321 <tr>
322 <td class="memname">void AddFailedSubgraph </td>
323 <td>(</td>
324 <td class="paramtype"><a class="el" href="classarmnn_1_1_subgraph_view.html">SubgraphView</a> &amp;&amp;&#160;</td>
325 <td class="paramname"><em>subgraph</em></td><td>)</td>
326 <td></td>
327 </tr>
328 </table>
329 </td>
330 <td class="mlabels-right">
331<span class="mlabels"><span class="mlabel">inline</span></span> </td>
332 </tr>
333</table>
334</div><div class="memdoc">
335
336<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00043">43</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
337<div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; {</div>
338<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; m_FailedOptimizations.emplace_back(subgraph);</div>
339<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; }</div>
340</div><!-- fragment -->
341</div>
342</div>
343<a id="a57340147dcb1c0ae05fdf14ff7af8a01"></a>
344<h2 class="memtitle"><span class="permalink"><a href="#a57340147dcb1c0ae05fdf14ff7af8a01">&#9670;&nbsp;</a></span>AddSubstitution()</h2>
345
346<div class="memitem">
347<div class="memproto">
348<table class="mlabels">
349 <tr>
350 <td class="mlabels-left">
351 <table class="memname">
352 <tr>
353 <td class="memname">void AddSubstitution </td>
354 <td>(</td>
355 <td class="paramtype"><a class="el" href="structarmnn_1_1_optimization_views_1_1_substitution_pair.html">SubstitutionPair</a> &amp;&amp;&#160;</td>
356 <td class="paramname"><em>substitution</em></td><td>)</td>
357 <td></td>
358 </tr>
359 </table>
360 </td>
361 <td class="mlabels-right">
362<span class="mlabels"><span class="mlabel">inline</span></span> </td>
363 </tr>
364</table>
365</div><div class="memdoc">
366
367<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00038">38</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
368<div class="fragment"><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; {</div>
369<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; m_SuccesfulOptimizations.emplace_back(substitution);</div>
370<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; }</div>
371</div><!-- fragment -->
372<p class="reference">Referenced by <a class="el" href="_subgraph_utils_8hpp_source.html#l00234">armnn::FoldPadLayer()</a>, <a class="el" href="_arm_compute_subgraph_utils_8hpp_source.html#l00053">armnn::FuseLayer()</a>, <a class="el" href="_tosa_ref_backend_8cpp_source.html#l00082">TosaRefBackend::OptimizeSubgraphView()</a>, <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00220">GpuFsaBackend::OptimizeSubgraphView()</a>, <a class="el" href="_arm_compute_subgraph_utils_8hpp_source.html#l00339">armnn::ReplaceLayers()</a>, and <a class="el" href="_arm_compute_subgraph_utils_8hpp_source.html#l00357">armnn::ReplaceMultipleLayers()</a>.</p>
373
374</div>
375</div>
376<a id="a28e41bdd6b719a3d60a1a0de2e1ebc95"></a>
377<h2 class="memtitle"><span class="permalink"><a href="#a28e41bdd6b719a3d60a1a0de2e1ebc95">&#9670;&nbsp;</a></span>AddUntouchedSubgraph()</h2>
378
379<div class="memitem">
380<div class="memproto">
381<table class="mlabels">
382 <tr>
383 <td class="mlabels-left">
384 <table class="memname">
385 <tr>
386 <td class="memname">void AddUntouchedSubgraph </td>
387 <td>(</td>
388 <td class="paramtype"><a class="el" href="classarmnn_1_1_subgraph_view.html">SubgraphView</a> &amp;&amp;&#160;</td>
389 <td class="paramname"><em>subgraph</em></td><td>)</td>
390 <td></td>
391 </tr>
392 </table>
393 </td>
394 <td class="mlabels-right">
395<span class="mlabels"><span class="mlabel">inline</span></span> </td>
396 </tr>
397</table>
398</div><div class="memdoc">
399
400<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00048">48</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
401<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</div>
402<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; m_UntouchedSubgraphs.emplace_back(subgraph);</div>
403<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; }</div>
404</div><!-- fragment -->
405<p class="reference">Referenced by <a class="el" href="_ref_backend_8cpp_source.html#l00072">RefBackend::OptimizeSubgraphView()</a>, <a class="el" href="_neon_backend_8cpp_source.html#l00144">NeonBackend::OptimizeSubgraphView()</a>, <a class="el" href="_cl_backend_8cpp_source.html#l00292">ClBackend::OptimizeSubgraphView()</a>, <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00220">GpuFsaBackend::OptimizeSubgraphView()</a>, <a class="el" href="_i_backend_internal_8cpp_source.html#l00106">IBackendInternal::OptimizeSubgraphView()</a>, and <a class="el" href="_subgraph_utils_8hpp_source.html#l00220">armnn::ReportUntouchedLayers()</a>.</p>
406
407</div>
408</div>
409<a id="aa3792ea74cfe24d25460a6cf8e851f85"></a>
410<h2 class="memtitle"><span class="permalink"><a href="#aa3792ea74cfe24d25460a6cf8e851f85">&#9670;&nbsp;</a></span>GetDeletedSubgraphs()</h2>
411
412<div class="memitem">
413<div class="memproto">
414<table class="mlabels">
415 <tr>
416 <td class="mlabels-left">
417 <table class="memname">
418 <tr>
419 <td class="memname">const <a class="el" href="classarmnn_1_1_optimization_views.html#a4a2c55491ad3a0a6a98a884b3e3fe6d7">Subgraphs</a>&amp; GetDeletedSubgraphs </td>
420 <td>(</td>
421 <td class="paramname"></td><td>)</td>
422 <td> const</td>
423 </tr>
424 </table>
425 </td>
426 <td class="mlabels-right">
427<span class="mlabels"><span class="mlabel">inline</span></span> </td>
428 </tr>
429</table>
430</div><div class="memdoc">
431
432<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00061">61</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
433<div class="fragment"><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;{ <span class="keywordflow">return</span> m_DeletedSubgraphs; }</div>
434</div><!-- fragment -->
435<p class="reference">Referenced by <a class="el" href="_network_8cpp_source.html#l01320">armnn::ApplyBackendOptimizations()</a>, <a class="el" href="_ref_backend_8cpp_source.html#l00072">RefBackend::OptimizeSubgraphView()</a>, <a class="el" href="_neon_backend_8cpp_source.html#l00144">NeonBackend::OptimizeSubgraphView()</a>, and <a class="el" href="_cl_backend_8cpp_source.html#l00292">ClBackend::OptimizeSubgraphView()</a>.</p>
436
437</div>
438</div>
439<a id="af90695ff32383f3f967e256783aba816"></a>
440<h2 class="memtitle"><span class="permalink"><a href="#af90695ff32383f3f967e256783aba816">&#9670;&nbsp;</a></span>GetFailedSubgraphs() <span class="overload">[1/2]</span></h2>
441
442<div class="memitem">
443<div class="memproto">
444<table class="mlabels">
445 <tr>
446 <td class="mlabels-left">
447 <table class="memname">
448 <tr>
449 <td class="memname"><a class="el" href="classarmnn_1_1_optimization_views.html#a4a2c55491ad3a0a6a98a884b3e3fe6d7">Subgraphs</a>&amp; GetFailedSubgraphs </td>
450 <td>(</td>
451 <td class="paramname"></td><td>)</td>
452 <td></td>
453 </tr>
454 </table>
455 </td>
456 <td class="mlabels-right">
457<span class="mlabels"><span class="mlabel">inline</span></span> </td>
458 </tr>
459</table>
460</div><div class="memdoc">
461
462<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00064">64</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
463<div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{ <span class="keywordflow">return</span> m_FailedOptimizations; }</div>
464</div><!-- fragment -->
465</div>
466</div>
467<a id="ad5fee4381bf82ffa37658dddf4d1fa01"></a>
468<h2 class="memtitle"><span class="permalink"><a href="#ad5fee4381bf82ffa37658dddf4d1fa01">&#9670;&nbsp;</a></span>GetFailedSubgraphs() <span class="overload">[2/2]</span></h2>
469
470<div class="memitem">
471<div class="memproto">
472<table class="mlabels">
473 <tr>
474 <td class="mlabels-left">
475 <table class="memname">
476 <tr>
477 <td class="memname">const <a class="el" href="classarmnn_1_1_optimization_views.html#a4a2c55491ad3a0a6a98a884b3e3fe6d7">Subgraphs</a>&amp; GetFailedSubgraphs </td>
478 <td>(</td>
479 <td class="paramname"></td><td>)</td>
480 <td> const</td>
481 </tr>
482 </table>
483 </td>
484 <td class="mlabels-right">
485<span class="mlabels"><span class="mlabel">inline</span></span> </td>
486 </tr>
487</table>
488</div><div class="memdoc">
489
490<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00059">59</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
491<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;{ <span class="keywordflow">return</span> m_FailedOptimizations; }</div>
492</div><!-- fragment -->
493<p class="reference">Referenced by <a class="el" href="_network_8cpp_source.html#l01320">armnn::ApplyBackendOptimizations()</a>.</p>
494
495</div>
496</div>
497<a id="ad04187fe81f68558b15b6049b2da9cf9"></a>
498<h2 class="memtitle"><span class="permalink"><a href="#ad04187fe81f68558b15b6049b2da9cf9">&#9670;&nbsp;</a></span>GetINetwork()</h2>
499
500<div class="memitem">
501<div class="memproto">
502<table class="mlabels">
503 <tr>
504 <td class="mlabels-left">
505 <table class="memname">
506 <tr>
507 <td class="memname"><a class="el" href="classarmnn_1_1_i_network.html">INetwork</a>* GetINetwork </td>
508 <td>(</td>
509 <td class="paramname"></td><td>)</td>
510 <td></td>
511 </tr>
512 </table>
513 </td>
514 <td class="mlabels-right">
515<span class="mlabels"><span class="mlabel">inline</span></span> </td>
516 </tr>
517</table>
518</div><div class="memdoc">
519
520<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00069">69</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
521<div class="fragment"><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;{ <span class="keywordflow">return</span> m_INetwork.get(); }</div>
522</div><!-- fragment -->
523<p class="reference">Referenced by <a class="el" href="_arm_compute_subgraph_utils_8hpp_source.html#l00278">armnn::ChainReduceLayers()</a>, <a class="el" href="_subgraph_utils_8hpp_source.html#l00341">armnn::FoldPadIntoAveragePool2d()</a>, <a class="el" href="_arm_compute_subgraph_utils_8hpp_source.html#l00073">armnn::FuseAdditionLayer()</a>, <a class="el" href="_arm_compute_subgraph_utils_8hpp_source.html#l00178">armnn::FuseBatchNormalizationLayer()</a>, <a class="el" href="_arm_compute_subgraph_utils_8hpp_source.html#l00208">armnn::FuseConvolution2dLayer()</a>, <a class="el" href="_arm_compute_subgraph_utils_8hpp_source.html#l00230">armnn::FuseDepthwiseConvolution2dLayer()</a>, <a class="el" href="_arm_compute_subgraph_utils_8hpp_source.html#l00115">armnn::FuseDivisionLayer()</a>, <a class="el" href="_arm_compute_subgraph_utils_8hpp_source.html#l00157">armnn::FuseElementwiseBinaryLayer()</a>, <a class="el" href="_arm_compute_subgraph_utils_8hpp_source.html#l00252">armnn::FuseFullyConnectedLayer()</a>, <a class="el" href="_arm_compute_subgraph_utils_8hpp_source.html#l00136">armnn::FuseMultiplicationLayer()</a>, <a class="el" href="_arm_compute_subgraph_utils_8hpp_source.html#l00094">armnn::FuseSubtractionLayer()</a>, <a class="el" href="_tosa_ref_backend_8cpp_source.html#l00082">TosaRefBackend::OptimizeSubgraphView()</a>, <a class="el" href="_neon_backend_8cpp_source.html#l00144">NeonBackend::OptimizeSubgraphView()</a>, and <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00220">GpuFsaBackend::OptimizeSubgraphView()</a>.</p>
524
525</div>
526</div>
527<a id="a930b60b811f4e7fec8d73c357f5529c2"></a>
528<h2 class="memtitle"><span class="permalink"><a href="#a930b60b811f4e7fec8d73c357f5529c2">&#9670;&nbsp;</a></span>GetINetworkRef()</h2>
529
530<div class="memitem">
531<div class="memproto">
532<table class="mlabels">
533 <tr>
534 <td class="mlabels-left">
535 <table class="memname">
536 <tr>
537 <td class="memname"><a class="el" href="classarmnn_1_1_i_network.html">INetwork</a>&amp; GetINetworkRef </td>
538 <td>(</td>
539 <td class="paramname"></td><td>)</td>
540 <td></td>
541 </tr>
542 </table>
543 </td>
544 <td class="mlabels-right">
545<span class="mlabels"><span class="mlabel">inline</span></span> </td>
546 </tr>
547</table>
548</div><div class="memdoc">
549
550<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00070">70</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
551<div class="fragment"><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;{ <span class="keywordflow">return</span> *m_INetwork; }</div>
552</div><!-- fragment -->
553</div>
554</div>
555<a id="af57a6b0e88fd56f8dba7c5cb23871283"></a>
556<h2 class="memtitle"><span class="permalink"><a href="#af57a6b0e88fd56f8dba7c5cb23871283">&#9670;&nbsp;</a></span>GetSubstitutions() <span class="overload">[1/2]</span></h2>
557
558<div class="memitem">
559<div class="memproto">
560<table class="mlabels">
561 <tr>
562 <td class="mlabels-left">
563 <table class="memname">
564 <tr>
565 <td class="memname"><a class="el" href="classarmnn_1_1_optimization_views.html#a5831f7597baa44356221647c45a14f78">Substitutions</a>&amp; GetSubstitutions </td>
566 <td>(</td>
567 <td class="paramname"></td><td>)</td>
568 <td></td>
569 </tr>
570 </table>
571 </td>
572 <td class="mlabels-right">
573<span class="mlabels"><span class="mlabel">inline</span></span> </td>
574 </tr>
575</table>
576</div><div class="memdoc">
577
578<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00063">63</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
579<div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;{ <span class="keywordflow">return</span> m_SuccesfulOptimizations; }</div>
580</div><!-- fragment -->
581</div>
582</div>
583<a id="a9a1555f25af4a0ae2c0a1fc0ed9aded8"></a>
584<h2 class="memtitle"><span class="permalink"><a href="#a9a1555f25af4a0ae2c0a1fc0ed9aded8">&#9670;&nbsp;</a></span>GetSubstitutions() <span class="overload">[2/2]</span></h2>
585
586<div class="memitem">
587<div class="memproto">
588<table class="mlabels">
589 <tr>
590 <td class="mlabels-left">
591 <table class="memname">
592 <tr>
593 <td class="memname">const <a class="el" href="classarmnn_1_1_optimization_views.html#a5831f7597baa44356221647c45a14f78">Substitutions</a>&amp; GetSubstitutions </td>
594 <td>(</td>
595 <td class="paramname"></td><td>)</td>
596 <td> const</td>
597 </tr>
598 </table>
599 </td>
600 <td class="mlabels-right">
601<span class="mlabels"><span class="mlabel">inline</span></span> </td>
602 </tr>
603</table>
604</div><div class="memdoc">
605
606<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00058">58</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
607<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;{ <span class="keywordflow">return</span> m_SuccesfulOptimizations; }</div>
608</div><!-- fragment -->
609<p class="reference">Referenced by <a class="el" href="_network_8cpp_source.html#l01320">armnn::ApplyBackendOptimizations()</a>, <a class="el" href="_ref_backend_8cpp_source.html#l00072">RefBackend::OptimizeSubgraphView()</a>, <a class="el" href="_neon_backend_8cpp_source.html#l00144">NeonBackend::OptimizeSubgraphView()</a>, <a class="el" href="_cl_backend_8cpp_source.html#l00292">ClBackend::OptimizeSubgraphView()</a>, and <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00220">GpuFsaBackend::OptimizeSubgraphView()</a>.</p>
610
611</div>
612</div>
613<a id="ab4d6ad65115801991301dc629f187252"></a>
614<h2 class="memtitle"><span class="permalink"><a href="#ab4d6ad65115801991301dc629f187252">&#9670;&nbsp;</a></span>GetUntouchedSubgraphs() <span class="overload">[1/2]</span></h2>
615
616<div class="memitem">
617<div class="memproto">
618<table class="mlabels">
619 <tr>
620 <td class="mlabels-left">
621 <table class="memname">
622 <tr>
623 <td class="memname"><a class="el" href="classarmnn_1_1_optimization_views.html#a4a2c55491ad3a0a6a98a884b3e3fe6d7">Subgraphs</a>&amp; GetUntouchedSubgraphs </td>
624 <td>(</td>
625 <td class="paramname"></td><td>)</td>
626 <td></td>
627 </tr>
628 </table>
629 </td>
630 <td class="mlabels-right">
631<span class="mlabels"><span class="mlabel">inline</span></span> </td>
632 </tr>
633</table>
634</div><div class="memdoc">
635
636<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00065">65</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
637<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;{ <span class="keywordflow">return</span> m_UntouchedSubgraphs; }</div>
638</div><!-- fragment -->
639</div>
640</div>
641<a id="a3b4dae097ce086ce94079d09cce18703"></a>
642<h2 class="memtitle"><span class="permalink"><a href="#a3b4dae097ce086ce94079d09cce18703">&#9670;&nbsp;</a></span>GetUntouchedSubgraphs() <span class="overload">[2/2]</span></h2>
643
644<div class="memitem">
645<div class="memproto">
646<table class="mlabels">
647 <tr>
648 <td class="mlabels-left">
649 <table class="memname">
650 <tr>
651 <td class="memname">const <a class="el" href="classarmnn_1_1_optimization_views.html#a4a2c55491ad3a0a6a98a884b3e3fe6d7">Subgraphs</a>&amp; GetUntouchedSubgraphs </td>
652 <td>(</td>
653 <td class="paramname"></td><td>)</td>
654 <td> const</td>
655 </tr>
656 </table>
657 </td>
658 <td class="mlabels-right">
659<span class="mlabels"><span class="mlabel">inline</span></span> </td>
660 </tr>
661</table>
662</div><div class="memdoc">
663
664<p class="definition">Definition at line <a class="el" href="_optimization_views_8hpp_source.html#l00060">60</a> of file <a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a>.</p>
665<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;{ <span class="keywordflow">return</span> m_UntouchedSubgraphs; }</div>
666</div><!-- fragment -->
667</div>
668</div>
669<a id="a730718bdbdf68deb2ded6a223fbac811"></a>
670<h2 class="memtitle"><span class="permalink"><a href="#a730718bdbdf68deb2ded6a223fbac811">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/2]</span></h2>
671
672<div class="memitem">
673<div class="memproto">
674<table class="mlabels">
675 <tr>
676 <td class="mlabels-left">
677 <table class="memname">
678 <tr>
679 <td class="memname"><a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a>&amp; operator= </td>
680 <td>(</td>
681 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a> &amp;&#160;</td>
682 <td class="paramname"></td><td>)</td>
683 <td></td>
684 </tr>
685 </table>
686 </td>
687 <td class="mlabels-right">
688<span class="mlabels"><span class="mlabel">delete</span></span> </td>
689 </tr>
690</table>
691</div><div class="memdoc">
692
693</div>
694</div>
695<a id="a868892fed5bcce50e1f59d98439742b7"></a>
696<h2 class="memtitle"><span class="permalink"><a href="#a868892fed5bcce50e1f59d98439742b7">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/2]</span></h2>
697
698<div class="memitem">
699<div class="memproto">
700<table class="mlabels">
701 <tr>
702 <td class="mlabels-left">
703 <table class="memname">
704 <tr>
705 <td class="memname"><a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a>&amp; operator= </td>
706 <td>(</td>
707 <td class="paramtype"><a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a> &amp;&amp;&#160;</td>
708 <td class="paramname"></td><td>)</td>
709 <td></td>
710 </tr>
711 </table>
712 </td>
713 <td class="mlabels-right">
714<span class="mlabels"><span class="mlabel">default</span></span> </td>
715 </tr>
716</table>
717</div><div class="memdoc">
718
719</div>
720</div>
721<a id="a58dc3ea86870112f745b2a1f7dca55e9"></a>
722<h2 class="memtitle"><span class="permalink"><a href="#a58dc3ea86870112f745b2a1f7dca55e9">&#9670;&nbsp;</a></span>Validate()</h2>
723
724<div class="memitem">
725<div class="memproto">
726 <table class="memname">
727 <tr>
728 <td class="memname">bool Validate </td>
729 <td>(</td>
730 <td class="paramtype">const <a class="el" href="classarmnn_1_1_subgraph_view.html">SubgraphView</a> &amp;&#160;</td>
731 <td class="paramname"><em>originalSubgraph</em></td><td>)</td>
732 <td> const</td>
733 </tr>
734 </table>
735</div><div class="memdoc">
736
737<p class="definition">Definition at line <a class="el" href="_optimization_views_8cpp_source.html#l00011">11</a> of file <a class="el" href="_optimization_views_8cpp_source.html">OptimizationViews.cpp</a>.</p>
738<div class="fragment"><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;{</div>
739<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="comment">//This needs to verify that:</span></div>
740<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <span class="comment">// 1) the sum of m_SuccesfulOptimizations &amp; m_FailedOptimizations &amp; m_UntouchedSubgraphs contains subgraphviews</span></div>
741<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <span class="comment">// which cover the entire space of the originalSubgraph.</span></div>
742<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="comment">// 2) Each SubstitutionPair contains matching inputs and outputs</span></div>
743<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="keywordtype">bool</span> valid = <span class="keyword">true</span>;</div>
744<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
745<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="comment">// Create a copy of the layer list from the original subgraph and sort it</span></div>
746<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <a class="code" href="classarmnn_1_1_subgraph_view.html#ad7c7687cd3542e5cbb45e56f9a9456e7">SubgraphView::IConnectableLayers</a> originalLayers = originalSubgraph.GetIConnectableLayers();</div>
747<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; originalLayers.sort();</div>
748<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
749<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="comment">// Create a new list based on the sum of all the subgraphs and sort it</span></div>
750<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <a class="code" href="classarmnn_1_1_subgraph_view.html#ad7c7687cd3542e5cbb45e56f9a9456e7">SubgraphView::IConnectableLayers</a> countedLayers;</div>
751<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; failed : m_FailedOptimizations)</div>
752<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; {</div>
753<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; countedLayers.insert(countedLayers.end(),</div>
754<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; failed.GetIConnectableLayers().begin(),</div>
755<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; failed.GetIConnectableLayers().end());</div>
756<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; }</div>
757<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; untouched : m_UntouchedSubgraphs)</div>
758<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; {</div>
759<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; countedLayers.insert(countedLayers.end(),</div>
760<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; untouched.GetIConnectableLayers().begin(),</div>
761<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; untouched.GetIConnectableLayers().end());</div>
762<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; }</div>
763<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; successful : m_SuccesfulOptimizations)</div>
764<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; {</div>
765<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; countedLayers.insert(countedLayers.end(),</div>
766<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; successful.m_SubstitutableSubgraph.GetIConnectableLayers().begin(),</div>
767<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; successful.m_SubstitutableSubgraph.GetIConnectableLayers().end());</div>
768<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; }</div>
769<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; successful : m_DeletedSubgraphs)</div>
770<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; {</div>
771<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; countedLayers.insert(countedLayers.end(),</div>
772<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; successful.GetIConnectableLayers().begin(),</div>
773<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; successful.GetIConnectableLayers().end());</div>
774<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; }</div>
775<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; countedLayers.sort();</div>
776<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
777<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="comment">// Compare the two lists to make sure they match</span></div>
778<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; valid &amp;= originalLayers.size() == countedLayers.size();</div>
779<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
780<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">auto</span> oIt = originalLayers.begin();</div>
781<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">auto</span> cIt = countedLayers.begin();</div>
782<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i=0; i &lt; originalLayers.size() &amp;&amp; valid; ++i, ++oIt, ++cIt)</div>
783<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {</div>
784<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; valid &amp;= (*oIt == *cIt);</div>
785<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; }</div>
786<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
787<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">// Compare the substitution subgraphs to ensure they are compatible</span></div>
788<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">if</span> (valid)</div>
789<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div>
790<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; substitution : m_SuccesfulOptimizations)</div>
791<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; {</div>
792<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">bool</span> validSubstitution = <span class="keyword">true</span>;</div>
793<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keyword">const</span> SubgraphView&amp; replacement = substitution.m_ReplacementSubgraph;</div>
794<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">const</span> SubgraphView&amp; old = substitution.m_SubstitutableSubgraph;</div>
795<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; validSubstitution &amp;= replacement.GetIInputSlots().size() == old.GetIInputSlots().size();</div>
796<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; validSubstitution &amp;= replacement.GetIOutputSlots().size() == old.GetIOutputSlots().size();</div>
797<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; valid &amp;= validSubstitution;</div>
798<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div>
799<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div>
800<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> valid;</div>
801<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;}</div>
802</div><!-- fragment -->
803<p class="reference">References <a class="el" href="_subgraph_view_8cpp_source.html#l00281">SubgraphView::GetIConnectableLayers()</a>, <a class="el" href="_subgraph_view_8cpp_source.html#l00236">SubgraphView::GetIInputSlots()</a>, and <a class="el" href="_subgraph_view_8cpp_source.html#l00241">SubgraphView::GetIOutputSlots()</a>.</p>
804
805<p class="reference">Referenced by <a class="el" href="_network_8cpp_source.html#l01320">armnn::ApplyBackendOptimizations()</a>.</p>
806
807</div>
808</div>
809<hr/>The documentation for this class was generated from the following files:<ul>
810<li>include/armnn/backends/<a class="el" href="_optimization_views_8hpp_source.html">OptimizationViews.hpp</a></li>
811<li>src/backends/backendsCommon/<a class="el" href="_optimization_views_8cpp_source.html">OptimizationViews.cpp</a></li>
812</ul>
813</div><!-- contents -->
814</div><!-- doc-content -->
815<div class="ttc" id="aclassarmnn_1_1_subgraph_view_html_ad7c7687cd3542e5cbb45e56f9a9456e7"><div class="ttname"><a href="classarmnn_1_1_subgraph_view.html#ad7c7687cd3542e5cbb45e56f9a9456e7">armnn::SubgraphView::IConnectableLayers</a></div><div class="ttdeci">std::list&lt; IConnectableLayer * &gt; IConnectableLayers</div><div class="ttdef"><b>Definition:</b> <a href="_subgraph_view_8hpp_source.html#l00062">SubgraphView.hpp:62</a></div></div>
816<div class="ttc" id="aclassarmnn_1_1_i_network_html_a41ce159095e95f7cd4174ce5d4662697"><div class="ttname"><a href="classarmnn_1_1_i_network.html#a41ce159095e95f7cd4174ce5d4662697">armnn::INetwork::Create</a></div><div class="ttdeci">static INetworkPtr Create(const NetworkOptions &amp;networkOptions={})</div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.html#l00682">Network.cpp:682</a></div></div>
817<!-- start footer part -->
818<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
819 <ul>
820 <li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_optimization_views.html">OptimizationViews</a></li>
821 <li class="footer">Generated on Thu May 16 2024 09:31:58 for Arm NN by
822 <a href="http://www.doxygen.org/index.html">
823 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
824 </ul>
825</div>
826</body>
827</html>