diff options
author | mathad01 <matthew.haddon@arm.com> | 2021-05-10 16:51:20 +0100 |
---|---|---|
committer | matthew.haddon <matthew.haddon@arm.com> | 2021-05-12 07:59:04 +0000 |
commit | add078b7f9a658d52ee6e8fe6771ea0517c07674 (patch) | |
tree | 104b4aac324234c13f83372bec194385ca45b1db /21.05/classarmnn_1_1_i_optimized_network.xhtml | |
parent | a24952b12a56da56b6acabfd07cc60b1663720f9 (diff) | |
download | armnn-add078b7f9a658d52ee6e8fe6771ea0517c07674.tar.gz |
IVGCVSW-5908 Update 21.05 Doxygen Documents
Signed-off-by: mathad01 <matthew.haddon@arm.com>
Change-Id: I95316d4fc5f9d10185492dc835bb2411c1daea7b
Diffstat (limited to '21.05/classarmnn_1_1_i_optimized_network.xhtml')
-rw-r--r-- | 21.05/classarmnn_1_1_i_optimized_network.xhtml | 655 |
1 files changed, 655 insertions, 0 deletions
diff --git a/21.05/classarmnn_1_1_i_optimized_network.xhtml b/21.05/classarmnn_1_1_i_optimized_network.xhtml new file mode 100644 index 0000000000..5bbf27b83d --- /dev/null +++ b/21.05/classarmnn_1_1_i_optimized_network.xhtml @@ -0,0 +1,655 @@ +<!-- Copyright (c) 2020 ARM Limited. --> +<!-- --> +<!-- SPDX-License-Identifier: MIT --> +<!-- --> +<!-- HTML header for doxygen 1.8.13--> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.13"/> +<meta name="robots" content="NOINDEX, NOFOLLOW" /> +<meta name="viewport" content="width=device-width, initial-scale=1"/> +<title>ArmNN: IOptimizedNetwork Class Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtreedata.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + extensions: ["tex2jax.js"], + jax: ["input/TeX","output/HTML-CSS"], +}); +</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="stylesheet.css" rel="stylesheet" type="text/css"/> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/> + <td style="padding-left: 0.5em;"> + <div id="projectname"> +  <span id="projectnumber">21.05</span> + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',true,false,'search.php','Search'); + $(document).ready(function() { init_search(); }); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + <div id="nav-sync" class="sync"></div> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> +$(document).ready(function(){initNavTree('classarmnn_1_1_i_optimized_network.xhtml','');}); +</script> +<div id="doc-content"> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="header"> + <div class="summary"> +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pub-static-methods">Static Public Member Functions</a> | +<a href="#pro-methods">Protected Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> | +<a href="#friends">Friends</a> | +<a href="classarmnn_1_1_i_optimized_network-members.xhtml">List of all members</a> </div> + <div class="headertitle"> +<div class="title">IOptimizedNetwork Class Reference</div> </div> +</div><!--header--> +<div class="contents"> + +<p><code>#include <<a class="el" href="_i_network_8hpp_source.xhtml">INetwork.hpp</a>></code></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr class="memitem:aff3fde909d22ed157046682e70129259"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.xhtml#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#aff3fde909d22ed157046682e70129259">PrintGraph</a> ()</td></tr> +<tr class="separator:aff3fde909d22ed157046682e70129259"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a26794f014974a6f963a8925de07bffeb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.xhtml#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#a26794f014974a6f963a8925de07bffeb">SerializeToDot</a> (std::ostream &stream) const</td></tr> +<tr class="separator:a26794f014974a6f963a8925de07bffeb"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab986223ec7e4f04929cb47c74a27aa93"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">profiling::ProfilingGuid</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#ab986223ec7e4f04929cb47c74a27aa93">GetGuid</a> () const</td></tr> +<tr class="separator:ab986223ec7e4f04929cb47c74a27aa93"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af730a6ec3deb072dc2687089f3f77f9e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#af730a6ec3deb072dc2687089f3f77f9e">IOptimizedNetwork</a> (std::unique_ptr< <a class="el" href="classarmnn_1_1_graph.xhtml">Graph</a> > graph)</td></tr> +<tr class="separator:af730a6ec3deb072dc2687089f3f77f9e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5fd8b75db92fb2a84d12e2092a173716"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#a5fd8b75db92fb2a84d12e2092a173716">IOptimizedNetwork</a> (std::unique_ptr< <a class="el" href="classarmnn_1_1_optimized_network_impl.xhtml">OptimizedNetworkImpl</a> > impl)</td></tr> +<tr class="separator:a5fd8b75db92fb2a84d12e2092a173716"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a437cc59f5247f213adf34e84696f60da"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#a437cc59f5247f213adf34e84696f60da">~IOptimizedNetwork</a> ()</td></tr> +<tr class="separator:a437cc59f5247f213adf34e84696f60da"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> +Static Public Member Functions</h2></td></tr> +<tr class="memitem:a58ee539cf95c1e99fe4f54ef6e8bbd05"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#a58ee539cf95c1e99fe4f54ef6e8bbd05">Destroy</a> (<a class="el" href="classarmnn_1_1_i_optimized_network.xhtml">IOptimizedNetwork</a> *network)</td></tr> +<tr class="separator:a58ee539cf95c1e99fe4f54ef6e8bbd05"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a> +Protected Member Functions</h2></td></tr> +<tr class="memitem:a230acad28622c18ab32254f74af569b0"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#a230acad28622c18ab32254f74af569b0">IOptimizedNetwork</a> (std::unique_ptr< <a class="el" href="classarmnn_1_1_graph.xhtml">Graph</a> > graph, const <a class="el" href="namespacearmnn.xhtml#a5b6893cda5b69359a4244c06054da18f">ModelOptions</a> &modelOptions)</td></tr> +<tr class="separator:a230acad28622c18ab32254f74af569b0"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr class="memitem:a374d52340ec8dc02a819acc20fb5aa92"><td class="memItemLeft" align="right" valign="top">std::unique_ptr< <a class="el" href="classarmnn_1_1_optimized_network_impl.xhtml">OptimizedNetworkImpl</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#a374d52340ec8dc02a819acc20fb5aa92">pOptimizedNetworkImpl</a></td></tr> +<tr class="separator:a374d52340ec8dc02a819acc20fb5aa92"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a> +Friends</h2></td></tr> +<tr class="memitem:a848000b2be0cb1853c9f7c4fb4dc719e"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#a848000b2be0cb1853c9f7c4fb4dc719e">LoadedNetwork</a></td></tr> +<tr class="separator:a848000b2be0cb1853c9f7c4fb4dc719e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a150601aebab0c979f258bf862b6fd5db"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#a150601aebab0c979f258bf862b6fd5db">experimental::AsyncNetworkImpl</a></td></tr> +<tr class="separator:a150601aebab0c979f258bf862b6fd5db"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a21b1820e69a256697d3a5603d656e833"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#a21b1820e69a256697d3a5603d656e833">experimental::WorkingMemHandle</a></td></tr> +<tr class="separator:a21b1820e69a256697d3a5603d656e833"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a519b2b784c275693e37a9b6c693342eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_graph.xhtml">Graph</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#a519b2b784c275693e37a9b6c693342eb">GetGraphForTesting</a> (<a class="el" href="classarmnn_1_1_i_optimized_network.xhtml">IOptimizedNetwork</a> *optNetPtr)</td></tr> +<tr class="separator:a519b2b784c275693e37a9b6c693342eb"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa25c1acd249228c82a687d713673725a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.xhtml#a5b6893cda5b69359a4244c06054da18f">ModelOptions</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#aa25c1acd249228c82a687d713673725a">GetModelOptionsForTesting</a> (<a class="el" href="classarmnn_1_1_i_optimized_network.xhtml">IOptimizedNetwork</a> *optNetPtr)</td></tr> +<tr class="separator:aa25c1acd249228c82a687d713673725a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a22df7404d1196068ad18d0286f9b9425"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.xhtml#a674efcf6cbdb9e831d653ff0e821fb38">IOptimizedNetworkPtr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#a22df7404d1196068ad18d0286f9b9425">Optimize</a> (const <a class="el" href="classarmnn_1_1_i_network.xhtml">INetwork</a> &inNetwork, const std::vector< <a class="el" href="classarmnn_1_1_backend_id.xhtml">BackendId</a> > &backendPreferences, const <a class="el" href="classarmnn_1_1_i_device_spec.xhtml">IDeviceSpec</a> &deviceSpec, const <a class="el" href="structarmnn_1_1_optimizer_options.xhtml">OptimizerOptions</a> &options, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>< std::vector< std::string > &> messages)</td></tr> +<tr class="memdesc:a22df7404d1196068ad18d0286f9b9425"><td class="mdescLeft"> </td><td class="mdescRight">Create an optimized version of the network. <a href="#a22df7404d1196068ad18d0286f9b9425">More...</a><br /></td></tr> +<tr class="separator:a22df7404d1196068ad18d0286f9b9425"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"> +<p class="definition">Definition at line <a class="el" href="_i_network_8hpp_source.xhtml#l00720">720</a> of file <a class="el" href="_i_network_8hpp_source.xhtml">INetwork.hpp</a>.</p> +</div><h2 class="groupheader">Constructor & Destructor Documentation</h2> +<a id="af730a6ec3deb072dc2687089f3f77f9e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#af730a6ec3deb072dc2687089f3f77f9e">◆ </a></span>IOptimizedNetwork() <span class="overload">[1/3]</span></h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml">IOptimizedNetwork</a> </td> + <td>(</td> + <td class="paramtype">std::unique_ptr< <a class="el" href="classarmnn_1_1_graph.xhtml">Graph</a> > </td> + <td class="paramname"><em>graph</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.xhtml#l00540">540</a> of file <a class="el" href="_network_8cpp_source.xhtml">Network.cpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_network_8cpp_source.xhtml#l01568">armnn::Optimize()</a>.</p> +<div class="fragment"><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  : <a class="code" href="classarmnn_1_1_i_optimized_network.xhtml#a374d52340ec8dc02a819acc20fb5aa92">pOptimizedNetworkImpl</a>(<span class="keyword">new</span> OptimizedNetworkImpl(std::move(graph))) {}</div><div class="ttc" id="classarmnn_1_1_i_optimized_network_xhtml_a374d52340ec8dc02a819acc20fb5aa92"><div class="ttname"><a href="classarmnn_1_1_i_optimized_network.xhtml#a374d52340ec8dc02a819acc20fb5aa92">armnn::IOptimizedNetwork::pOptimizedNetworkImpl</a></div><div class="ttdeci">std::unique_ptr< OptimizedNetworkImpl > pOptimizedNetworkImpl</div><div class="ttdef"><b>Definition:</b> <a href="_i_network_8hpp_source.xhtml#l00750">INetwork.hpp:750</a></div></div> +</div><!-- fragment --> +</div> +</div> +<a id="a5fd8b75db92fb2a84d12e2092a173716"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a5fd8b75db92fb2a84d12e2092a173716">◆ </a></span>IOptimizedNetwork() <span class="overload">[2/3]</span></h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml">IOptimizedNetwork</a> </td> + <td>(</td> + <td class="paramtype">std::unique_ptr< <a class="el" href="classarmnn_1_1_optimized_network_impl.xhtml">OptimizedNetworkImpl</a> > </td> + <td class="paramname"><em>impl</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.xhtml#l00543">543</a> of file <a class="el" href="_network_8cpp_source.xhtml">Network.cpp</a>.</p> +<div class="fragment"><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  : <a class="code" href="classarmnn_1_1_i_optimized_network.xhtml#a374d52340ec8dc02a819acc20fb5aa92">pOptimizedNetworkImpl</a>(std::move(impl)) {}</div><div class="ttc" id="classarmnn_1_1_i_optimized_network_xhtml_a374d52340ec8dc02a819acc20fb5aa92"><div class="ttname"><a href="classarmnn_1_1_i_optimized_network.xhtml#a374d52340ec8dc02a819acc20fb5aa92">armnn::IOptimizedNetwork::pOptimizedNetworkImpl</a></div><div class="ttdeci">std::unique_ptr< OptimizedNetworkImpl > pOptimizedNetworkImpl</div><div class="ttdef"><b>Definition:</b> <a href="_i_network_8hpp_source.xhtml#l00750">INetwork.hpp:750</a></div></div> +</div><!-- fragment --> +</div> +</div> +<a id="a437cc59f5247f213adf34e84696f60da"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a437cc59f5247f213adf34e84696f60da">◆ </a></span>~IOptimizedNetwork()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">~<a class="el" href="classarmnn_1_1_i_optimized_network.xhtml">IOptimizedNetwork</a> </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">default</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p class="reference">Referenced by <a class="el" href="_network_8cpp_source.xhtml#l00546">IOptimizedNetwork::IOptimizedNetwork()</a>.</p> + +</div> +</div> +<a id="a230acad28622c18ab32254f74af569b0"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a230acad28622c18ab32254f74af569b0">◆ </a></span>IOptimizedNetwork() <span class="overload">[3/3]</span></h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml">IOptimizedNetwork</a> </td> + <td>(</td> + <td class="paramtype">std::unique_ptr< <a class="el" href="classarmnn_1_1_graph.xhtml">Graph</a> > </td> + <td class="paramname"><em>graph</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#a5b6893cda5b69359a4244c06054da18f">ModelOptions</a> & </td> + <td class="paramname"><em>modelOptions</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">protected</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.xhtml#l00546">546</a> of file <a class="el" href="_network_8cpp_source.xhtml">Network.cpp</a>.</p> + +<p class="reference">References <a class="el" href="classarmnn_1_1_i_optimized_network.xhtml#a437cc59f5247f213adf34e84696f60da">IOptimizedNetwork::~IOptimizedNetwork()</a>.</p> +<div class="fragment"><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  : <a class="code" href="classarmnn_1_1_i_optimized_network.xhtml#a374d52340ec8dc02a819acc20fb5aa92">pOptimizedNetworkImpl</a>(<span class="keyword">new</span> OptimizedNetworkImpl(std::move(graph), modelOptions)) {}</div><div class="ttc" id="classarmnn_1_1_i_optimized_network_xhtml_a374d52340ec8dc02a819acc20fb5aa92"><div class="ttname"><a href="classarmnn_1_1_i_optimized_network.xhtml#a374d52340ec8dc02a819acc20fb5aa92">armnn::IOptimizedNetwork::pOptimizedNetworkImpl</a></div><div class="ttdeci">std::unique_ptr< OptimizedNetworkImpl > pOptimizedNetworkImpl</div><div class="ttdef"><b>Definition:</b> <a href="_i_network_8hpp_source.xhtml#l00750">INetwork.hpp:750</a></div></div> +</div><!-- fragment --> +</div> +</div> +<h2 class="groupheader">Member Function Documentation</h2> +<a id="a58ee539cf95c1e99fe4f54ef6e8bbd05"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a58ee539cf95c1e99fe4f54ef6e8bbd05">◆ </a></span>Destroy()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void Destroy </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml">IOptimizedNetwork</a> * </td> + <td class="paramname"><em>network</em></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">static</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.xhtml#l00551">551</a> of file <a class="el" href="_network_8cpp_source.xhtml">Network.cpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_network_8cpp_source.xhtml#l01568">armnn::Optimize()</a>.</p> +<div class="fragment"><div class="line"><a name="l00552"></a><span class="lineno"> 552</span> {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <span class="keyword">delete</span> network;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span> }</div></div><!-- fragment --> +</div> +</div> +<a id="ab986223ec7e4f04929cb47c74a27aa93"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ab986223ec7e4f04929cb47c74a27aa93">◆ </a></span>GetGuid()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">profiling::ProfilingGuid</a> GetGuid </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.xhtml#l00566">566</a> of file <a class="el" href="_network_8cpp_source.xhtml">Network.cpp</a>.</p> + +<p class="reference">References <a class="el" href="_i_network_8hpp_source.xhtml#l00750">IOptimizedNetwork::pOptimizedNetworkImpl</a>.</p> +<div class="fragment"><div class="line"><a name="l00567"></a><span class="lineno"> 567</span> {</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_optimized_network.xhtml#a374d52340ec8dc02a819acc20fb5aa92">pOptimizedNetworkImpl</a>->GetGuid();</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span> }</div><div class="ttc" id="classarmnn_1_1_i_optimized_network_xhtml_a374d52340ec8dc02a819acc20fb5aa92"><div class="ttname"><a href="classarmnn_1_1_i_optimized_network.xhtml#a374d52340ec8dc02a819acc20fb5aa92">armnn::IOptimizedNetwork::pOptimizedNetworkImpl</a></div><div class="ttdeci">std::unique_ptr< OptimizedNetworkImpl > pOptimizedNetworkImpl</div><div class="ttdef"><b>Definition:</b> <a href="_i_network_8hpp_source.xhtml#l00750">INetwork.hpp:750</a></div></div> +</div><!-- fragment --> +</div> +</div> +<a id="aff3fde909d22ed157046682e70129259"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aff3fde909d22ed157046682e70129259">◆ </a></span>PrintGraph()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="namespacearmnn.xhtml#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> PrintGraph </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.xhtml#l00556">556</a> of file <a class="el" href="_network_8cpp_source.xhtml">Network.cpp</a>.</p> + +<p class="reference">References <a class="el" href="_i_network_8hpp_source.xhtml#l00750">IOptimizedNetwork::pOptimizedNetworkImpl</a>.</p> +<div class="fragment"><div class="line"><a name="l00557"></a><span class="lineno"> 557</span> {</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_optimized_network.xhtml#a374d52340ec8dc02a819acc20fb5aa92">pOptimizedNetworkImpl</a>->PrintGraph();</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span> }</div><div class="ttc" id="classarmnn_1_1_i_optimized_network_xhtml_a374d52340ec8dc02a819acc20fb5aa92"><div class="ttname"><a href="classarmnn_1_1_i_optimized_network.xhtml#a374d52340ec8dc02a819acc20fb5aa92">armnn::IOptimizedNetwork::pOptimizedNetworkImpl</a></div><div class="ttdeci">std::unique_ptr< OptimizedNetworkImpl > pOptimizedNetworkImpl</div><div class="ttdef"><b>Definition:</b> <a href="_i_network_8hpp_source.xhtml#l00750">INetwork.hpp:750</a></div></div> +</div><!-- fragment --> +</div> +</div> +<a id="a26794f014974a6f963a8925de07bffeb"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a26794f014974a6f963a8925de07bffeb">◆ </a></span>SerializeToDot()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="namespacearmnn.xhtml#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> SerializeToDot </td> + <td>(</td> + <td class="paramtype">std::ostream & </td> + <td class="paramname"><em>stream</em></td><td>)</td> + <td> const</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.xhtml#l00561">561</a> of file <a class="el" href="_network_8cpp_source.xhtml">Network.cpp</a>.</p> + +<p class="reference">References <a class="el" href="_i_network_8hpp_source.xhtml#l00750">IOptimizedNetwork::pOptimizedNetworkImpl</a>.</p> +<div class="fragment"><div class="line"><a name="l00562"></a><span class="lineno"> 562</span> {</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_optimized_network.xhtml#a374d52340ec8dc02a819acc20fb5aa92">pOptimizedNetworkImpl</a>->SerializeToDot(stream);</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span> }</div><div class="ttc" id="classarmnn_1_1_i_optimized_network_xhtml_a374d52340ec8dc02a819acc20fb5aa92"><div class="ttname"><a href="classarmnn_1_1_i_optimized_network.xhtml#a374d52340ec8dc02a819acc20fb5aa92">armnn::IOptimizedNetwork::pOptimizedNetworkImpl</a></div><div class="ttdeci">std::unique_ptr< OptimizedNetworkImpl > pOptimizedNetworkImpl</div><div class="ttdef"><b>Definition:</b> <a href="_i_network_8hpp_source.xhtml#l00750">INetwork.hpp:750</a></div></div> +</div><!-- fragment --> +</div> +</div> +<h2 class="groupheader">Friends And Related Function Documentation</h2> +<a id="a150601aebab0c979f258bf862b6fd5db"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a150601aebab0c979f258bf862b6fd5db">◆ </a></span>experimental::AsyncNetworkImpl</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">friend class experimental::AsyncNetworkImpl</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">friend</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_i_network_8hpp_source.xhtml#l00737">737</a> of file <a class="el" href="_i_network_8hpp_source.xhtml">INetwork.hpp</a>.</p> + +</div> +</div> +<a id="a21b1820e69a256697d3a5603d656e833"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a21b1820e69a256697d3a5603d656e833">◆ </a></span>experimental::WorkingMemHandle</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">friend class <a class="el" href="classarmnn_1_1experimental_1_1_working_mem_handle.xhtml">experimental::WorkingMemHandle</a></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">friend</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_i_network_8hpp_source.xhtml#l00738">738</a> of file <a class="el" href="_i_network_8hpp_source.xhtml">INetwork.hpp</a>.</p> + +</div> +</div> +<a id="a519b2b784c275693e37a9b6c693342eb"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a519b2b784c275693e37a9b6c693342eb">◆ </a></span>GetGraphForTesting</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classarmnn_1_1_graph.xhtml">Graph</a>& GetGraphForTesting </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml">IOptimizedNetwork</a> * </td> + <td class="paramname"><em>optNetPtr</em></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">friend</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_test_utils_8cpp_source.xhtml#l00025">25</a> of file <a class="el" href="_test_utils_8cpp_source.xhtml">TestUtils.cpp</a>.</p> +<div class="fragment"><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> {</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordflow">return</span> optNet->pOptimizedNetworkImpl->GetGraph();</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> }</div></div><!-- fragment --> +</div> +</div> +<a id="aa25c1acd249228c82a687d713673725a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aa25c1acd249228c82a687d713673725a">◆ </a></span>GetModelOptionsForTesting</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="namespacearmnn.xhtml#a5b6893cda5b69359a4244c06054da18f">ModelOptions</a>& GetModelOptionsForTesting </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml">IOptimizedNetwork</a> * </td> + <td class="paramname"><em>optNetPtr</em></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">friend</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_test_utils_8cpp_source.xhtml#l00030">30</a> of file <a class="el" href="_test_utils_8cpp_source.xhtml">TestUtils.cpp</a>.</p> +<div class="fragment"><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> {</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keywordflow">return</span> optNet->pOptimizedNetworkImpl->GetModelOptions();</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> }</div></div><!-- fragment --> +</div> +</div> +<a id="a848000b2be0cb1853c9f7c4fb4dc719e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a848000b2be0cb1853c9f7c4fb4dc719e">◆ </a></span>LoadedNetwork</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">friend class <a class="el" href="classarmnn_1_1_loaded_network.xhtml">LoadedNetwork</a></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">friend</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_i_network_8hpp_source.xhtml#l00735">735</a> of file <a class="el" href="_i_network_8hpp_source.xhtml">INetwork.hpp</a>.</p> + +</div> +</div> +<a id="a22df7404d1196068ad18d0286f9b9425"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a22df7404d1196068ad18d0286f9b9425">◆ </a></span>Optimize</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="namespacearmnn.xhtml#a674efcf6cbdb9e831d653ff0e821fb38">IOptimizedNetworkPtr</a> Optimize </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_network.xhtml">INetwork</a> & </td> + <td class="paramname"><em>inNetwork</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const std::vector< <a class="el" href="classarmnn_1_1_backend_id.xhtml">BackendId</a> > & </td> + <td class="paramname"><em>backendPreferences</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_device_spec.xhtml">IDeviceSpec</a> & </td> + <td class="paramname"><em>deviceSpec</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="structarmnn_1_1_optimizer_options.xhtml">OptimizerOptions</a> & </td> + <td class="paramname"><em>options</em> = <code><a class="el" href="structarmnn_1_1_optimizer_options.xhtml">OptimizerOptions</a>()</code>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>< std::vector< std::string > &> </td> + <td class="paramname"><em>messages</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">friend</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Create an optimized version of the network. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">network</td><td><a class="el" href="classarmnn_1_1_i_network.xhtml" title="Main network class which provides the interface for building up a neural network. ...">INetwork</a> description of the network to be optimized. </td></tr> + <tr><td class="paramname">backendPreferences</td><td>The choice of the backend ordered by user preferences. </td></tr> + <tr><td class="paramname">deviceSpec</td><td><a class="el" href="classarmnn_1_1_device_spec.xhtml">DeviceSpec</a> object as queried from the runtime. See <a class="el" href="classarmnn_1_1_i_runtime.xhtml#a25db7b8e6fc90f8418439ccd33aaf184">IRuntime::GetDeviceSpec()</a> </td></tr> + <tr><td class="paramname">messages</td><td>If there are failures or warnings a string describing same will be added to the vector </td></tr> + <tr><td class="paramname">options</td><td><a class="el" href="structarmnn_1_1_optimizer_options.xhtml">OptimizerOptions</a> object with optimizer configuration options </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>An IOptimizedNetworkPtr interface to the optimized network, throws an exception derived from <a class="el" href="classarmnn_1_1_exception.xhtml" title="Base class for all ArmNN exceptions so that users can filter to just those. ">armnn::Exception</a> if process fails. </dd></dl> + +<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.xhtml#l01568">1568</a> of file <a class="el" href="_network_8cpp_source.xhtml">Network.cpp</a>.</p> +<div class="fragment"><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> {</div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>  <span class="keywordflow">if</span> (backendPreferences.empty())</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>  {</div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>  <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">"Invoked Optimize with no backends specified"</span>);</div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>  }</div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> </div><div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>  <span class="keywordflow">if</span> (options.m_ReduceFp32ToFp16 && options.m_ReduceFp32ToBf16)</div><div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>  {</div><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>  <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">"BFloat16 and Float16 optimization cannot be enabled at the same time."</span>);</div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>  }</div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> </div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>  std::unique_ptr<Graph> graph = std::make_unique<Graph>(inNetwork.pNetworkImpl->GetGraph());</div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> </div><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>  <span class="keyword">auto</span> optNet = <a class="code" href="namespacearmnn.xhtml#a674efcf6cbdb9e831d653ff0e821fb38">IOptimizedNetworkPtr</a>(<span class="keyword">new</span> <a class="code" href="classarmnn_1_1_i_optimized_network.xhtml#af730a6ec3deb072dc2687089f3f77f9e">IOptimizedNetwork</a>(std::move(graph), options.m_ModelOptions),</div><div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>  &<a class="code" href="classarmnn_1_1_i_optimized_network.xhtml#a58ee539cf95c1e99fe4f54ef6e8bbd05">IOptimizedNetwork::Destroy</a>);</div><div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> </div><div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>  <a class="code" href="classarmnn_1_1_i_optimized_network.xhtml#af730a6ec3deb072dc2687089f3f77f9e">IOptimizedNetwork</a>* optNetObjPtr = optNet.get();</div><div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> </div><div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>  <span class="comment">// Get the optimized graph</span></div><div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>  Graph& optGraph = optNetObjPtr->pOptimizedNetworkImpl->GetGraph();</div><div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> </div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>  <span class="comment">// Perform AddBroadcastReshapeLayer optimisation</span></div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>  <span class="keyword">using namespace </span>optimizations;</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>  <a class="code" href="classarmnn_1_1_optimizer.xhtml#a1f48ba622b76ea04d15c9b62f642bf08">Optimizer::Pass</a>(optGraph, <a class="code" href="namespacearmnn.xhtml#aa7427025a851113a492de0b68b23d22a">MakeOptimizations</a>(<a class="code" href="namespacearmnn_1_1optimizations.xhtml#a4fc55afb4885278ad1510b2c4307af76">AddBroadcastReshapeLayer</a>()));</div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> </div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>  <span class="comment">// Infer the tensor infos for all output slots. Throws an exception on failure</span></div><div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>  optGraph.InferTensorInfos();</div><div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> </div><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>  <span class="comment">// Perform optimisation passes</span></div><div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>  <a class="code" href="classarmnn_1_1_optimizer.xhtml#a1f48ba622b76ea04d15c9b62f642bf08">Optimizer::Pass</a>(optGraph, <a class="code" href="namespacearmnn.xhtml#aa7427025a851113a492de0b68b23d22a">MakeOptimizations</a>(<a class="code" href="namespacearmnn_1_1optimizations.xhtml#a64ddffb38fbe5b78ec92b753cd4bd0ba">SquashEqualPermuteSiblings</a>(),</div><div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#aba7b0ca6192b8b58ecd517a82b4f378e">SquashEqualTransposeSiblings</a>(),</div><div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#a29f8d97b2d74f99c88298881cd1d825b">SquashEqualReshapeSiblings</a>(),</div><div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#aa31127c77d2117f78d43ca2958dcae19">OptimizeInversePermutes</a>(),</div><div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#a2f9d1a13be2ac1c4213729a0ef181fc0">OptimizeInverseTransposes</a>(),</div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#aafc70d5af99400ff5ea7991825658b2f">MovePermuteUp</a>(),</div><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#a5918588fa316cf4c23f1cf02c81ee706">MoveTransposeUp</a>(),</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#ae0b1382e3af141896a46531c50e8863f">PermuteAsReshape</a>(),</div><div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#ad1aaeee71293f34d9f65d2dd2792830d">TransposeAsReshape</a>(),</div><div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#a8341ca3512ebafb19d60eba44d40d9e4">OptimizeConsecutiveReshapes</a>(),</div><div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#a8b394ff60ed829a91f07deac476f3db2">FoldPadIntoConvolution2d</a>(),</div><div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#a279d0a7c56966cea334303d48a874964">FoldPadIntoPooling2d</a>(),</div><div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#a17d1279f5f8e3b92c328b1ed3b6fd549">PermuteAndBatchToSpaceAsDepthToSpace</a>(),</div><div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#a98f54d4391347d517c7a7869e7707203">TransposeAndBatchToSpaceAsDepthToSpace</a>(),</div><div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#aa52c06792e18dc13030e82476f706f9e">FuseBatchNormIntoConvolution2DFloat32</a>(),</div><div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#a8a81178ddcebb93ec0c35b6e6284273c">FuseBatchNormIntoConvolution2DFloat16</a>(),</div><div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#a56e54a818166a2f4b2c1a7f76a3629ff">FuseBatchNormIntoDepthwiseConvolution2DFloat32</a>(),</div><div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#ab40bb51feca46649eb9d00522bfe51f6">FuseBatchNormIntoDepthwiseConvolution2DFloat16</a>()));</div><div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> </div><div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>  <span class="comment">// If Fp32 to Fp16 optimization is set convert Fp32 network to Fp16</span></div><div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>  <span class="keywordflow">if</span> (options.m_ReduceFp32ToFp16)</div><div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>  {</div><div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>  <a class="code" href="classarmnn_1_1_optimizer.xhtml#a1f48ba622b76ea04d15c9b62f642bf08">Optimizer::Pass</a>(optGraph, <a class="code" href="namespacearmnn.xhtml#aa7427025a851113a492de0b68b23d22a">MakeOptimizations</a>(<a class="code" href="namespacearmnn_1_1optimizations.xhtml#a86d19da62b6cfed3928f6fe7026f22fa">Fp32NetworkToFp16Converter</a>()));</div><div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>  <a class="code" href="classarmnn_1_1_optimizer.xhtml#a1f48ba622b76ea04d15c9b62f642bf08">Optimizer::Pass</a>(optGraph, <a class="code" href="namespacearmnn.xhtml#aa7427025a851113a492de0b68b23d22a">MakeOptimizations</a>(<a class="code" href="namespacearmnn_1_1optimizations.xhtml#a226cef3d775179e25ee35d231f4e8fae">ConvertConstantsFloatToHalf</a>()));</div><div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>  }</div><div class="line"><a name="l01627"></a><span class="lineno"> 1627</span> </div><div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>  <span class="comment">// If Fp32 to Bf16 optimization is set convert Fp32 network to Bf16</span></div><div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>  <span class="comment">// Convert input of Convolution2d and FullyConnected from Fp32 to Bf16</span></div><div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>  <span class="comment">// Only Constant weight of Convolution2d and FullyConnected are converted from Fp32 to Bf16</span></div><div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>  <span class="keywordflow">if</span> (options.m_ReduceFp32ToBf16)</div><div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>  {</div><div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>  <a class="code" href="classarmnn_1_1_optimizer.xhtml#a1f48ba622b76ea04d15c9b62f642bf08">Optimizer::Pass</a>(optGraph, <a class="code" href="namespacearmnn.xhtml#aa7427025a851113a492de0b68b23d22a">MakeOptimizations</a>(<a class="code" href="namespacearmnn_1_1optimizations.xhtml#aeb70f8fcf5180bdd5c94be7bb2f9d176">Fp32NetworkToBf16Converter</a>()));</div><div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>  }</div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> </div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>  <span class="comment">// Initialize backend settings</span></div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>  BackendSettings backendSettings(backendPreferences, deviceSpec);</div><div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>  <span class="keywordflow">if</span> (backendSettings.GetAvailablePreferredBackends().empty())</div><div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>  {</div><div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>  std::stringstream failureMsg;</div><div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>  failureMsg << <span class="stringliteral">"None of the preferred backends "</span> << backendPreferences</div><div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>  << <span class="stringliteral">" are supported. Current platform provides "</span> << backendSettings.m_SupportedBackends;</div><div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>  <a class="code" href="namespacearmnn.xhtml#a7658f93d899c8646515a29370e6aa994">ReportError</a>(failureMsg.str(), messages);</div><div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>  <span class="keywordflow">throw</span> InvalidArgumentException(failureMsg.str());</div><div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>  }</div><div class="line"><a name="l01646"></a><span class="lineno"> 1646</span> </div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>  <span class="comment">// Create a map to temporarily hold initialized backend objects</span></div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>  TensorHandleFactoryRegistry tensorHandleFactoryRegistry;</div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>  <a class="code" href="namespacearmnn.xhtml#a9173495a61a0092b5f38b855f02c3585">BackendsMap</a> backends = <a class="code" href="namespacearmnn.xhtml#a1ec6b4c20ed294a96cf94c33c24caaf5">CreateSupportedBackends</a>(tensorHandleFactoryRegistry, backendSettings);</div><div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> </div><div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>  <span class="comment">// Assign an available backend to each layer</span></div><div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>  <a class="code" href="classarmnn_1_1_graph.xhtml#acc25db0641c1c22faf95af3bb49080c9">Graph::Iterator</a> firstLayer = optGraph.begin();</div><div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>  <a class="code" href="classarmnn_1_1_graph.xhtml#acc25db0641c1c22faf95af3bb49080c9">Graph::Iterator</a> lastLayer = optGraph.end();</div><div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>  OptimizationResult assignBackendsResult = <a class="code" href="namespacearmnn.xhtml#a224df72b3d7a3bba8609bc167286e3f7">AssignBackends</a>(optNetObjPtr->pOptimizedNetworkImpl.get(),</div><div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>  backendSettings,</div><div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>  firstLayer,</div><div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>  lastLayer,</div><div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>  messages);</div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>  <span class="keywordflow">if</span> (assignBackendsResult.m_Error)</div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>  {</div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>  <span class="comment">// Failed to assign a backend to each layer</span></div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>  <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">"Failed to assign a backend to each layer"</span>);</div><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>  }</div><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> </div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>  <a class="code" href="classarmnn_1_1_optimizer.xhtml#a1f48ba622b76ea04d15c9b62f642bf08">Optimizer::Pass</a>(optGraph, <a class="code" href="namespacearmnn.xhtml#aa7427025a851113a492de0b68b23d22a">MakeOptimizations</a>(<a class="code" href="namespacearmnn_1_1optimizations.xhtml#a1a9d718b48612b5817a3c369f9fd71ee">OptimizeInverseConversionsFp16</a>(),</div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>  <a class="code" href="namespacearmnn_1_1optimizations.xhtml#ae1509d340bc981b11101c3316ee8afd6">OptimizeInverseConversionsFp32</a>()));</div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span> </div><div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>  <span class="comment">// Apply the backend-specific optimizations</span></div><div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>  OptimizationResult backendOptimizationResult = <a class="code" href="namespacearmnn.xhtml#a9f31d956861d8277fa5f8fb877dbbb6c">ApplyBackendOptimizations</a>(optNetObjPtr->pOptimizedNetworkImpl.get(),</div><div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>  backendSettings,</div><div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>  backends,</div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>  options.m_ModelOptions,</div><div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>  messages);</div><div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>  <span class="keywordflow">if</span> (backendOptimizationResult.m_Error)</div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>  {</div><div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>  <span class="comment">// Failed to apply the backend-specific optimizations</span></div><div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>  <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">"Failed to apply the backend-specific optimizations"</span>);</div><div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>  }</div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> </div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>  <span class="comment">// If the debug flag is set, then insert a DebugLayer after each layer</span></div><div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>  <span class="comment">// Doing this after applying the backend optimizations as they might have changed some layers</span></div><div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>  <span class="keywordflow">if</span> (options.m_Debug)</div><div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>  {</div><div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>  <a class="code" href="classarmnn_1_1_optimizer.xhtml#a1f48ba622b76ea04d15c9b62f642bf08">Optimizer::Pass</a>(optGraph, <a class="code" href="namespacearmnn.xhtml#aa7427025a851113a492de0b68b23d22a">MakeOptimizations</a>(<a class="code" href="namespacearmnn_1_1optimizations.xhtml#aa76c76565125ad77092403176d74fd85">InsertDebugLayer</a>()));</div><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>  }</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span> </div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>  <span class="comment">// Calculate the compatibility strategies for tensor handles</span></div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>  OptimizationResult strategyResult = <a class="code" href="namespacearmnn.xhtml#a86541d11fcad5246a78cbc21d637a504">SelectTensorHandleStrategy</a>(optGraph,</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>  backends,</div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>  tensorHandleFactoryRegistry,</div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>  options.m_ImportEnabled,</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>  messages);</div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>  <span class="keywordflow">if</span> (strategyResult.m_Error)</div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>  {</div><div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>  <span class="comment">// Failed to apply the backend-specific optimizations</span></div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a674efcf6cbdb9e831d653ff0e821fb38">IOptimizedNetworkPtr</a>(<span class="keyword">nullptr</span>, &<a class="code" href="classarmnn_1_1_i_optimized_network.xhtml#a58ee539cf95c1e99fe4f54ef6e8bbd05">IOptimizedNetwork::Destroy</a>);</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>  }</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> </div><div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>  <span class="comment">// Based on the tensor handle strategy determined above, insert copy layers where required.</span></div><div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>  optGraph.AddCompatibilityLayers(backends, tensorHandleFactoryRegistry);</div><div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> </div><div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>  <span class="comment">// Convert constants</span></div><div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>  <a class="code" href="classarmnn_1_1_optimizer.xhtml#a1f48ba622b76ea04d15c9b62f642bf08">Optimizer::Pass</a>(optGraph, <a class="code" href="namespacearmnn.xhtml#aa7427025a851113a492de0b68b23d22a">MakeOptimizations</a>(<a class="code" href="namespacearmnn_1_1optimizations.xhtml#a226cef3d775179e25ee35d231f4e8fae">ConvertConstantsFloatToHalf</a>()));</div><div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>  <a class="code" href="classarmnn_1_1_optimizer.xhtml#a1f48ba622b76ea04d15c9b62f642bf08">Optimizer::Pass</a>(optGraph, <a class="code" href="namespacearmnn.xhtml#aa7427025a851113a492de0b68b23d22a">MakeOptimizations</a>(<a class="code" href="namespacearmnn_1_1optimizations.xhtml#a06cac66872538895dd6b59cdf39173d2">ConvertConstantsHalfToFloat</a>()));</div><div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> </div><div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>  <span class="comment">// Run backend specific optimizations (deprecated)</span></div><div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span>&& chosenBackend : backendSettings.m_SelectedBackends)</div><div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>  {</div><div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>  <span class="keyword">auto</span> factoryFun = <a class="code" href="namespacearmnn.xhtml#ac2807505b850738bc8a1991ce669dd47">BackendRegistryInstance</a>().<a class="code" href="classarmnn_1_1_backend_registry.xhtml#afc0c63ca8db8957b58826f6d7bd231b2">GetFactory</a>(chosenBackend);</div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>  <span class="keyword">auto</span> backendPtr = factoryFun();</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>  <a class="code" href="_assert_8hpp.xhtml#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(backendPtr.get() != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> </div><div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>  <a class="code" href="_deprecated_8hpp.xhtml#ab66a241a0ed3ee89c866e777b035d0ed">ARMNN_NO_DEPRECATE_WARN_BEGIN</a></div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>  <span class="keyword">auto</span> backendSpecificOptimizations = backendPtr->GetOptimizations();</div><div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>  <a class="code" href="_deprecated_8hpp.xhtml#ad762b11b48e5c1d1c1743f529485728a">ARMNN_NO_DEPRECATE_WARN_END</a></div><div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> </div><div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>  <span class="keywordflow">if</span> (!backendSpecificOptimizations.empty())</div><div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>  {</div><div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>  <a class="code" href="classarmnn_1_1_optimizer.xhtml#a1f48ba622b76ea04d15c9b62f642bf08">Optimizer::Pass</a>(optNetObjPtr->pOptimizedNetworkImpl->GetGraph(), backendSpecificOptimizations);</div><div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>  }</div><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>  }</div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> </div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>  <span class="keywordflow">return</span> optNet;</div><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> }</div><div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a64ddffb38fbe5b78ec92b753cd4bd0ba"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a64ddffb38fbe5b78ec92b753cd4bd0ba">armnn::optimizations::SquashEqualPermuteSiblings</a></div><div class="ttdeci">OptimizeForConnection< Layer, PermuteLayer, SquashEqualSiblingsImpl< PermuteLayer > > SquashEqualPermuteSiblings</div><div class="ttdef"><b>Definition:</b> <a href="_squash_equal_siblings_8hpp_source.xhtml#l00067">SquashEqualSiblings.hpp:67</a></div></div> +<div class="ttc" id="namespacearmnn_xhtml_a7658f93d899c8646515a29370e6aa994"><div class="ttname"><a href="namespacearmnn.xhtml#a7658f93d899c8646515a29370e6aa994">armnn::ReportError</a></div><div class="ttdeci">void ReportError(const std::string &errorMessage, Optional< std::vector< std::string > &> errorMessages)</div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.xhtml#l00582">Network.cpp:582</a></div></div> +<div class="ttc" id="namespacearmnn_xhtml_a224df72b3d7a3bba8609bc167286e3f7"><div class="ttname"><a href="namespacearmnn.xhtml#a224df72b3d7a3bba8609bc167286e3f7">armnn::AssignBackends</a></div><div class="ttdeci">OptimizationResult AssignBackends(OptimizedNetworkImpl *optNetObjPtr, BackendSettings &backendSettings, Graph::Iterator &firstLayer, Graph::Iterator &lastLayer, Optional< std::vector< std::string > &> errMessages)</div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.xhtml#l00888">Network.cpp:888</a></div></div> +<div class="ttc" id="classarmnn_1_1_backend_registry_xhtml_afc0c63ca8db8957b58826f6d7bd231b2"><div class="ttname"><a href="classarmnn_1_1_backend_registry.xhtml#afc0c63ca8db8957b58826f6d7bd231b2">armnn::BackendRegistry::GetFactory</a></div><div class="ttdeci">FactoryFunction GetFactory(const BackendId &id) const</div><div class="ttdef"><b>Definition:</b> <a href="_backend_registry_8cpp_source.xhtml#l00054">BackendRegistry.cpp:54</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_aa31127c77d2117f78d43ca2958dcae19"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#aa31127c77d2117f78d43ca2958dcae19">armnn::optimizations::OptimizeInversePermutes</a></div><div class="ttdeci">OptimizeForConnection< PermuteLayer, PermuteLayer, OptimizeInversePermutesImpl< PermuteLayer > > OptimizeInversePermutes</div><div class="ttdef"><b>Definition:</b> <a href="_optimize_inverse_permutes_8hpp_source.xhtml#l00043">OptimizeInversePermutes.hpp:43</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a8b394ff60ed829a91f07deac476f3db2"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a8b394ff60ed829a91f07deac476f3db2">armnn::optimizations::FoldPadIntoConvolution2d</a></div><div class="ttdeci">OptimizeForExclusiveConnection< PadLayer, Convolution2dLayer, pad_fold::FoldPadIntoConvolution2dImpl > FoldPadIntoConvolution2d</div><div class="ttdef"><b>Definition:</b> <a href="_fold_pad_into_layer2d_8hpp_source.xhtml#l00197">FoldPadIntoLayer2d.hpp:197</a></div></div> +<div class="ttc" id="namespacearmnn_xhtml_aa7427025a851113a492de0b68b23d22a"><div class="ttname"><a href="namespacearmnn.xhtml#aa7427025a851113a492de0b68b23d22a">armnn::MakeOptimizations</a></div><div class="ttdeci">Optimizer::Optimizations MakeOptimizations(Args &&... args)</div><div class="ttdef"><b>Definition:</b> <a href="_optimizer_8hpp_source.xhtml#l00043">Optimizer.hpp:43</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a2f9d1a13be2ac1c4213729a0ef181fc0"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a2f9d1a13be2ac1c4213729a0ef181fc0">armnn::optimizations::OptimizeInverseTransposes</a></div><div class="ttdeci">OptimizeForConnection< TransposeLayer, TransposeLayer, OptimizeInversePermutesImpl< TransposeLayer > > OptimizeInverseTransposes</div><div class="ttdef"><b>Definition:</b> <a href="_optimize_inverse_permutes_8hpp_source.xhtml#l00045">OptimizeInversePermutes.hpp:45</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a98f54d4391347d517c7a7869e7707203"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a98f54d4391347d517c7a7869e7707203">armnn::optimizations::TransposeAndBatchToSpaceAsDepthToSpace</a></div><div class="ttdeci">OptimizeForConnection< TransposeLayer, BatchToSpaceNdLayer, PermuteAndBatchToSpaceAsDepthToSpaceImpl< TransposeLayer > > TransposeAndBatchToSpaceAsDepthToSpace</div><div class="ttdef"><b>Definition:</b> <a href="_permute_and_batch_to_space_as_depth_to_space_8hpp_source.xhtml#l00104">PermuteAndBatchToSpaceAsDepthToSpace.hpp:104</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a56e54a818166a2f4b2c1a7f76a3629ff"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a56e54a818166a2f4b2c1a7f76a3629ff">armnn::optimizations::FuseBatchNormIntoDepthwiseConvolution2DFloat32</a></div><div class="ttdeci">OptimizeForExclusiveConnection< DepthwiseConvolution2dLayer, BatchNormalizationLayer, FuseBatchNorm< DepthwiseConvolution2dLayer, armnn::DataType::Float32 > > FuseBatchNormIntoDepthwiseConvolution2DFloat32</div><div class="ttdef"><b>Definition:</b> <a href="_fuse_batch_norm_8hpp_source.xhtml#l00197">FuseBatchNorm.hpp:197</a></div></div> +<div class="ttc" id="_deprecated_8hpp_xhtml_ab66a241a0ed3ee89c866e777b035d0ed"><div class="ttname"><a href="_deprecated_8hpp.xhtml#ab66a241a0ed3ee89c866e777b035d0ed">ARMNN_NO_DEPRECATE_WARN_BEGIN</a></div><div class="ttdeci">#define ARMNN_NO_DEPRECATE_WARN_BEGIN</div><div class="ttdef"><b>Definition:</b> <a href="_deprecated_8hpp_source.xhtml#l00033">Deprecated.hpp:33</a></div></div> +<div class="ttc" id="classarmnn_1_1_optimizer_xhtml_a1f48ba622b76ea04d15c9b62f642bf08"><div class="ttname"><a href="classarmnn_1_1_optimizer.xhtml#a1f48ba622b76ea04d15c9b62f642bf08">armnn::Optimizer::Pass</a></div><div class="ttdeci">static void Pass(Graph &graph, const Optimizations &optimizations)</div><div class="ttdef"><b>Definition:</b> <a href="_optimizer_8cpp_source.xhtml#l00016">Optimizer.cpp:16</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_ab40bb51feca46649eb9d00522bfe51f6"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#ab40bb51feca46649eb9d00522bfe51f6">armnn::optimizations::FuseBatchNormIntoDepthwiseConvolution2DFloat16</a></div><div class="ttdeci">OptimizeForExclusiveConnection< DepthwiseConvolution2dLayer, BatchNormalizationLayer, FuseBatchNorm< DepthwiseConvolution2dLayer, armnn::DataType::Float16 > > FuseBatchNormIntoDepthwiseConvolution2DFloat16</div><div class="ttdef"><b>Definition:</b> <a href="_fuse_batch_norm_8hpp_source.xhtml#l00202">FuseBatchNorm.hpp:202</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a8a81178ddcebb93ec0c35b6e6284273c"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a8a81178ddcebb93ec0c35b6e6284273c">armnn::optimizations::FuseBatchNormIntoConvolution2DFloat16</a></div><div class="ttdeci">OptimizeForExclusiveConnection< Convolution2dLayer, BatchNormalizationLayer, FuseBatchNorm< Convolution2dLayer, armnn::DataType::Float16 > > FuseBatchNormIntoConvolution2DFloat16</div><div class="ttdef"><b>Definition:</b> <a href="_fuse_batch_norm_8hpp_source.xhtml#l00192">FuseBatchNorm.hpp:192</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_aa52c06792e18dc13030e82476f706f9e"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#aa52c06792e18dc13030e82476f706f9e">armnn::optimizations::FuseBatchNormIntoConvolution2DFloat32</a></div><div class="ttdeci">OptimizeForExclusiveConnection< Convolution2dLayer, BatchNormalizationLayer, FuseBatchNorm< Convolution2dLayer, armnn::DataType::Float32 > > FuseBatchNormIntoConvolution2DFloat32</div><div class="ttdef"><b>Definition:</b> <a href="_fuse_batch_norm_8hpp_source.xhtml#l00187">FuseBatchNorm.hpp:187</a></div></div> +<div class="ttc" id="namespacearmnn_xhtml_ac2807505b850738bc8a1991ce669dd47"><div class="ttname"><a href="namespacearmnn.xhtml#ac2807505b850738bc8a1991ce669dd47">armnn::BackendRegistryInstance</a></div><div class="ttdeci">BackendRegistry & BackendRegistryInstance()</div><div class="ttdef"><b>Definition:</b> <a href="_backend_registry_8cpp_source.xhtml#l00013">BackendRegistry.cpp:13</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a29f8d97b2d74f99c88298881cd1d825b"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a29f8d97b2d74f99c88298881cd1d825b">armnn::optimizations::SquashEqualReshapeSiblings</a></div><div class="ttdeci">OptimizeForConnection< Layer, ReshapeLayer, SquashEqualSiblingsImpl< ReshapeLayer > > SquashEqualReshapeSiblings</div><div class="ttdef"><b>Definition:</b> <a href="_squash_equal_siblings_8hpp_source.xhtml#l00070">SquashEqualSiblings.hpp:70</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a5918588fa316cf4c23f1cf02c81ee706"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a5918588fa316cf4c23f1cf02c81ee706">armnn::optimizations::MoveTransposeUp</a></div><div class="ttdeci">OptimizeForConnection< Layer, TransposeLayer, MoveTransposeUpImpl > MoveTransposeUp</div><div class="ttdef"><b>Definition:</b> <a href="_move_transpose_up_8hpp_source.xhtml#l00077">MoveTransposeUp.hpp:77</a></div></div> +<div class="ttc" id="classarmnn_1_1_graph_xhtml_acc25db0641c1c22faf95af3bb49080c9"><div class="ttname"><a href="classarmnn_1_1_graph.xhtml#acc25db0641c1c22faf95af3bb49080c9">armnn::Graph::Iterator</a></div><div class="ttdeci">LayerList::const_iterator Iterator</div><div class="ttdef"><b>Definition:</b> <a href="_graph_8hpp_source.xhtml#l00050">Graph.hpp:50</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_aa76c76565125ad77092403176d74fd85"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#aa76c76565125ad77092403176d74fd85">armnn::optimizations::InsertDebugLayer</a></div><div class="ttdeci">OptimizeForType< Layer, AddDebugImpl > InsertDebugLayer</div><div class="ttdef"><b>Definition:</b> <a href="_add_debug_8hpp_source.xhtml#l00034">AddDebug.hpp:34</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a8341ca3512ebafb19d60eba44d40d9e4"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a8341ca3512ebafb19d60eba44d40d9e4">armnn::optimizations::OptimizeConsecutiveReshapes</a></div><div class="ttdeci">OptimizeForConnection< ReshapeLayer, ReshapeLayer, OptimizeConsecutiveReshapesImpl > OptimizeConsecutiveReshapes</div><div class="ttdef"><b>Definition:</b> <a href="_optimize_consecutive_reshapes_8hpp_source.xhtml#l00061">OptimizeConsecutiveReshapes.hpp:61</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a1a9d718b48612b5817a3c369f9fd71ee"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a1a9d718b48612b5817a3c369f9fd71ee">armnn::optimizations::OptimizeInverseConversionsFp16</a></div><div class="ttdeci">OptimizeForConnection< ConvertFp16ToFp32Layer, ConvertFp32ToFp16Layer, OptimizeInverseConversionsImpl > OptimizeInverseConversionsFp16</div><div class="ttdef"><b>Definition:</b> <a href="_optimize_inverse_conversions_8hpp_source.xhtml#l00042">OptimizeInverseConversions.hpp:42</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a17d1279f5f8e3b92c328b1ed3b6fd549"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a17d1279f5f8e3b92c328b1ed3b6fd549">armnn::optimizations::PermuteAndBatchToSpaceAsDepthToSpace</a></div><div class="ttdeci">OptimizeForConnection< PermuteLayer, BatchToSpaceNdLayer, PermuteAndBatchToSpaceAsDepthToSpaceImpl< PermuteLayer > > PermuteAndBatchToSpaceAsDepthToSpace</div><div class="ttdef"><b>Definition:</b> <a href="_permute_and_batch_to_space_as_depth_to_space_8hpp_source.xhtml#l00102">PermuteAndBatchToSpaceAsDepthToSpace.hpp:102</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_aafc70d5af99400ff5ea7991825658b2f"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#aafc70d5af99400ff5ea7991825658b2f">armnn::optimizations::MovePermuteUp</a></div><div class="ttdeci">OptimizeForConnection< Layer, PermuteLayer, MovePermuteUpImpl > MovePermuteUp</div><div class="ttdef"><b>Definition:</b> <a href="_move_permute_up_8hpp_source.xhtml#l00077">MovePermuteUp.hpp:77</a></div></div> +<div class="ttc" id="classarmnn_1_1_i_optimized_network_xhtml_af730a6ec3deb072dc2687089f3f77f9e"><div class="ttname"><a href="classarmnn_1_1_i_optimized_network.xhtml#af730a6ec3deb072dc2687089f3f77f9e">armnn::IOptimizedNetwork::IOptimizedNetwork</a></div><div class="ttdeci">IOptimizedNetwork(std::unique_ptr< Graph > graph)</div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.xhtml#l00540">Network.cpp:540</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a226cef3d775179e25ee35d231f4e8fae"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a226cef3d775179e25ee35d231f4e8fae">armnn::optimizations::ConvertConstantsFloatToHalf</a></div><div class="ttdeci">ConvertConstants< Float32ToFloat16, IsFloat16Layer > ConvertConstantsFloatToHalf</div><div class="ttdef"><b>Definition:</b> <a href="_convert_constants_8hpp_source.xhtml#l00155">ConvertConstants.hpp:155</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_ad1aaeee71293f34d9f65d2dd2792830d"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#ad1aaeee71293f34d9f65d2dd2792830d">armnn::optimizations::TransposeAsReshape</a></div><div class="ttdeci">OptimizeForType< TransposeLayer, TransposeAsReshapeImpl > TransposeAsReshape</div><div class="ttdef"><b>Definition:</b> <a href="_transpose_as_reshape_8hpp_source.xhtml#l00077">TransposeAsReshape.hpp:77</a></div></div> +<div class="ttc" id="_deprecated_8hpp_xhtml_ad762b11b48e5c1d1c1743f529485728a"><div class="ttname"><a href="_deprecated_8hpp.xhtml#ad762b11b48e5c1d1c1743f529485728a">ARMNN_NO_DEPRECATE_WARN_END</a></div><div class="ttdeci">#define ARMNN_NO_DEPRECATE_WARN_END</div><div class="ttdef"><b>Definition:</b> <a href="_deprecated_8hpp_source.xhtml#l00034">Deprecated.hpp:34</a></div></div> +<div class="ttc" id="namespacearmnn_xhtml_a9f31d956861d8277fa5f8fb877dbbb6c"><div class="ttname"><a href="namespacearmnn.xhtml#a9f31d956861d8277fa5f8fb877dbbb6c">armnn::ApplyBackendOptimizations</a></div><div class="ttdeci">OptimizationResult ApplyBackendOptimizations(OptimizedNetworkImpl *optNetObjPtr, BackendSettings &backendSettings, BackendsMap &backends, const ModelOptions &modelOptions, Optional< std::vector< std::string > &> errMessages)</div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.xhtml#l01047">Network.cpp:1047</a></div></div> +<div class="ttc" id="namespacearmnn_xhtml_a674efcf6cbdb9e831d653ff0e821fb38"><div class="ttname"><a href="namespacearmnn.xhtml#a674efcf6cbdb9e831d653ff0e821fb38">armnn::IOptimizedNetworkPtr</a></div><div class="ttdeci">std::unique_ptr< IOptimizedNetwork, void(*)(IOptimizedNetwork *network)> IOptimizedNetworkPtr</div><div class="ttdef"><b>Definition:</b> <a href="_i_network_8hpp_source.xhtml#l00174">INetwork.hpp:174</a></div></div> +<div class="ttc" id="_assert_8hpp_xhtml_a5698be69cbd5dfe6c28fcd9867e8cbed"><div class="ttname"><a href="_assert_8hpp.xhtml#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a></div><div class="ttdeci">#define ARMNN_ASSERT(COND)</div><div class="ttdef"><b>Definition:</b> <a href="_assert_8hpp_source.xhtml#l00014">Assert.hpp:14</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_ae0b1382e3af141896a46531c50e8863f"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#ae0b1382e3af141896a46531c50e8863f">armnn::optimizations::PermuteAsReshape</a></div><div class="ttdeci">OptimizeForType< PermuteLayer, PermuteAsReshapeImpl > PermuteAsReshape</div><div class="ttdef"><b>Definition:</b> <a href="_permute_as_reshape_8hpp_source.xhtml#l00066">PermuteAsReshape.hpp:66</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_aba7b0ca6192b8b58ecd517a82b4f378e"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#aba7b0ca6192b8b58ecd517a82b4f378e">armnn::optimizations::SquashEqualTransposeSiblings</a></div><div class="ttdeci">OptimizeForConnection< Layer, TransposeLayer, SquashEqualSiblingsImpl< TransposeLayer > > SquashEqualTransposeSiblings</div><div class="ttdef"><b>Definition:</b> <a href="_squash_equal_siblings_8hpp_source.xhtml#l00069">SquashEqualSiblings.hpp:69</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a06cac66872538895dd6b59cdf39173d2"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a06cac66872538895dd6b59cdf39173d2">armnn::optimizations::ConvertConstantsHalfToFloat</a></div><div class="ttdeci">ConvertConstants< Float16ToFloat32, IsFloat32Layer > ConvertConstantsHalfToFloat</div><div class="ttdef"><b>Definition:</b> <a href="_convert_constants_8hpp_source.xhtml#l00154">ConvertConstants.hpp:154</a></div></div> +<div class="ttc" id="namespacearmnn_xhtml_a1ec6b4c20ed294a96cf94c33c24caaf5"><div class="ttname"><a href="namespacearmnn.xhtml#a1ec6b4c20ed294a96cf94c33c24caaf5">armnn::CreateSupportedBackends</a></div><div class="ttdeci">BackendsMap CreateSupportedBackends(TensorHandleFactoryRegistry &handleFactoryRegistry, BackendSettings &backendSettings)</div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.xhtml#l01028">Network.cpp:1028</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_ae1509d340bc981b11101c3316ee8afd6"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#ae1509d340bc981b11101c3316ee8afd6">armnn::optimizations::OptimizeInverseConversionsFp32</a></div><div class="ttdeci">OptimizeForConnection< ConvertFp32ToFp16Layer, ConvertFp16ToFp32Layer, OptimizeInverseConversionsImpl > OptimizeInverseConversionsFp32</div><div class="ttdef"><b>Definition:</b> <a href="_optimize_inverse_conversions_8hpp_source.xhtml#l00044">OptimizeInverseConversions.hpp:44</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a279d0a7c56966cea334303d48a874964"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a279d0a7c56966cea334303d48a874964">armnn::optimizations::FoldPadIntoPooling2d</a></div><div class="ttdeci">OptimizeForExclusiveConnection< PadLayer, Pooling2dLayer, pad_fold::FoldPadIntoPooling2dImpl > FoldPadIntoPooling2d</div><div class="ttdef"><b>Definition:</b> <a href="_fold_pad_into_layer2d_8hpp_source.xhtml#l00199">FoldPadIntoLayer2d.hpp:199</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a86d19da62b6cfed3928f6fe7026f22fa"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a86d19da62b6cfed3928f6fe7026f22fa">armnn::optimizations::Fp32NetworkToFp16Converter</a></div><div class="ttdeci">OptimizeForType< Layer, ConvertFp32NetworkToFp16Impl > Fp32NetworkToFp16Converter</div><div class="ttdef"><b>Definition:</b> <a href="_convert_fp32_network_to_fp16_8hpp_source.xhtml#l00087">ConvertFp32NetworkToFp16.hpp:87</a></div></div> +<div class="ttc" id="namespacearmnn_xhtml_a86541d11fcad5246a78cbc21d637a504"><div class="ttname"><a href="namespacearmnn.xhtml#a86541d11fcad5246a78cbc21d637a504">armnn::SelectTensorHandleStrategy</a></div><div class="ttdeci">OptimizationResult SelectTensorHandleStrategy(Graph &optGraph, BackendsMap &backends, TensorHandleFactoryRegistry &registry, bool importEnabled, Optional< std::vector< std::string > &> errMessages)</div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.xhtml#l01500">Network.cpp:1500</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_a4fc55afb4885278ad1510b2c4307af76"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#a4fc55afb4885278ad1510b2c4307af76">armnn::optimizations::AddBroadcastReshapeLayer</a></div><div class="ttdeci">OptimizeForType< Layer, AddBroadcastReshapeLayerImpl > AddBroadcastReshapeLayer</div><div class="ttdef"><b>Definition:</b> <a href="_add_broadcast_reshape_layer_8hpp_source.xhtml#l00093">AddBroadcastReshapeLayer.hpp:93</a></div></div> +<div class="ttc" id="classarmnn_1_1_i_optimized_network_xhtml_a58ee539cf95c1e99fe4f54ef6e8bbd05"><div class="ttname"><a href="classarmnn_1_1_i_optimized_network.xhtml#a58ee539cf95c1e99fe4f54ef6e8bbd05">armnn::IOptimizedNetwork::Destroy</a></div><div class="ttdeci">static void Destroy(IOptimizedNetwork *network)</div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.xhtml#l00551">Network.cpp:551</a></div></div> +<div class="ttc" id="namespacearmnn_1_1optimizations_xhtml_aeb70f8fcf5180bdd5c94be7bb2f9d176"><div class="ttname"><a href="namespacearmnn_1_1optimizations.xhtml#aeb70f8fcf5180bdd5c94be7bb2f9d176">armnn::optimizations::Fp32NetworkToBf16Converter</a></div><div class="ttdeci">OptimizeForType< Layer, ConvertFp32NetworkToBf16Impl > Fp32NetworkToBf16Converter</div><div class="ttdef"><b>Definition:</b> <a href="_convert_fp32_network_to_bf16_8hpp_source.xhtml#l00076">ConvertFp32NetworkToBf16.hpp:76</a></div></div> +<div class="ttc" id="namespacearmnn_xhtml_a9173495a61a0092b5f38b855f02c3585"><div class="ttname"><a href="namespacearmnn.xhtml#a9173495a61a0092b5f38b855f02c3585">armnn::BackendsMap</a></div><div class="ttdeci">std::map< BackendId, std::unique_ptr< class IBackendInternal > > BackendsMap</div><div class="ttdef"><b>Definition:</b> <a href="_network_8hpp_source.xhtml#l00317">Network.hpp:317</a></div></div> +</div><!-- fragment --> +</div> +</div> +<h2 class="groupheader">Member Data Documentation</h2> +<a id="a374d52340ec8dc02a819acc20fb5aa92"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a374d52340ec8dc02a819acc20fb5aa92">◆ </a></span>pOptimizedNetworkImpl</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">std::unique_ptr<<a class="el" href="classarmnn_1_1_optimized_network_impl.xhtml">OptimizedNetworkImpl</a>> pOptimizedNetworkImpl</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">protected</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_i_network_8hpp_source.xhtml#l00750">750</a> of file <a class="el" href="_i_network_8hpp_source.xhtml">INetwork.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_test_utils_8cpp_source.xhtml#l00025">armnn::GetGraphForTesting()</a>, <a class="el" href="_network_8cpp_source.xhtml#l00566">IOptimizedNetwork::GetGuid()</a>, <a class="el" href="_test_utils_8cpp_source.xhtml#l00030">armnn::GetModelOptionsForTesting()</a>, <a class="el" href="_network_8cpp_source.xhtml#l01568">armnn::Optimize()</a>, <a class="el" href="_network_8cpp_source.xhtml#l00556">IOptimizedNetwork::PrintGraph()</a>, and <a class="el" href="_network_8cpp_source.xhtml#l00561">IOptimizedNetwork::SerializeToDot()</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following files:<ul> +<li>include/armnn/<a class="el" href="_i_network_8hpp_source.xhtml">INetwork.hpp</a></li> +<li>src/armnn/<a class="el" href="_network_8cpp_source.xhtml">Network.cpp</a></li> +</ul> +</div><!-- contents --> +</div><!-- doc-content --> +<!-- start footer part --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="navelem"><a class="el" href="namespacearmnn.xhtml">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_i_optimized_network.xhtml">IOptimizedNetwork</a></li> + <li class="footer">Generated on Mon May 10 2021 16:39:55 for ArmNN by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li> + </ul> +</div> +</body> +</html> |