blob: 3acf0e61431558cdeebfd5bbc0bc4365adcb444f [file] [log] [blame]
Ryan OSheade36e4a2020-03-13 16:26:19 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.13"/>
7<meta name="viewport" content="width=device-width, initial-scale=1"/>
8<title>ArmNN: Network Class Reference</title>
9<link href="tabs.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="dynsections.js"></script>
12<link href="navtree.css" rel="stylesheet" type="text/css"/>
13<script type="text/javascript" src="resize.js"></script>
14<script type="text/javascript" src="navtreedata.js"></script>
15<script type="text/javascript" src="navtree.js"></script>
16<script type="text/javascript">
17 $(document).ready(initResizable);
18</script>
19<link href="search/search.css" rel="stylesheet" type="text/css"/>
20<script type="text/javascript" src="search/searchdata.js"></script>
21<script type="text/javascript" src="search/search.js"></script>
22<link href="doxygen.css" rel="stylesheet" type="text/css" />
23</head>
24<body>
25<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
26<div id="titlearea">
27<table cellspacing="0" cellpadding="0">
28 <tbody>
29 <tr style="height: 56px;">
30 <td id="projectalign" style="padding-left: 0.5em;">
31 <div id="projectname">ArmNN
32 &#160;<span id="projectnumber">NotReleased</span>
33 </div>
34 </td>
35 </tr>
36 </tbody>
37</table>
38</div>
39<!-- end header part -->
40<!-- Generated by Doxygen 1.8.13 -->
41<script type="text/javascript">
42var searchBox = new SearchBox("searchBox", "search",false,'Search');
43</script>
44<script type="text/javascript" src="menudata.js"></script>
45<script type="text/javascript" src="menu.js"></script>
46<script type="text/javascript">
47$(function() {
48 initMenu('',true,false,'search.php','Search');
49 $(document).ready(function() { init_search(); });
50});
51</script>
52<div id="main-nav"></div>
53</div><!-- top -->
54<div id="side-nav" class="ui-resizable side-nav-resizable">
55 <div id="nav-tree">
56 <div id="nav-tree-contents">
57 <div id="nav-sync" class="sync"></div>
58 </div>
59 </div>
60 <div id="splitbar" style="-moz-user-select:none;"
61 class="ui-resizable-handle">
62 </div>
63</div>
64<script type="text/javascript">
65$(document).ready(function(){initNavTree('classarmnn_1_1_network.html','');});
66</script>
67<div id="doc-content">
68<!-- window showing the filter options -->
69<div id="MSearchSelectWindow"
70 onmouseover="return searchBox.OnSearchSelectShow()"
71 onmouseout="return searchBox.OnSearchSelectHide()"
72 onkeydown="return searchBox.OnSearchSelectKey(event)">
73</div>
74
75<!-- iframe showing the search results (closed by default) -->
76<div id="MSearchResultsWindow">
77<iframe src="javascript:void(0)" frameborder="0"
78 name="MSearchResults" id="MSearchResults">
79</iframe>
80</div>
81
82<div class="header">
83 <div class="summary">
84<a href="#pub-methods">Public Member Functions</a> &#124;
85<a href="classarmnn_1_1_network-members.html">List of all members</a> </div>
86 <div class="headertitle">
87<div class="title">Network Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div> </div>
88</div><!--header-->
89<div class="contents">
90
91<p>Private implementation of <a class="el" href="classarmnn_1_1_i_network.html">INetwork</a>.
92 <a href="classarmnn_1_1_network.html#details">More...</a></p>
93
94<p><code>#include &lt;<a class="el" href="_network_8hpp_source.html">Network.hpp</a>&gt;</code></p>
95<div class="dynheader">
96Inheritance diagram for Network:</div>
97<div class="dyncontent">
98 <div class="center">
99 <img src="classarmnn_1_1_network.png" usemap="#Network_map" alt=""/>
100 <map id="Network_map" name="Network_map">
101<area href="classarmnn_1_1_i_network.html" alt="INetwork" shape="rect" coords="0,0,61,24"/>
102</map>
103 </div></div>
104<table class="memberdecls">
105<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
106Public Member Functions</h2></td></tr>
107<tr class="memitem:a5f56923e4eac55c8c08d72599b0a0d41"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a5f56923e4eac55c8c08d72599b0a0d41">Network</a> ()</td></tr>
108<tr class="separator:a5f56923e4eac55c8c08d72599b0a0d41"><td class="memSeparator" colspan="2">&#160;</td></tr>
109<tr class="memitem:ac9062f3da8a725626fd7e7bd27449220"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#ac9062f3da8a725626fd7e7bd27449220">~Network</a> ()</td></tr>
110<tr class="separator:ac9062f3da8a725626fd7e7bd27449220"><td class="memSeparator" colspan="2">&#160;</td></tr>
111<tr class="memitem:afe0a4f719f9752a405e71878da7012ba"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_graph.html">Graph</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#afe0a4f719f9752a405e71878da7012ba">GetGraph</a> () const</td></tr>
112<tr class="separator:afe0a4f719f9752a405e71878da7012ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
113<tr class="memitem:a9aa1b214fcaec2371fe4226bd126fb73"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a9aa1b214fcaec2371fe4226bd126fb73">PrintGraph</a> () override</td></tr>
114<tr class="separator:a9aa1b214fcaec2371fe4226bd126fb73"><td class="memSeparator" colspan="2">&#160;</td></tr>
115<tr class="memitem:a29c2c6dd77c6fe10674fc6876751cbce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1profiling_1_1_profiling_guid.html">profiling::ProfilingGuid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a29c2c6dd77c6fe10674fc6876751cbce">GetGuid</a> () const final</td></tr>
116<tr class="separator:a29c2c6dd77c6fe10674fc6876751cbce"><td class="memSeparator" colspan="2">&#160;</td></tr>
117<tr class="memitem:a90d8841cfbbc82ab02328f33fed24ac6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a90d8841cfbbc82ab02328f33fed24ac6">AddInputLayer</a> (<a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a> id, const char *name=nullptr) override</td></tr>
118<tr class="separator:a90d8841cfbbc82ab02328f33fed24ac6"><td class="memSeparator" colspan="2">&#160;</td></tr>
119<tr class="memitem:a40d7cd9d061c23405392f7c513849a2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a40d7cd9d061c23405392f7c513849a2f">AddArgMinMaxLayer</a> (const <a class="el" href="structarmnn_1_1_arg_min_max_descriptor.html">ArgMinMaxDescriptor</a> &amp;desc, const char *name=nullptr) override</td></tr>
120<tr class="separator:a40d7cd9d061c23405392f7c513849a2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
121<tr class="memitem:a1a3c9903dcd90a7f40d8aca0c339501f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a1a3c9903dcd90a7f40d8aca0c339501f">AddBatchToSpaceNdLayer</a> (const <a class="el" href="structarmnn_1_1_batch_to_space_nd_descriptor.html">BatchToSpaceNdDescriptor</a> &amp;batchToSpaceNdDescriptor, const char *name=nullptr) override</td></tr>
122<tr class="separator:a1a3c9903dcd90a7f40d8aca0c339501f"><td class="memSeparator" colspan="2">&#160;</td></tr>
123<tr class="memitem:a52fab7cec34e1fa77df68503e0c0ce59"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a52fab7cec34e1fa77df68503e0c0ce59">AddComparisonLayer</a> (const <a class="el" href="structarmnn_1_1_comparison_descriptor.html">ComparisonDescriptor</a> &amp;comparisonDescriptor, const char *name=nullptr) override</td></tr>
124<tr class="separator:a52fab7cec34e1fa77df68503e0c0ce59"><td class="memSeparator" colspan="2">&#160;</td></tr>
125<tr class="memitem:a7b0396c132c4da95e80b210f9b6734e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a7b0396c132c4da95e80b210f9b6734e9">AddConcatLayer</a> (const <a class="el" href="namespacearmnn.html#a7863c179ff92feec660c48ab7b95ae55">ConcatDescriptor</a> &amp;concatDescriptor, const char *name=nullptr) override</td></tr>
126<tr class="separator:a7b0396c132c4da95e80b210f9b6734e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
127<tr class="memitem:a865189c08aa64d448d05efc92a43725a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a865189c08aa64d448d05efc92a43725a">AddConvolution2dLayer</a> (const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.html">Convolution2dDescriptor</a> &amp;convolution2dDescriptor, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;weights, const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;biases, const char *name=nullptr) override</td></tr>
128<tr class="separator:a865189c08aa64d448d05efc92a43725a"><td class="memSeparator" colspan="2">&#160;</td></tr>
129<tr class="memitem:a672c0f6fdd479311818f7efbac694042"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a672c0f6fdd479311818f7efbac694042">AddConvolution2dLayer</a> (const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.html">Convolution2dDescriptor</a> &amp;convolution2dDescriptor, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;weights, const char *name=nullptr) override</td></tr>
130<tr class="separator:a672c0f6fdd479311818f7efbac694042"><td class="memSeparator" colspan="2">&#160;</td></tr>
131<tr class="memitem:a1100ef86ba46e5c43aff78db7a82f049"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a1100ef86ba46e5c43aff78db7a82f049">AddConvolution2dLayer</a> (const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.html">Convolution2dDescriptor</a> &amp;convolution2dDescriptor, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;weights, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;biases, const char *name=nullptr) override</td></tr>
132<tr class="separator:a1100ef86ba46e5c43aff78db7a82f049"><td class="memSeparator" colspan="2">&#160;</td></tr>
133<tr class="memitem:a59e55a0755a655a809520738c697334f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a59e55a0755a655a809520738c697334f">AddDepthToSpaceLayer</a> (const <a class="el" href="namespacearmnn.html#a3647f60510bc8ddaced01c51b0ee8714">DepthToSpaceDescriptor</a> &amp;depthToSpaceDescriptor, const char *name=nullptr) override</td></tr>
134<tr class="separator:a59e55a0755a655a809520738c697334f"><td class="memSeparator" colspan="2">&#160;</td></tr>
135<tr class="memitem:a1add5219a64f4249a282f52202828451"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a1add5219a64f4249a282f52202828451">AddDepthwiseConvolution2dLayer</a> (const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html">DepthwiseConvolution2dDescriptor</a> &amp;convolution2dDescriptor, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;weights, const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;biases, const char *name=nullptr) override</td></tr>
136<tr class="separator:a1add5219a64f4249a282f52202828451"><td class="memSeparator" colspan="2">&#160;</td></tr>
137<tr class="memitem:ab192233990fa6525e30cfbe5a4701e2a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#ab192233990fa6525e30cfbe5a4701e2a">AddDepthwiseConvolution2dLayer</a> (const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html">DepthwiseConvolution2dDescriptor</a> &amp;convolution2dDescriptor, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;weights, const char *name=nullptr) override</td></tr>
138<tr class="separator:ab192233990fa6525e30cfbe5a4701e2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
139<tr class="memitem:a37b53840117ba4159bd7c033bd18d281"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a37b53840117ba4159bd7c033bd18d281">AddDepthwiseConvolution2dLayer</a> (const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html">DepthwiseConvolution2dDescriptor</a> &amp;convolution2dDescriptor, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;weights, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;biases, const char *name=nullptr) override</td></tr>
140<tr class="separator:a37b53840117ba4159bd7c033bd18d281"><td class="memSeparator" colspan="2">&#160;</td></tr>
141<tr class="memitem:a224ea587dd10d2aa0d019be5c9de4b89"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a224ea587dd10d2aa0d019be5c9de4b89">AddDequantizeLayer</a> (const char *name=nullptr) override</td></tr>
142<tr class="separator:a224ea587dd10d2aa0d019be5c9de4b89"><td class="memSeparator" colspan="2">&#160;</td></tr>
143<tr class="memitem:a52cc1e062595108da0dfef4b200dabd7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a52cc1e062595108da0dfef4b200dabd7">AddDetectionPostProcessLayer</a> (const <a class="el" href="structarmnn_1_1_detection_post_process_descriptor.html">DetectionPostProcessDescriptor</a> &amp;descriptor, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;<a class="el" href="_neon_end_to_end_tests_8cpp.html#ac0981848e4ae57729f14f72bd4caa9f8">anchors</a>, const char *name=nullptr) override</td></tr>
144<tr class="separator:a52cc1e062595108da0dfef4b200dabd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
145<tr class="memitem:a99093f440e7e0ba4c8dcc90c3ec8cf4d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a99093f440e7e0ba4c8dcc90c3ec8cf4d">AddElementwiseUnaryLayer</a> (const <a class="el" href="structarmnn_1_1_elementwise_unary_descriptor.html">ElementwiseUnaryDescriptor</a> &amp;elementwiseUnaryDescriptor, const char *name=nullptr) override</td></tr>
146<tr class="separator:a99093f440e7e0ba4c8dcc90c3ec8cf4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
147<tr class="memitem:a80dc86e975ff991ef63aa8b523d4fcdf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a80dc86e975ff991ef63aa8b523d4fcdf">AddFullyConnectedLayer</a> (const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.html">FullyConnectedDescriptor</a> &amp;fullyConnectedDescriptor, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;weights, const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;biases, const char *name=nullptr) override</td></tr>
148<tr class="separator:a80dc86e975ff991ef63aa8b523d4fcdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
149<tr class="memitem:a65835b534db6a10d91e2096952fcf7d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a65835b534db6a10d91e2096952fcf7d7">AddFullyConnectedLayer</a> (const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.html">FullyConnectedDescriptor</a> &amp;fullyConnectedDescriptor, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;weights, const char *name=nullptr) override</td></tr>
150<tr class="separator:a65835b534db6a10d91e2096952fcf7d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
151<tr class="memitem:a1d28c2b5a3c3c73eb3c4f9f6112bde94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a1d28c2b5a3c3c73eb3c4f9f6112bde94">AddFullyConnectedLayer</a> (const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.html">FullyConnectedDescriptor</a> &amp;fullyConnectedDescriptor, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;weights, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;biases, const char *name=nullptr) override</td></tr>
152<tr class="separator:a1d28c2b5a3c3c73eb3c4f9f6112bde94"><td class="memSeparator" colspan="2">&#160;</td></tr>
153<tr class="memitem:ac3d4632a58d626521765246bbfdeadcf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#ac3d4632a58d626521765246bbfdeadcf">AddGatherLayer</a> (const char *name=nullptr) override</td></tr>
154<tr class="separator:ac3d4632a58d626521765246bbfdeadcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
155<tr class="memitem:aff9921f194908a3c35015de701723234"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#aff9921f194908a3c35015de701723234">AddPermuteLayer</a> (const <a class="el" href="structarmnn_1_1_permute_descriptor.html">PermuteDescriptor</a> &amp;permuteDescriptor, const char *name=nullptr) override</td></tr>
156<tr class="separator:aff9921f194908a3c35015de701723234"><td class="memSeparator" colspan="2">&#160;</td></tr>
157<tr class="memitem:ab8b4e22c47ae0b0f259de353e760a4bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#ab8b4e22c47ae0b0f259de353e760a4bf">AddPooling2dLayer</a> (const <a class="el" href="structarmnn_1_1_pooling2d_descriptor.html">Pooling2dDescriptor</a> &amp;pooling2dDescriptor, const char *name=nullptr) override</td></tr>
158<tr class="separator:ab8b4e22c47ae0b0f259de353e760a4bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
159<tr class="memitem:a36a40a1209689f39a5a283209991da3c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a36a40a1209689f39a5a283209991da3c">AddActivationLayer</a> (const <a class="el" href="structarmnn_1_1_activation_descriptor.html">ActivationDescriptor</a> &amp;activationDescriptor, const char *name=nullptr) override</td></tr>
160<tr class="separator:a36a40a1209689f39a5a283209991da3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
161<tr class="memitem:a942922c1213c451e3286fb5cd31c6499"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a942922c1213c451e3286fb5cd31c6499">AddNormalizationLayer</a> (const <a class="el" href="structarmnn_1_1_normalization_descriptor.html">NormalizationDescriptor</a> &amp;normalizationDescriptor, const char *name=nullptr) override</td></tr>
162<tr class="separator:a942922c1213c451e3286fb5cd31c6499"><td class="memSeparator" colspan="2">&#160;</td></tr>
163<tr class="memitem:ad445d732cda17f0a552fa916f59fed8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#ad445d732cda17f0a552fa916f59fed8d">AddSliceLayer</a> (const <a class="el" href="structarmnn_1_1_slice_descriptor.html">SliceDescriptor</a> &amp;sliceDescriptor, const char *name=nullptr) override</td></tr>
164<tr class="separator:ad445d732cda17f0a552fa916f59fed8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
165<tr class="memitem:a8b1fbac089170c35fcb98d7012859428"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a8b1fbac089170c35fcb98d7012859428">AddSoftmaxLayer</a> (const <a class="el" href="structarmnn_1_1_softmax_descriptor.html">SoftmaxDescriptor</a> &amp;softmaxDescriptor, const char *name=nullptr) override</td></tr>
166<tr class="separator:a8b1fbac089170c35fcb98d7012859428"><td class="memSeparator" colspan="2">&#160;</td></tr>
167<tr class="memitem:acb8e86be339d57b32f0ba3d9293c880b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#acb8e86be339d57b32f0ba3d9293c880b">AddSplitterLayer</a> (const <a class="el" href="structarmnn_1_1_views_descriptor.html">ViewsDescriptor</a> &amp;splitterDescriptor, const char *name=nullptr) override</td></tr>
168<tr class="separator:acb8e86be339d57b32f0ba3d9293c880b"><td class="memSeparator" colspan="2">&#160;</td></tr>
169<tr class="memitem:ac9758a0b2749095fd2a7ac152ff8fd49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#ac9758a0b2749095fd2a7ac152ff8fd49">AddMergerLayer</a> (const <a class="el" href="namespacearmnn.html#a003d213dd28b0b8c0f26fbf268ccb975">MergerDescriptor</a> &amp;mergerDescriptor, const char *name=nullptr) override</td></tr>
170<tr class="separator:ac9758a0b2749095fd2a7ac152ff8fd49"><td class="memSeparator" colspan="2">&#160;</td></tr>
171<tr class="memitem:abf67dfbce354d772111fc5e5d4cd850d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#abf67dfbce354d772111fc5e5d4cd850d">AddAbsLayer</a> (const char *name=nullptr) override</td></tr>
172<tr class="separator:abf67dfbce354d772111fc5e5d4cd850d"><td class="memSeparator" colspan="2">&#160;</td></tr>
173<tr class="memitem:adb60c75544796e23d7abc1ce0476f6d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#adb60c75544796e23d7abc1ce0476f6d9">AddAdditionLayer</a> (const char *name=nullptr) override</td></tr>
174<tr class="separator:adb60c75544796e23d7abc1ce0476f6d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
175<tr class="memitem:a6e6cb8fd00cb855c4f0d93c4a7a2bde2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a6e6cb8fd00cb855c4f0d93c4a7a2bde2">AddMultiplicationLayer</a> (const char *name=nullptr) override</td></tr>
176<tr class="separator:a6e6cb8fd00cb855c4f0d93c4a7a2bde2"><td class="memSeparator" colspan="2">&#160;</td></tr>
177<tr class="memitem:abd4965a5d1d28a91b975e6b0eef024c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#abd4965a5d1d28a91b975e6b0eef024c8">AddBatchNormalizationLayer</a> (const <a class="el" href="structarmnn_1_1_batch_normalization_descriptor.html">BatchNormalizationDescriptor</a> &amp;desc, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;mean, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;variance, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;beta, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;gamma, const char *name=nullptr) override</td></tr>
178<tr class="separator:abd4965a5d1d28a91b975e6b0eef024c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
179<tr class="memitem:acae7df585b6c920cecd8065f0e16ff9b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#acae7df585b6c920cecd8065f0e16ff9b">AddResizeBilinearLayer</a> (const <a class="el" href="structarmnn_1_1_resize_bilinear_descriptor.html">ResizeBilinearDescriptor</a> &amp;resizeDesc, const char *name=nullptr) override</td></tr>
180<tr class="separator:acae7df585b6c920cecd8065f0e16ff9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
181<tr class="memitem:aa1ee88eebe67898c50a4ca259de49bbc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#aa1ee88eebe67898c50a4ca259de49bbc">AddResizeLayer</a> (const <a class="el" href="structarmnn_1_1_resize_descriptor.html">ResizeDescriptor</a> &amp;resizeDescriptor, const char *name=nullptr) override</td></tr>
182<tr class="separator:aa1ee88eebe67898c50a4ca259de49bbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
183<tr class="memitem:a98fef92a93b7a51ce6755dae02bb0cd4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a98fef92a93b7a51ce6755dae02bb0cd4">AddInstanceNormalizationLayer</a> (const <a class="el" href="structarmnn_1_1_instance_normalization_descriptor.html">InstanceNormalizationDescriptor</a> &amp;desc, const char *name=nullptr) override</td></tr>
184<tr class="separator:a98fef92a93b7a51ce6755dae02bb0cd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
185<tr class="memitem:acce5b3272c9da9cb4201b437dd96a729"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#acce5b3272c9da9cb4201b437dd96a729">AddL2NormalizationLayer</a> (const <a class="el" href="structarmnn_1_1_l2_normalization_descriptor.html">L2NormalizationDescriptor</a> &amp;desc, const char *name=nullptr) override</td></tr>
186<tr class="separator:acce5b3272c9da9cb4201b437dd96a729"><td class="memSeparator" colspan="2">&#160;</td></tr>
187<tr class="memitem:a4c47466a95f61c321f525b06fc87b2c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a4c47466a95f61c321f525b06fc87b2c5">AddLogSoftmaxLayer</a> (const <a class="el" href="namespacearmnn.html#ac14705405cbcdd580df613de6766fe65">LogSoftmaxDescriptor</a> &amp;logSoftmaxDescriptor, const char *name=nullptr) override</td></tr>
188<tr class="separator:a4c47466a95f61c321f525b06fc87b2c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
189<tr class="memitem:a8b2e7eb34ad5aacda72260f77fd880ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a8b2e7eb34ad5aacda72260f77fd880ce">AddConstantLayer</a> (const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;input, const char *name=nullptr) override</td></tr>
190<tr class="separator:a8b2e7eb34ad5aacda72260f77fd880ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
191<tr class="memitem:a09774b1c2b882e1d573dc507479805b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a09774b1c2b882e1d573dc507479805b6">AddReshapeLayer</a> (const <a class="el" href="structarmnn_1_1_reshape_descriptor.html">ReshapeDescriptor</a> &amp;reshapeDescriptor, const char *name=nullptr) override</td></tr>
192<tr class="separator:a09774b1c2b882e1d573dc507479805b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
193<tr class="memitem:a9e234ae3b84213cb9fce636cfc2302bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a9e234ae3b84213cb9fce636cfc2302bb">AddSpaceToBatchNdLayer</a> (const <a class="el" href="structarmnn_1_1_space_to_batch_nd_descriptor.html">SpaceToBatchNdDescriptor</a> &amp;spaceToBatchNdDescriptor, const char *name=nullptr) override</td></tr>
194<tr class="separator:a9e234ae3b84213cb9fce636cfc2302bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
195<tr class="memitem:afa43cbc86ae43ce6ee468347b30229c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#afa43cbc86ae43ce6ee468347b30229c4">AddSpaceToDepthLayer</a> (const <a class="el" href="structarmnn_1_1_space_to_depth_descriptor.html">SpaceToDepthDescriptor</a> &amp;spaceToDepthDescriptor, const char *name=nullptr) override</td></tr>
196<tr class="separator:afa43cbc86ae43ce6ee468347b30229c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
197<tr class="memitem:a7b9879b0da1f561d10e4f5c545028143"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a7b9879b0da1f561d10e4f5c545028143">AddFloorLayer</a> (const char *name=nullptr) override</td></tr>
198<tr class="separator:a7b9879b0da1f561d10e4f5c545028143"><td class="memSeparator" colspan="2">&#160;</td></tr>
199<tr class="memitem:ad55ff20f4c7e60c18b849e61f28f0e2e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#ad55ff20f4c7e60c18b849e61f28f0e2e">AddOutputLayer</a> (<a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a> id, const char *name=nullptr) override</td></tr>
200<tr class="separator:ad55ff20f4c7e60c18b849e61f28f0e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
201<tr class="memitem:ab1569dbf88b6511bde91bee3224a558c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#ab1569dbf88b6511bde91bee3224a558c">AddLstmLayer</a> (const <a class="el" href="structarmnn_1_1_lstm_descriptor.html">LstmDescriptor</a> &amp;descriptor, const <a class="el" href="structarmnn_1_1_lstm_input_params.html">LstmInputParams</a> &amp;params, const char *name=nullptr) override</td></tr>
202<tr class="separator:ab1569dbf88b6511bde91bee3224a558c"><td class="memSeparator" colspan="2">&#160;</td></tr>
203<tr class="memitem:a47d30afdd251fef00a59d2234cca0020"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a47d30afdd251fef00a59d2234cca0020">AddDivisionLayer</a> (const char *name=nullptr) override</td></tr>
204<tr class="separator:a47d30afdd251fef00a59d2234cca0020"><td class="memSeparator" colspan="2">&#160;</td></tr>
205<tr class="memitem:a59a557b3b913730cf1153f1337a64496"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a59a557b3b913730cf1153f1337a64496">AddSubtractionLayer</a> (const char *name=nullptr) override</td></tr>
206<tr class="separator:a59a557b3b913730cf1153f1337a64496"><td class="memSeparator" colspan="2">&#160;</td></tr>
207<tr class="memitem:a10c7356df73267c2acf3248465d5954b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a10c7356df73267c2acf3248465d5954b">AddMaximumLayer</a> (const char *name=nullptr) override</td></tr>
208<tr class="separator:a10c7356df73267c2acf3248465d5954b"><td class="memSeparator" colspan="2">&#160;</td></tr>
209<tr class="memitem:a06632621d4259f7ef2aadb03cc08e993"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a06632621d4259f7ef2aadb03cc08e993">AddMeanLayer</a> (const <a class="el" href="structarmnn_1_1_mean_descriptor.html">MeanDescriptor</a> &amp;meanDescriptor, const char *name=nullptr) override</td></tr>
210<tr class="separator:a06632621d4259f7ef2aadb03cc08e993"><td class="memSeparator" colspan="2">&#160;</td></tr>
211<tr class="memitem:a7d7934b6f0d8d4ae7749875397d724fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a7d7934b6f0d8d4ae7749875397d724fc">AddPadLayer</a> (const <a class="el" href="structarmnn_1_1_pad_descriptor.html">PadDescriptor</a> &amp;padDescriptor, const char *name=nullptr) override</td></tr>
212<tr class="separator:a7d7934b6f0d8d4ae7749875397d724fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
213<tr class="memitem:a4d008f554108aaee4c2c769dcdde685f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a4d008f554108aaee4c2c769dcdde685f">AddQuantizeLayer</a> (const char *name=nullptr) override</td></tr>
214<tr class="separator:a4d008f554108aaee4c2c769dcdde685f"><td class="memSeparator" colspan="2">&#160;</td></tr>
215<tr class="memitem:a9bf4cfcac428b1331ff83c45f1166665"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a9bf4cfcac428b1331ff83c45f1166665">AddStridedSliceLayer</a> (const <a class="el" href="structarmnn_1_1_strided_slice_descriptor.html">StridedSliceDescriptor</a> &amp;stridedSliceDescriptor, const char *name=nullptr) override</td></tr>
216<tr class="separator:a9bf4cfcac428b1331ff83c45f1166665"><td class="memSeparator" colspan="2">&#160;</td></tr>
217<tr class="memitem:add39cd8a51e34c532fb56cf313703844"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#add39cd8a51e34c532fb56cf313703844">AddMinimumLayer</a> (const char *name=nullptr) override</td></tr>
218<tr class="separator:add39cd8a51e34c532fb56cf313703844"><td class="memSeparator" colspan="2">&#160;</td></tr>
219<tr class="memitem:aad4a7bebcdaeeea663429cbd47b2917e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#aad4a7bebcdaeeea663429cbd47b2917e">AddGreaterLayer</a> (const char *name=nullptr) override</td></tr>
220<tr class="separator:aad4a7bebcdaeeea663429cbd47b2917e"><td class="memSeparator" colspan="2">&#160;</td></tr>
221<tr class="memitem:a9062eab56f601adeae8229fd8759fbd7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a9062eab56f601adeae8229fd8759fbd7">AddEqualLayer</a> (const char *name=nullptr) override</td></tr>
222<tr class="separator:a9062eab56f601adeae8229fd8759fbd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
223<tr class="memitem:ac107b7e1d91f17f2023ea9ed113f559c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#ac107b7e1d91f17f2023ea9ed113f559c">AddRsqrtLayer</a> (const char *name=nullptr) override</td></tr>
224<tr class="separator:ac107b7e1d91f17f2023ea9ed113f559c"><td class="memSeparator" colspan="2">&#160;</td></tr>
225<tr class="memitem:a679d1dd7ae79631ba09c642a7b25158a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a679d1dd7ae79631ba09c642a7b25158a">AddMergeLayer</a> (const char *name=nullptr) override</td></tr>
226<tr class="separator:a679d1dd7ae79631ba09c642a7b25158a"><td class="memSeparator" colspan="2">&#160;</td></tr>
227<tr class="memitem:a48a6892297a07e5d87020b9b817e2224"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a48a6892297a07e5d87020b9b817e2224">AddSwitchLayer</a> (const char *name=nullptr) override</td></tr>
228<tr class="separator:a48a6892297a07e5d87020b9b817e2224"><td class="memSeparator" colspan="2">&#160;</td></tr>
229<tr class="memitem:ae00badf3bdad170348706604b7e6c694"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#ae00badf3bdad170348706604b7e6c694">AddPreluLayer</a> (const char *name=nullptr) override</td></tr>
230<tr class="separator:ae00badf3bdad170348706604b7e6c694"><td class="memSeparator" colspan="2">&#160;</td></tr>
231<tr class="memitem:a59f6284064bfe8f2fbdb997fc3b65586"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a59f6284064bfe8f2fbdb997fc3b65586">AddTransposeConvolution2dLayer</a> (const <a class="el" href="structarmnn_1_1_transpose_convolution2d_descriptor.html">TransposeConvolution2dDescriptor</a> &amp;descriptor, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;weights, const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;biases, const char *name=nullptr) override</td></tr>
232<tr class="separator:a59f6284064bfe8f2fbdb997fc3b65586"><td class="memSeparator" colspan="2">&#160;</td></tr>
233<tr class="memitem:a204e14633b366322221f04c76ed275e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a204e14633b366322221f04c76ed275e3">AddStackLayer</a> (const <a class="el" href="structarmnn_1_1_stack_descriptor.html">StackDescriptor</a> &amp;stackDescriptor, const char *name=nullptr) override</td></tr>
234<tr class="separator:a204e14633b366322221f04c76ed275e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
235<tr class="memitem:a18aea8e0700f679353afb0a0cb9e0c84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a18aea8e0700f679353afb0a0cb9e0c84">AddStandInLayer</a> (const <a class="el" href="structarmnn_1_1_stand_in_descriptor.html">StandInDescriptor</a> &amp;descriptor, const char *name=nullptr) override</td></tr>
236<tr class="separator:a18aea8e0700f679353afb0a0cb9e0c84"><td class="memSeparator" colspan="2">&#160;</td></tr>
237<tr class="memitem:a6a6657fdd77cabea7a9e0a740635735e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a6a6657fdd77cabea7a9e0a740635735e">AddQuantizedLstmLayer</a> (const <a class="el" href="structarmnn_1_1_quantized_lstm_input_params.html">QuantizedLstmInputParams</a> &amp;params, const char *name=nullptr) override</td></tr>
238<tr class="separator:a6a6657fdd77cabea7a9e0a740635735e"><td class="memSeparator" colspan="2">&#160;</td></tr>
239<tr class="memitem:a75a50f464326fefa605ea84ae2c9be85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_network.html#a75a50f464326fefa605ea84ae2c9be85">Accept</a> (<a class="el" href="classarmnn_1_1_i_layer_visitor.html">ILayerVisitor</a> &amp;visitor) const override</td></tr>
240<tr class="separator:a75a50f464326fefa605ea84ae2c9be85"><td class="memSeparator" colspan="2">&#160;</td></tr>
241</table><table class="memberdecls">
242<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
243Additional Inherited Members</h2></td></tr>
244<tr class="inherit_header pub_static_methods_classarmnn_1_1_i_network"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classarmnn_1_1_i_network')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classarmnn_1_1_i_network.html">INetwork</a></td></tr>
245<tr class="memitem:a1ca931603a06e926ca359e52890a6fea inherit pub_static_methods_classarmnn_1_1_i_network"><td class="memItemLeft" align="right" valign="top">static <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_i_network.html#a1ca931603a06e926ca359e52890a6fea">CreateRaw</a> ()</td></tr>
246<tr class="separator:a1ca931603a06e926ca359e52890a6fea inherit pub_static_methods_classarmnn_1_1_i_network"><td class="memSeparator" colspan="2">&#160;</td></tr>
247<tr class="memitem:a706f7345af3f18f4b16e226a672214c6 inherit pub_static_methods_classarmnn_1_1_i_network"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacearmnn.html#ace74f6f9feb95a964a49d79458232703">INetworkPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_network.html#a706f7345af3f18f4b16e226a672214c6">Create</a> ()</td></tr>
248<tr class="separator:a706f7345af3f18f4b16e226a672214c6 inherit pub_static_methods_classarmnn_1_1_i_network"><td class="memSeparator" colspan="2">&#160;</td></tr>
249<tr class="memitem:a55bd1bb29076dc45bb335e7322781463 inherit pub_static_methods_classarmnn_1_1_i_network"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_network.html#a55bd1bb29076dc45bb335e7322781463">Destroy</a> (<a class="el" href="classarmnn_1_1_i_network.html">INetwork</a> *network)</td></tr>
250<tr class="separator:a55bd1bb29076dc45bb335e7322781463 inherit pub_static_methods_classarmnn_1_1_i_network"><td class="memSeparator" colspan="2">&#160;</td></tr>
251<tr class="inherit_header pro_methods_classarmnn_1_1_i_network"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classarmnn_1_1_i_network')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classarmnn_1_1_i_network.html">INetwork</a></td></tr>
252<tr class="memitem:af760179196d57e2ddbc64b989fb72586 inherit pro_methods_classarmnn_1_1_i_network"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_network.html#af760179196d57e2ddbc64b989fb72586">~INetwork</a> ()</td></tr>
253<tr class="separator:af760179196d57e2ddbc64b989fb72586 inherit pro_methods_classarmnn_1_1_i_network"><td class="memSeparator" colspan="2">&#160;</td></tr>
254</table>
255<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
256<div class="textblock"><p>Private implementation of <a class="el" href="classarmnn_1_1_i_network.html">INetwork</a>. </p>
257
258<p class="definition">Definition at line <a class="el" href="_network_8hpp_source.html#l00027">27</a> of file <a class="el" href="_network_8hpp_source.html">Network.hpp</a>.</p>
259</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
260<a id="a5f56923e4eac55c8c08d72599b0a0d41"></a>
261<h2 class="memtitle"><span class="permalink"><a href="#a5f56923e4eac55c8c08d72599b0a0d41">&#9670;&nbsp;</a></span>Network()</h2>
262
263<div class="memitem">
264<div class="memproto">
265 <table class="memname">
266 <tr>
267 <td class="memname"><a class="el" href="classarmnn_1_1_network.html">Network</a> </td>
268 <td>(</td>
269 <td class="paramname"></td><td>)</td>
270 <td></td>
271 </tr>
272 </table>
273</div><div class="memdoc">
274
275<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l00937">937</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
276<div class="fragment"><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160;: m_Graph(std::make_unique&lt;Graph&gt;()),</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; m_Guid(<a class="code" href="classarmnn_1_1profiling_1_1_profiling_service.html#a6d016886de3596fe67dbabf107168f97">profiling::ProfilingService::Instance</a>().NextGuid())</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160;{</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160;}</div><div class="ttc" id="classarmnn_1_1profiling_1_1_profiling_service_html_a6d016886de3596fe67dbabf107168f97"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_profiling_service.html#a6d016886de3596fe67dbabf107168f97">armnn::profiling::ProfilingService::Instance</a></div><div class="ttdeci">static ProfilingService &amp; Instance()</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_service_8hpp_source.html#l00052">ProfilingService.hpp:52</a></div></div>
277</div><!-- fragment -->
278</div>
279</div>
280<a id="ac9062f3da8a725626fd7e7bd27449220"></a>
281<h2 class="memtitle"><span class="permalink"><a href="#ac9062f3da8a725626fd7e7bd27449220">&#9670;&nbsp;</a></span>~Network()</h2>
282
283<div class="memitem">
284<div class="memproto">
285 <table class="memname">
286 <tr>
287 <td class="memname">~<a class="el" href="classarmnn_1_1_network.html">Network</a> </td>
288 <td>(</td>
289 <td class="paramname"></td><td>)</td>
290 <td></td>
291 </tr>
292 </table>
293</div><div class="memdoc">
294
295<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l00943">943</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
296<div class="fragment"><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160;{</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160;}</div></div><!-- fragment -->
297</div>
298</div>
299<h2 class="groupheader">Member Function Documentation</h2>
300<a id="a75a50f464326fefa605ea84ae2c9be85"></a>
301<h2 class="memtitle"><span class="permalink"><a href="#a75a50f464326fefa605ea84ae2c9be85">&#9670;&nbsp;</a></span>Accept()</h2>
302
303<div class="memitem">
304<div class="memproto">
305<table class="mlabels">
306 <tr>
307 <td class="mlabels-left">
308 <table class="memname">
309 <tr>
310 <td class="memname">void Accept </td>
311 <td>(</td>
312 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_layer_visitor.html">ILayerVisitor</a> &amp;&#160;</td>
313 <td class="paramname"><em>visitor</em></td><td>)</td>
314 <td> const</td>
315 </tr>
316 </table>
317 </td>
318 <td class="mlabels-right">
319<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
320 </tr>
321</table>
322</div><div class="memdoc">
323
324<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a8c9198a992b02e61a6777329d487dde3">INetwork</a>.</p>
325
326<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01580">1580</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
327
328<p class="reference">References <a class="el" href="_network_8hpp_source.html#l00033">Network::GetGraph()</a>.</p>
329
330<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
331<div class="fragment"><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;{</div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> layer : <a class="code" href="classarmnn_1_1_network.html#afe0a4f719f9752a405e71878da7012ba">GetGraph</a>())</div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160; {</div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160; layer-&gt;Accept(visitor);</div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160; };</div><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_network_html_afe0a4f719f9752a405e71878da7012ba"><div class="ttname"><a href="classarmnn_1_1_network.html#afe0a4f719f9752a405e71878da7012ba">armnn::Network::GetGraph</a></div><div class="ttdeci">const Graph &amp; GetGraph() const</div><div class="ttdef"><b>Definition:</b> <a href="_network_8hpp_source.html#l00033">Network.hpp:33</a></div></div>
332</div><!-- fragment -->
333</div>
334</div>
335<a id="abf67dfbce354d772111fc5e5d4cd850d"></a>
336<h2 class="memtitle"><span class="permalink"><a href="#abf67dfbce354d772111fc5e5d4cd850d">&#9670;&nbsp;</a></span>AddAbsLayer()</h2>
337
338<div class="memitem">
339<div class="memproto">
340<table class="mlabels">
341 <tr>
342 <td class="mlabels-left">
343 <table class="memname">
344 <tr>
345 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddAbsLayer </td>
346 <td>(</td>
347 <td class="paramtype">const char *&#160;</td>
348 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
349 <td></td>
350 </tr>
351 </table>
352 </td>
353 <td class="mlabels-right">
354<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
355 </tr>
356</table>
357</div><div class="memdoc">
358<p>Add absolute layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
359 <table class="params">
360 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. @ return - Interface for configuring the layer. </td></tr>
361 </table>
362 </dd>
363</dl>
364
365<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a242b431bbed538ef58c405762068c06e">INetwork</a>.</p>
366
367<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01207">1207</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
368
369<p class="reference">References <a class="el" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">armnn::Abs</a>, and <a class="el" href="_network_8cpp_source.html#l00970">Network::AddElementwiseUnaryLayer()</a>.</p>
370
371<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
372<div class="fragment"><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;{</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_network.html#a99093f440e7e0ba4c8dcc90c3ec8cf4d">AddElementwiseUnaryLayer</a>(ElementwiseUnaryDescriptor(<a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">UnaryOperation::Abs</a>), name);</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">armnn::ActivationFunction::Abs</a></div></div>
373<div class="ttc" id="classarmnn_1_1_network_html_a99093f440e7e0ba4c8dcc90c3ec8cf4d"><div class="ttname"><a href="classarmnn_1_1_network.html#a99093f440e7e0ba4c8dcc90c3ec8cf4d">armnn::Network::AddElementwiseUnaryLayer</a></div><div class="ttdeci">IConnectableLayer * AddElementwiseUnaryLayer(const ElementwiseUnaryDescriptor &amp;elementwiseUnaryDescriptor, const char *name=nullptr) override</div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.html#l00970">Network.cpp:970</a></div></div>
374</div><!-- fragment -->
375</div>
376</div>
377<a id="a36a40a1209689f39a5a283209991da3c"></a>
378<h2 class="memtitle"><span class="permalink"><a href="#a36a40a1209689f39a5a283209991da3c">&#9670;&nbsp;</a></span>AddActivationLayer()</h2>
379
380<div class="memitem">
381<div class="memproto">
382<table class="mlabels">
383 <tr>
384 <td class="mlabels-left">
385 <table class="memname">
386 <tr>
387 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddActivationLayer </td>
388 <td>(</td>
389 <td class="paramtype">const <a class="el" href="structarmnn_1_1_activation_descriptor.html">ActivationDescriptor</a> &amp;&#160;</td>
390 <td class="paramname"><em>activationDescriptor</em>, </td>
391 </tr>
392 <tr>
393 <td class="paramkey"></td>
394 <td></td>
395 <td class="paramtype">const char *&#160;</td>
396 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
397 </tr>
398 <tr>
399 <td></td>
400 <td>)</td>
401 <td></td><td></td>
402 </tr>
403 </table>
404 </td>
405 <td class="mlabels-right">
406<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
407 </tr>
408</table>
409</div><div class="memdoc">
410<p>Adds an activation layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
411 <table class="params">
412 <tr><td class="paramname">activationDescriptor</td><td>- <a class="el" href="structarmnn_1_1_activation_descriptor.html" title="An ActivationDescriptor for the ActivationLayer. ">ActivationDescriptor</a> to configure the activation. </td></tr>
413 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
414 </table>
415 </dd>
416</dl>
417<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
418
419<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#aea068f6094e1c3bfcdf8167b68112632">INetwork</a>.</p>
420
421<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01155">1155</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
422
423<p class="reference">Referenced by <a class="el" href="_network_tests_8cpp_source.html#l00060">BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
424<div class="fragment"><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;{</div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;ActivationLayer&gt;(activationDescriptor, name);</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;}</div></div><!-- fragment -->
425</div>
426</div>
427<a id="adb60c75544796e23d7abc1ce0476f6d9"></a>
428<h2 class="memtitle"><span class="permalink"><a href="#adb60c75544796e23d7abc1ce0476f6d9">&#9670;&nbsp;</a></span>AddAdditionLayer()</h2>
429
430<div class="memitem">
431<div class="memproto">
432<table class="mlabels">
433 <tr>
434 <td class="mlabels-left">
435 <table class="memname">
436 <tr>
437 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddAdditionLayer </td>
438 <td>(</td>
439 <td class="paramtype">const char *&#160;</td>
440 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
441 <td></td>
442 </tr>
443 </table>
444 </td>
445 <td class="mlabels-right">
446<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
447 </tr>
448</table>
449</div><div class="memdoc">
450<p>Adds an addition layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
451 <table class="params">
452 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
453 </table>
454 </dd>
455</dl>
456<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
457
458<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a4812e0137ee610310d23059efed2cb84">INetwork</a>.</p>
459
460<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01212">1212</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
461
462<p class="reference">Referenced by <a class="el" href="_network_tests_8cpp_source.html#l00032">BOOST_AUTO_TEST_CASE()</a>, <a class="el" href="_quantizer_test_8cpp_source.html#l00885">armnn::BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
463<div class="fragment"><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160;{</div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;AdditionLayer&gt;(name);</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;}</div></div><!-- fragment -->
464</div>
465</div>
466<a id="a40d7cd9d061c23405392f7c513849a2f"></a>
467<h2 class="memtitle"><span class="permalink"><a href="#a40d7cd9d061c23405392f7c513849a2f">&#9670;&nbsp;</a></span>AddArgMinMaxLayer()</h2>
468
469<div class="memitem">
470<div class="memproto">
471<table class="mlabels">
472 <tr>
473 <td class="mlabels-left">
474 <table class="memname">
475 <tr>
476 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddArgMinMaxLayer </td>
477 <td>(</td>
478 <td class="paramtype">const <a class="el" href="structarmnn_1_1_arg_min_max_descriptor.html">ArgMinMaxDescriptor</a> &amp;&#160;</td>
479 <td class="paramname"><em>desc</em>, </td>
480 </tr>
481 <tr>
482 <td class="paramkey"></td>
483 <td></td>
484 <td class="paramtype">const char *&#160;</td>
485 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
486 </tr>
487 <tr>
488 <td></td>
489 <td>)</td>
490 <td></td><td></td>
491 </tr>
492 </table>
493 </td>
494 <td class="mlabels-right">
495<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
496 </tr>
497</table>
498</div><div class="memdoc">
499<p>Adds an ArgMinMax layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
500 <table class="params">
501 <tr><td class="paramname">desc</td><td>- Parameters for the L2 normalization operation. </td></tr>
502 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
503 </table>
504 </dd>
505</dl>
506<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
507
508<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#afd432f0676b9f238b68ee01a66183c7f">INetwork</a>.</p>
509
510<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01161">1161</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
511
512<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
513<div class="fragment"><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;{</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;ArgMinMaxLayer&gt;(argMinMaxDescriptor, name);</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;}</div></div><!-- fragment -->
514</div>
515</div>
516<a id="abd4965a5d1d28a91b975e6b0eef024c8"></a>
517<h2 class="memtitle"><span class="permalink"><a href="#abd4965a5d1d28a91b975e6b0eef024c8">&#9670;&nbsp;</a></span>AddBatchNormalizationLayer()</h2>
518
519<div class="memitem">
520<div class="memproto">
521<table class="mlabels">
522 <tr>
523 <td class="mlabels-left">
524 <table class="memname">
525 <tr>
526 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddBatchNormalizationLayer </td>
527 <td>(</td>
528 <td class="paramtype">const <a class="el" href="structarmnn_1_1_batch_normalization_descriptor.html">BatchNormalizationDescriptor</a> &amp;&#160;</td>
529 <td class="paramname"><em>desc</em>, </td>
530 </tr>
531 <tr>
532 <td class="paramkey"></td>
533 <td></td>
534 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
535 <td class="paramname"><em>mean</em>, </td>
536 </tr>
537 <tr>
538 <td class="paramkey"></td>
539 <td></td>
540 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
541 <td class="paramname"><em>variance</em>, </td>
542 </tr>
543 <tr>
544 <td class="paramkey"></td>
545 <td></td>
546 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
547 <td class="paramname"><em>beta</em>, </td>
548 </tr>
549 <tr>
550 <td class="paramkey"></td>
551 <td></td>
552 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
553 <td class="paramname"><em>gamma</em>, </td>
554 </tr>
555 <tr>
556 <td class="paramkey"></td>
557 <td></td>
558 <td class="paramtype">const char *&#160;</td>
559 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
560 </tr>
561 <tr>
562 <td></td>
563 <td>)</td>
564 <td></td><td></td>
565 </tr>
566 </table>
567 </td>
568 <td class="mlabels-right">
569<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
570 </tr>
571</table>
572</div><div class="memdoc">
573<p>Adds a batch normalization layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
574 <table class="params">
575 <tr><td class="paramname">mean</td><td>- Pre-calculated mean for each channel. </td></tr>
576 <tr><td class="paramname">variance</td><td>- Pre-calculated variance for each channel. </td></tr>
577 <tr><td class="paramname">beta</td><td>- Per-channel additive factor. </td></tr>
578 <tr><td class="paramname">gamma</td><td>- Per-channel multiplicative factor. </td></tr>
579 </table>
580 </dd>
581</dl>
582<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
583<dl class="params"><dt>Parameters</dt><dd>
584 <table class="params">
585 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
586 </table>
587 </dd>
588</dl>
589
590<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a8d1067e754512c434da1238b67ad26ea">INetwork</a>.</p>
591
592<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01227">1227</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
593
594<p class="reference">References <a class="el" href="_batch_normalization_layer_8hpp_source.html#l00019">BatchNormalizationLayer::m_Mean</a>.</p>
595
596<p class="reference">Referenced by <a class="el" href="_network_tests_8cpp_source.html#l00069">BOOST_AUTO_TEST_CASE()</a>, <a class="el" href="_const_tensor_layer_visitor_8cpp_source.html#l00467">armnn::BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
597<div class="fragment"><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;{</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> layer = m_Graph-&gt;AddLayer&lt;BatchNormalizationLayer&gt;(desc, name);</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160; layer-&gt;m_Mean = std::make_unique&lt;ScopedCpuTensorHandle&gt;(mean);</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160; layer-&gt;m_Variance = std::make_unique&lt;ScopedCpuTensorHandle&gt;(variance);</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160; layer-&gt;m_Beta = std::make_unique&lt;ScopedCpuTensorHandle&gt;(beta);</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160; layer-&gt;m_Gamma = std::make_unique&lt;ScopedCpuTensorHandle&gt;(gamma);</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;</div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160; <span class="keywordflow">return</span> layer;</div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;}</div></div><!-- fragment -->
598</div>
599</div>
600<a id="a1a3c9903dcd90a7f40d8aca0c339501f"></a>
601<h2 class="memtitle"><span class="permalink"><a href="#a1a3c9903dcd90a7f40d8aca0c339501f">&#9670;&nbsp;</a></span>AddBatchToSpaceNdLayer()</h2>
602
603<div class="memitem">
604<div class="memproto">
605<table class="mlabels">
606 <tr>
607 <td class="mlabels-left">
608 <table class="memname">
609 <tr>
610 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddBatchToSpaceNdLayer </td>
611 <td>(</td>
612 <td class="paramtype">const <a class="el" href="structarmnn_1_1_batch_to_space_nd_descriptor.html">BatchToSpaceNdDescriptor</a> &amp;&#160;</td>
613 <td class="paramname"><em>batchToSpaceNdDescriptor</em>, </td>
614 </tr>
615 <tr>
616 <td class="paramkey"></td>
617 <td></td>
618 <td class="paramtype">const char *&#160;</td>
619 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
620 </tr>
621 <tr>
622 <td></td>
623 <td>)</td>
624 <td></td><td></td>
625 </tr>
626 </table>
627 </td>
628 <td class="mlabels-right">
629<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
630 </tr>
631</table>
632</div><div class="memdoc">
633<p>Adds a batch to space ND layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
634 <table class="params">
635 <tr><td class="paramname">batchToSpaceNdDescriptor</td><td>- Description of the layer. </td></tr>
636 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
637 </table>
638 </dd>
639</dl>
640<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
641
642<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#afd29bdb840d7d978f3dee0309f422886">INetwork</a>.</p>
643
644<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l00958">958</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
645
646<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
647<div class="fragment"><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160;{</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;BatchToSpaceNdLayer&gt;(batchToSpaceNdDescriptor, name);</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160;}</div></div><!-- fragment -->
648</div>
649</div>
650<a id="a52fab7cec34e1fa77df68503e0c0ce59"></a>
651<h2 class="memtitle"><span class="permalink"><a href="#a52fab7cec34e1fa77df68503e0c0ce59">&#9670;&nbsp;</a></span>AddComparisonLayer()</h2>
652
653<div class="memitem">
654<div class="memproto">
655<table class="mlabels">
656 <tr>
657 <td class="mlabels-left">
658 <table class="memname">
659 <tr>
660 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddComparisonLayer </td>
661 <td>(</td>
662 <td class="paramtype">const <a class="el" href="structarmnn_1_1_comparison_descriptor.html">ComparisonDescriptor</a> &amp;&#160;</td>
663 <td class="paramname"><em>comparisonDescriptor</em>, </td>
664 </tr>
665 <tr>
666 <td class="paramkey"></td>
667 <td></td>
668 <td class="paramtype">const char *&#160;</td>
669 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
670 </tr>
671 <tr>
672 <td></td>
673 <td>)</td>
674 <td></td><td></td>
675 </tr>
676 </table>
677 </td>
678 <td class="mlabels-right">
679<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
680 </tr>
681</table>
682</div><div class="memdoc">
683<p>Add a Comparison layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
684 <table class="params">
685 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
686 <tr><td class="paramname">desc</td><td>- Descriptor for the comparison operation. @ return - Interface for configuring the layer. </td></tr>
687 </table>
688 </dd>
689</dl>
690
691<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#ac3be1bcc0fa5ffaf04a4f1d20d0ab7f4">INetwork</a>.</p>
692
693<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l00964">964</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
694
695<p class="reference">Referenced by <a class="el" href="_network_8cpp_source.html#l01477">Network::AddEqualLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01472">Network::AddGreaterLayer()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
696<div class="fragment"><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160;{</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;ComparisonLayer&gt;(comparisonDescriptor, name);</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160;}</div></div><!-- fragment -->
697</div>
698</div>
699<a id="a7b0396c132c4da95e80b210f9b6734e9"></a>
700<h2 class="memtitle"><span class="permalink"><a href="#a7b0396c132c4da95e80b210f9b6734e9">&#9670;&nbsp;</a></span>AddConcatLayer()</h2>
701
702<div class="memitem">
703<div class="memproto">
704<table class="mlabels">
705 <tr>
706 <td class="mlabels-left">
707 <table class="memname">
708 <tr>
709 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddConcatLayer </td>
710 <td>(</td>
711 <td class="paramtype">const <a class="el" href="namespacearmnn.html#a7863c179ff92feec660c48ab7b95ae55">ConcatDescriptor</a> &amp;&#160;</td>
712 <td class="paramname"><em>concatDescriptor</em>, </td>
713 </tr>
714 <tr>
715 <td class="paramkey"></td>
716 <td></td>
717 <td class="paramtype">const char *&#160;</td>
718 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
719 </tr>
720 <tr>
721 <td></td>
722 <td>)</td>
723 <td></td><td></td>
724 </tr>
725 </table>
726 </td>
727 <td class="mlabels-right">
728<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
729 </tr>
730</table>
731</div><div class="memdoc">
732<p>Adds a concatenation layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
733 <table class="params">
734 <tr><td class="paramname">concatDescriptor</td><td>- ConcatDescriptor (synonym for <a class="el" href="structarmnn_1_1_origins_descriptor.html" title="An OriginsDescriptor for the ConcatLayer. Descriptor to configure the concatenation process...">OriginsDescriptor</a>) to configure the concatenation process. Number of Views must be equal to the number of inputs, and their order must match - e.g. first view corresponds to the first input, second view to the second input, etc.... </td></tr>
735 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
736 </table>
737 </dd>
738</dl>
739<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
740
741<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#aef27f787e8a2ee19c4052261f963f28e">INetwork</a>.</p>
742
743<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01023">1023</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
744
745<p class="reference">References <a class="el" href="_optional_8hpp_source.html#l00053">OptionalBase::has_value()</a>, <a class="el" href="_descriptors_8hpp_source.html#l00438">Convolution2dDescriptor::m_BiasEnabled</a>, <a class="el" href="_convolution2d_layer_8hpp_source.html#l00020">Convolution2dLayer::m_Weight</a>, and <a class="el" href="_optional_8hpp_source.html#l00146">OptionalReferenceSwitch&lt; std::is_reference&lt; T &gt;::value, T &gt;::value()</a>.</p>
746
747<p class="reference">Referenced by <a class="el" href="_network_8cpp_source.html#l01201">Network::AddMergerLayer()</a>, <a class="el" href="_network_tests_8cpp_source.html#l00229">BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
748<div class="fragment"><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;{</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;ConcatLayer&gt;(concatDescriptor, name);</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;}</div></div><!-- fragment -->
749</div>
750</div>
751<a id="a8b2e7eb34ad5aacda72260f77fd880ce"></a>
752<h2 class="memtitle"><span class="permalink"><a href="#a8b2e7eb34ad5aacda72260f77fd880ce">&#9670;&nbsp;</a></span>AddConstantLayer()</h2>
753
754<div class="memitem">
755<div class="memproto">
756<table class="mlabels">
757 <tr>
758 <td class="mlabels-left">
759 <table class="memname">
760 <tr>
761 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddConstantLayer </td>
762 <td>(</td>
763 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
764 <td class="paramname"><em>input</em>, </td>
765 </tr>
766 <tr>
767 <td class="paramkey"></td>
768 <td></td>
769 <td class="paramtype">const char *&#160;</td>
770 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
771 </tr>
772 <tr>
773 <td></td>
774 <td>)</td>
775 <td></td><td></td>
776 </tr>
777 </table>
778 </td>
779 <td class="mlabels-right">
780<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
781 </tr>
782</table>
783</div><div class="memdoc">
784<p>Adds a layer with no inputs and a single output, which always corresponds to the passed in constant tensor. </p><dl class="params"><dt>Parameters</dt><dd>
785 <table class="params">
786 <tr><td class="paramname">input</td><td>- <a class="el" href="classarmnn_1_1_tensor.html" title="A tensor defined by a TensorInfo (shape and data type) and a mutable backing store. ">Tensor</a> to be provided as the only output of the layer. The layer will maintain its own copy of the tensor data, meaning the memory referenced by <em>input</em> can be freed or reused after this function is called. </td></tr>
787 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
788 </table>
789 </dd>
790</dl>
791<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
792
793<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a67b28a248a1e13f1f858e9d9e9e2d54b">INetwork</a>.</p>
794
795<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01280">1280</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
796
797<p class="reference">References <a class="el" href="_constant_layer_8hpp_source.html#l00043">ConstantLayer::m_LayerOutput</a>.</p>
798
799<p class="reference">Referenced by <a class="el" href="_const_tensor_layer_visitor_8cpp_source.html#l00529">armnn::BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
800<div class="fragment"><div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;{</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160; <span class="keyword">auto</span> layer = m_Graph-&gt;AddLayer&lt;ConstantLayer&gt;(name);</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160; layer-&gt;m_LayerOutput = std::make_unique&lt;ScopedCpuTensorHandle&gt;(input);</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;</div><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160; <span class="keywordflow">return</span> layer;</div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;}</div></div><!-- fragment -->
801</div>
802</div>
803<a id="a865189c08aa64d448d05efc92a43725a"></a>
804<h2 class="memtitle"><span class="permalink"><a href="#a865189c08aa64d448d05efc92a43725a">&#9670;&nbsp;</a></span>AddConvolution2dLayer() <span class="overload">[1/3]</span></h2>
805
806<div class="memitem">
807<div class="memproto">
808<table class="mlabels">
809 <tr>
810 <td class="mlabels-left">
811 <table class="memname">
812 <tr>
813 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddConvolution2dLayer </td>
814 <td>(</td>
815 <td class="paramtype">const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.html">Convolution2dDescriptor</a> &amp;&#160;</td>
816 <td class="paramname"><em>convolution2dDescriptor</em>, </td>
817 </tr>
818 <tr>
819 <td class="paramkey"></td>
820 <td></td>
821 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
822 <td class="paramname"><em>weights</em>, </td>
823 </tr>
824 <tr>
825 <td class="paramkey"></td>
826 <td></td>
827 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;&#160;</td>
828 <td class="paramname"><em>biases</em>, </td>
829 </tr>
830 <tr>
831 <td class="paramkey"></td>
832 <td></td>
833 <td class="paramtype">const char *&#160;</td>
834 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
835 </tr>
836 <tr>
837 <td></td>
838 <td>)</td>
839 <td></td><td></td>
840 </tr>
841 </table>
842 </td>
843 <td class="mlabels-right">
844<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
845 </tr>
846</table>
847</div><div class="memdoc">
848<p>Adds a 2D convolution layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
849 <table class="params">
850 <tr><td class="paramname">convolution2dDescriptor</td><td>- Description of the 2D convolution layer. </td></tr>
851 <tr><td class="paramname">weights</td><td>- <a class="el" href="classarmnn_1_1_tensor.html" title="A tensor defined by a TensorInfo (shape and data type) and a mutable backing store. ">Tensor</a> for the weights data. </td></tr>
852 <tr><td class="paramname">biases</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> tensor for the bias data. If specified, must match the output tensor shape. </td></tr>
853 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
854 </table>
855 </dd>
856</dl>
857<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
858
859<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a073e2f61f527d7d3801c26bdbd37dd7e">INetwork</a>.</p>
860
861<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01051">1051</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
862
863<p class="reference">Referenced by <a class="el" href="_network_tests_8cpp_source.html#l00069">BOOST_AUTO_TEST_CASE()</a>, <a class="el" href="_const_tensor_layer_visitor_8cpp_source.html#l00170">armnn::BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
864<div class="fragment"><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;{</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; <span class="keywordflow">return</span> AddConvolution2dLayerImpl(convolution2dDescriptor, weights, biases, name);</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;}</div></div><!-- fragment -->
865</div>
866</div>
867<a id="a672c0f6fdd479311818f7efbac694042"></a>
868<h2 class="memtitle"><span class="permalink"><a href="#a672c0f6fdd479311818f7efbac694042">&#9670;&nbsp;</a></span>AddConvolution2dLayer() <span class="overload">[2/3]</span></h2>
869
870<div class="memitem">
871<div class="memproto">
872<table class="mlabels">
873 <tr>
874 <td class="mlabels-left">
875 <table class="memname">
876 <tr>
877 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddConvolution2dLayer </td>
878 <td>(</td>
879 <td class="paramtype">const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.html">Convolution2dDescriptor</a> &amp;&#160;</td>
880 <td class="paramname"><em>convolution2dDescriptor</em>, </td>
881 </tr>
882 <tr>
883 <td class="paramkey"></td>
884 <td></td>
885 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
886 <td class="paramname"><em>weights</em>, </td>
887 </tr>
888 <tr>
889 <td class="paramkey"></td>
890 <td></td>
891 <td class="paramtype">const char *&#160;</td>
892 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
893 </tr>
894 <tr>
895 <td></td>
896 <td>)</td>
897 <td></td><td></td>
898 </tr>
899 </table>
900 </td>
901 <td class="mlabels-right">
902<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
903 </tr>
904</table>
905</div><div class="memdoc">
906
907<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#ab76caade6df9758cb23589475b080060">INetwork</a>.</p>
908
909<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01059">1059</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
910<div class="fragment"><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;{</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; Optional&lt;ConstTensor&gt; biases;</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; <span class="keywordflow">return</span> AddConvolution2dLayerImpl(convolution2dDescriptor, weights, biases, name);</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;}</div></div><!-- fragment -->
911</div>
912</div>
913<a id="a1100ef86ba46e5c43aff78db7a82f049"></a>
914<h2 class="memtitle"><span class="permalink"><a href="#a1100ef86ba46e5c43aff78db7a82f049">&#9670;&nbsp;</a></span>AddConvolution2dLayer() <span class="overload">[3/3]</span></h2>
915
916<div class="memitem">
917<div class="memproto">
918<table class="mlabels">
919 <tr>
920 <td class="mlabels-left">
921 <table class="memname">
922 <tr>
923 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddConvolution2dLayer </td>
924 <td>(</td>
925 <td class="paramtype">const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.html">Convolution2dDescriptor</a> &amp;&#160;</td>
926 <td class="paramname"><em>convolution2dDescriptor</em>, </td>
927 </tr>
928 <tr>
929 <td class="paramkey"></td>
930 <td></td>
931 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
932 <td class="paramname"><em>weights</em>, </td>
933 </tr>
934 <tr>
935 <td class="paramkey"></td>
936 <td></td>
937 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
938 <td class="paramname"><em>biases</em>, </td>
939 </tr>
940 <tr>
941 <td class="paramkey"></td>
942 <td></td>
943 <td class="paramtype">const char *&#160;</td>
944 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
945 </tr>
946 <tr>
947 <td></td>
948 <td>)</td>
949 <td></td><td></td>
950 </tr>
951 </table>
952 </td>
953 <td class="mlabels-right">
954<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
955 </tr>
956</table>
957</div><div class="memdoc">
958
959<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#ab592c969eed4e15123349501c2e2c0e9">INetwork</a>.</p>
960
961<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01067">1067</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
962
963<p class="reference">References <a class="el" href="_optional_8hpp_source.html#l00053">OptionalBase::has_value()</a>, <a class="el" href="_descriptors_8hpp_source.html#l00490">DepthwiseConvolution2dDescriptor::m_BiasEnabled</a>, <a class="el" href="_depthwise_convolution2d_layer_8hpp_source.html#l00019">DepthwiseConvolution2dLayer::m_Weight</a>, and <a class="el" href="_optional_8hpp_source.html#l00146">OptionalReferenceSwitch&lt; std::is_reference&lt; T &gt;::value, T &gt;::value()</a>.</p>
964<div class="fragment"><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;{</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; Optional&lt;ConstTensor&gt; optionalBiases(biases);</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160; <span class="keywordflow">return</span> AddConvolution2dLayerImpl(convolution2dDescriptor, weights, optionalBiases, name);</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;}</div></div><!-- fragment -->
965</div>
966</div>
967<a id="a59e55a0755a655a809520738c697334f"></a>
968<h2 class="memtitle"><span class="permalink"><a href="#a59e55a0755a655a809520738c697334f">&#9670;&nbsp;</a></span>AddDepthToSpaceLayer()</h2>
969
970<div class="memitem">
971<div class="memproto">
972<table class="mlabels">
973 <tr>
974 <td class="mlabels-left">
975 <table class="memname">
976 <tr>
977 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddDepthToSpaceLayer </td>
978 <td>(</td>
979 <td class="paramtype">const <a class="el" href="namespacearmnn.html#a3647f60510bc8ddaced01c51b0ee8714">DepthToSpaceDescriptor</a> &amp;&#160;</td>
980 <td class="paramname"><em>depthToSpaceDescriptor</em>, </td>
981 </tr>
982 <tr>
983 <td class="paramkey"></td>
984 <td></td>
985 <td class="paramtype">const char *&#160;</td>
986 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
987 </tr>
988 <tr>
989 <td></td>
990 <td>)</td>
991 <td></td><td></td>
992 </tr>
993 </table>
994 </td>
995 <td class="mlabels-right">
996<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
997 </tr>
998</table>
999</div><div class="memdoc">
1000<p>Adds a depth to space layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
1001 <table class="params">
1002 <tr><td class="paramname">depthToSpaceDescriptor</td><td>- Parameters for the depth to space operation. </td></tr>
1003 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1004 </table>
1005 </dd>
1006</dl>
1007<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
1008
1009<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a9cc2cd640fcda8ffaf84b23230ba1664">INetwork</a>.</p>
1010
1011<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01099">1099</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1012
1013<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1014<div class="fragment"><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;{</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;DepthToSpaceLayer&gt;(depthToSpaceDescriptor, name);</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;}</div></div><!-- fragment -->
1015</div>
1016</div>
1017<a id="a1add5219a64f4249a282f52202828451"></a>
1018<h2 class="memtitle"><span class="permalink"><a href="#a1add5219a64f4249a282f52202828451">&#9670;&nbsp;</a></span>AddDepthwiseConvolution2dLayer() <span class="overload">[1/3]</span></h2>
1019
1020<div class="memitem">
1021<div class="memproto">
1022<table class="mlabels">
1023 <tr>
1024 <td class="mlabels-left">
1025 <table class="memname">
1026 <tr>
1027 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddDepthwiseConvolution2dLayer </td>
1028 <td>(</td>
1029 <td class="paramtype">const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html">DepthwiseConvolution2dDescriptor</a> &amp;&#160;</td>
1030 <td class="paramname"><em>convolution2dDescriptor</em>, </td>
1031 </tr>
1032 <tr>
1033 <td class="paramkey"></td>
1034 <td></td>
1035 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
1036 <td class="paramname"><em>weights</em>, </td>
1037 </tr>
1038 <tr>
1039 <td class="paramkey"></td>
1040 <td></td>
1041 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;&#160;</td>
1042 <td class="paramname"><em>biases</em>, </td>
1043 </tr>
1044 <tr>
1045 <td class="paramkey"></td>
1046 <td></td>
1047 <td class="paramtype">const char *&#160;</td>
1048 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1049 </tr>
1050 <tr>
1051 <td></td>
1052 <td>)</td>
1053 <td></td><td></td>
1054 </tr>
1055 </table>
1056 </td>
1057 <td class="mlabels-right">
1058<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1059 </tr>
1060</table>
1061</div><div class="memdoc">
1062<p>Adds a 2D depthwise convolution layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
1063 <table class="params">
1064 <tr><td class="paramname">convolution2dDescriptor</td><td>- Description of the 2D depthwise convolution layer. </td></tr>
1065 <tr><td class="paramname">weights</td><td>- <a class="el" href="classarmnn_1_1_tensor.html" title="A tensor defined by a TensorInfo (shape and data type) and a mutable backing store. ">Tensor</a> for the weights. Expected format: [channelMultiplier, inputChannels, height, width]. </td></tr>
1066 <tr><td class="paramname">biases</td><td><a class="el" href="classarmnn_1_1_optional.html">Optional</a> tensor for the bias data. If specified, must match the output tensor shape. </td></tr>
1067 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1068 </table>
1069 </dd>
1070</dl>
1071<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
1072
1073<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a78367a5054c92d435f4f5c7e10ec65b8">INetwork</a>.</p>
1074
1075<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01105">1105</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1076
1077<p class="reference">Referenced by <a class="el" href="_const_tensor_layer_visitor_8cpp_source.html#l00276">armnn::BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1078<div class="fragment"><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;{</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160; <span class="keywordflow">return</span> AddDepthwiseConvolution2dLayerImpl(convolution2dDescriptor, weights, biases, name);</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;}</div></div><!-- fragment -->
1079</div>
1080</div>
1081<a id="ab192233990fa6525e30cfbe5a4701e2a"></a>
1082<h2 class="memtitle"><span class="permalink"><a href="#ab192233990fa6525e30cfbe5a4701e2a">&#9670;&nbsp;</a></span>AddDepthwiseConvolution2dLayer() <span class="overload">[2/3]</span></h2>
1083
1084<div class="memitem">
1085<div class="memproto">
1086<table class="mlabels">
1087 <tr>
1088 <td class="mlabels-left">
1089 <table class="memname">
1090 <tr>
1091 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddDepthwiseConvolution2dLayer </td>
1092 <td>(</td>
1093 <td class="paramtype">const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html">DepthwiseConvolution2dDescriptor</a> &amp;&#160;</td>
1094 <td class="paramname"><em>convolution2dDescriptor</em>, </td>
1095 </tr>
1096 <tr>
1097 <td class="paramkey"></td>
1098 <td></td>
1099 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
1100 <td class="paramname"><em>weights</em>, </td>
1101 </tr>
1102 <tr>
1103 <td class="paramkey"></td>
1104 <td></td>
1105 <td class="paramtype">const char *&#160;</td>
1106 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1107 </tr>
1108 <tr>
1109 <td></td>
1110 <td>)</td>
1111 <td></td><td></td>
1112 </tr>
1113 </table>
1114 </td>
1115 <td class="mlabels-right">
1116<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1117 </tr>
1118</table>
1119</div><div class="memdoc">
1120
1121<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a634843775f26ca85a78ad27c8f656845">INetwork</a>.</p>
1122
1123<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01114">1114</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1124<div class="fragment"><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;{</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160; Optional&lt;ConstTensor&gt; biases;</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; <span class="keywordflow">return</span> AddDepthwiseConvolution2dLayerImpl(convolution2dDescriptor, weights, biases, name);</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;}</div></div><!-- fragment -->
1125</div>
1126</div>
1127<a id="a37b53840117ba4159bd7c033bd18d281"></a>
1128<h2 class="memtitle"><span class="permalink"><a href="#a37b53840117ba4159bd7c033bd18d281">&#9670;&nbsp;</a></span>AddDepthwiseConvolution2dLayer() <span class="overload">[3/3]</span></h2>
1129
1130<div class="memitem">
1131<div class="memproto">
1132<table class="mlabels">
1133 <tr>
1134 <td class="mlabels-left">
1135 <table class="memname">
1136 <tr>
1137 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddDepthwiseConvolution2dLayer </td>
1138 <td>(</td>
1139 <td class="paramtype">const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html">DepthwiseConvolution2dDescriptor</a> &amp;&#160;</td>
1140 <td class="paramname"><em>convolution2dDescriptor</em>, </td>
1141 </tr>
1142 <tr>
1143 <td class="paramkey"></td>
1144 <td></td>
1145 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
1146 <td class="paramname"><em>weights</em>, </td>
1147 </tr>
1148 <tr>
1149 <td class="paramkey"></td>
1150 <td></td>
1151 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
1152 <td class="paramname"><em>biases</em>, </td>
1153 </tr>
1154 <tr>
1155 <td class="paramkey"></td>
1156 <td></td>
1157 <td class="paramtype">const char *&#160;</td>
1158 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1159 </tr>
1160 <tr>
1161 <td></td>
1162 <td>)</td>
1163 <td></td><td></td>
1164 </tr>
1165 </table>
1166 </td>
1167 <td class="mlabels-right">
1168<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1169 </tr>
1170</table>
1171</div><div class="memdoc">
1172
1173<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a7aaabbe9b2f7159703df0cf0ff552d0f">INetwork</a>.</p>
1174
1175<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01123">1123</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1176<div class="fragment"><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;{</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160; Optional&lt;ConstTensor&gt; optionalBiases(biases);</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160; <span class="keywordflow">return</span> AddDepthwiseConvolution2dLayerImpl(convolution2dDescriptor, weights, optionalBiases, name);</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;}</div></div><!-- fragment -->
1177</div>
1178</div>
1179<a id="a224ea587dd10d2aa0d019be5c9de4b89"></a>
1180<h2 class="memtitle"><span class="permalink"><a href="#a224ea587dd10d2aa0d019be5c9de4b89">&#9670;&nbsp;</a></span>AddDequantizeLayer()</h2>
1181
1182<div class="memitem">
1183<div class="memproto">
1184<table class="mlabels">
1185 <tr>
1186 <td class="mlabels-left">
1187 <table class="memname">
1188 <tr>
1189 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddDequantizeLayer </td>
1190 <td>(</td>
1191 <td class="paramtype">const char *&#160;</td>
1192 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
1193 <td></td>
1194 </tr>
1195 </table>
1196 </td>
1197 <td class="mlabels-right">
1198<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1199 </tr>
1200</table>
1201</div><div class="memdoc">
1202<p>Adds a Dequantize layer to the network. </p><dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
1203
1204<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a061197f3813f225d94a73063f93a4f2c">INetwork</a>.</p>
1205
1206<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01461">1461</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1207
1208<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1209<div class="fragment"><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160;{</div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;DequantizeLayer&gt;(name);</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;}</div></div><!-- fragment -->
1210</div>
1211</div>
1212<a id="a52cc1e062595108da0dfef4b200dabd7"></a>
1213<h2 class="memtitle"><span class="permalink"><a href="#a52cc1e062595108da0dfef4b200dabd7">&#9670;&nbsp;</a></span>AddDetectionPostProcessLayer()</h2>
1214
1215<div class="memitem">
1216<div class="memproto">
1217<table class="mlabels">
1218 <tr>
1219 <td class="mlabels-left">
1220 <table class="memname">
1221 <tr>
1222 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddDetectionPostProcessLayer </td>
1223 <td>(</td>
1224 <td class="paramtype">const <a class="el" href="structarmnn_1_1_detection_post_process_descriptor.html">DetectionPostProcessDescriptor</a> &amp;&#160;</td>
1225 <td class="paramname"><em>descriptor</em>, </td>
1226 </tr>
1227 <tr>
1228 <td class="paramkey"></td>
1229 <td></td>
1230 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
1231 <td class="paramname"><em>anchors</em>, </td>
1232 </tr>
1233 <tr>
1234 <td class="paramkey"></td>
1235 <td></td>
1236 <td class="paramtype">const char *&#160;</td>
1237 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1238 </tr>
1239 <tr>
1240 <td></td>
1241 <td>)</td>
1242 <td></td><td></td>
1243 </tr>
1244 </table>
1245 </td>
1246 <td class="mlabels-right">
1247<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1248 </tr>
1249</table>
1250</div><div class="memdoc">
1251<p>Adds a Detection PostProcess layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
1252 <table class="params">
1253 <tr><td class="paramname">descriptor</td><td>- Description of the Detection PostProcess layer. </td></tr>
1254 <tr><td class="paramname">anchors</td><td>- <a class="el" href="classarmnn_1_1_tensor.html" title="A tensor defined by a TensorInfo (shape and data type) and a mutable backing store. ">Tensor</a> for anchors. </td></tr>
1255 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1256 </table>
1257 </dd>
1258</dl>
1259<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
1260
1261<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a7dbf4589abdc0b13690eb83eab617adc">INetwork</a>.</p>
1262
1263<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01133">1133</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1264
1265<p class="reference">References <a class="el" href="_neon_end_to_end_tests_8cpp.html#ac0981848e4ae57729f14f72bd4caa9f8">anchors()</a>, and <a class="el" href="_detection_post_process_layer_8hpp_source.html#l00020">DetectionPostProcessLayer::m_Anchors</a>.</p>
1266
1267<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1268<div class="fragment"><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;{</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> layer = m_Graph-&gt;AddLayer&lt;DetectionPostProcessLayer&gt;(descriptor, name);</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160; layer-&gt;m_Anchors = std::make_unique&lt;ScopedCpuTensorHandle&gt;(<a class="code" href="_neon_end_to_end_tests_8cpp.html#ac0981848e4ae57729f14f72bd4caa9f8">anchors</a>);</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160; <span class="keywordflow">return</span> layer;</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;}</div><div class="ttc" id="_neon_end_to_end_tests_8cpp_html_ac0981848e4ae57729f14f72bd4caa9f8"><div class="ttname"><a href="_neon_end_to_end_tests_8cpp.html#ac0981848e4ae57729f14f72bd4caa9f8">anchors</a></div><div class="ttdeci">std::vector&lt; float &gt; anchors({ 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 10.5f, 1.0f, 1.0f, 0.5f, 10.5f, 1.0f, 1.0f, 0.5f, 100.5f, 1.0f, 1.0f })</div></div>
1269</div><!-- fragment -->
1270</div>
1271</div>
1272<a id="a47d30afdd251fef00a59d2234cca0020"></a>
1273<h2 class="memtitle"><span class="permalink"><a href="#a47d30afdd251fef00a59d2234cca0020">&#9670;&nbsp;</a></span>AddDivisionLayer()</h2>
1274
1275<div class="memitem">
1276<div class="memproto">
1277<table class="mlabels">
1278 <tr>
1279 <td class="mlabels-left">
1280 <table class="memname">
1281 <tr>
1282 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddDivisionLayer </td>
1283 <td>(</td>
1284 <td class="paramtype">const char *&#160;</td>
1285 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
1286 <td></td>
1287 </tr>
1288 </table>
1289 </td>
1290 <td class="mlabels-right">
1291<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1292 </tr>
1293</table>
1294</div><div class="memdoc">
1295<p>Adds a division layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
1296 <table class="params">
1297 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1298 </table>
1299 </dd>
1300</dl>
1301<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
1302
1303<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a82a5bc0d24f4c4eb1fbf793e156a5193">INetwork</a>.</p>
1304
1305<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01436">1436</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1306
1307<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1308<div class="fragment"><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;{</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;DivisionLayer&gt;(name);</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;}</div></div><!-- fragment -->
1309</div>
1310</div>
1311<a id="a99093f440e7e0ba4c8dcc90c3ec8cf4d"></a>
1312<h2 class="memtitle"><span class="permalink"><a href="#a99093f440e7e0ba4c8dcc90c3ec8cf4d">&#9670;&nbsp;</a></span>AddElementwiseUnaryLayer()</h2>
1313
1314<div class="memitem">
1315<div class="memproto">
1316<table class="mlabels">
1317 <tr>
1318 <td class="mlabels-left">
1319 <table class="memname">
1320 <tr>
1321 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddElementwiseUnaryLayer </td>
1322 <td>(</td>
1323 <td class="paramtype">const <a class="el" href="structarmnn_1_1_elementwise_unary_descriptor.html">ElementwiseUnaryDescriptor</a> &amp;&#160;</td>
1324 <td class="paramname"><em>elementwiseUnaryDescriptor</em>, </td>
1325 </tr>
1326 <tr>
1327 <td class="paramkey"></td>
1328 <td></td>
1329 <td class="paramtype">const char *&#160;</td>
1330 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1331 </tr>
1332 <tr>
1333 <td></td>
1334 <td>)</td>
1335 <td></td><td></td>
1336 </tr>
1337 </table>
1338 </td>
1339 <td class="mlabels-right">
1340<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1341 </tr>
1342</table>
1343</div><div class="memdoc">
1344<p>Add an ElementwiseUnary layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
1345 <table class="params">
1346 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1347 <tr><td class="paramname">desc</td><td>- Descriptor for the elementwiseUnary operation. @ return - Interface for configuring the layer. </td></tr>
1348 </table>
1349 </dd>
1350</dl>
1351
1352<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a5bf8e0c150c7e6f8085c0767c6ab1914">INetwork</a>.</p>
1353
1354<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l00970">970</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1355
1356<p class="reference">References <a class="el" href="_optional_8hpp_source.html#l00053">OptionalBase::has_value()</a>, <a class="el" href="_descriptors_8hpp_source.html#l00386">FullyConnectedDescriptor::m_BiasEnabled</a>, <a class="el" href="_fully_connected_layer_8hpp_source.html#l00019">FullyConnectedLayer::m_Weight</a>, and <a class="el" href="_optional_8hpp_source.html#l00146">OptionalReferenceSwitch&lt; std::is_reference&lt; T &gt;::value, T &gt;::value()</a>.</p>
1357
1358<p class="reference">Referenced by <a class="el" href="_network_8cpp_source.html#l01207">Network::AddAbsLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01482">Network::AddRsqrtLayer()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1359<div class="fragment"><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160;{</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;ElementwiseUnaryLayer&gt;(elementwiseUnaryDescriptor, name);</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160;}</div></div><!-- fragment -->
1360</div>
1361</div>
1362<a id="a9062eab56f601adeae8229fd8759fbd7"></a>
1363<h2 class="memtitle"><span class="permalink"><a href="#a9062eab56f601adeae8229fd8759fbd7">&#9670;&nbsp;</a></span>AddEqualLayer()</h2>
1364
1365<div class="memitem">
1366<div class="memproto">
1367<table class="mlabels">
1368 <tr>
1369 <td class="mlabels-left">
1370 <table class="memname">
1371 <tr>
1372 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddEqualLayer </td>
1373 <td>(</td>
1374 <td class="paramtype">const char *&#160;</td>
1375 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
1376 <td></td>
1377 </tr>
1378 </table>
1379 </td>
1380 <td class="mlabels-right">
1381<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1382 </tr>
1383</table>
1384</div><div class="memdoc">
1385<p>Add a Equal layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
1386 <table class="params">
1387 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. @ return - Interface for configuring the layer. </td></tr>
1388 </table>
1389 </dd>
1390</dl>
1391
1392<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#afa185870287965e94d514de562fffa94">INetwork</a>.</p>
1393
1394<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01477">1477</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1395
1396<p class="reference">References <a class="el" href="_network_8cpp_source.html#l00964">Network::AddComparisonLayer()</a>, and <a class="el" href="namespacearmnn.html#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">armnn::Equal</a>.</p>
1397
1398<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1399<div class="fragment"><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160;{</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_network.html#a52fab7cec34e1fa77df68503e0c0ce59">AddComparisonLayer</a>(ComparisonDescriptor(<a class="code" href="namespacearmnn.html#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">ComparisonOperation::Equal</a>), name);</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_network_html_a52fab7cec34e1fa77df68503e0c0ce59"><div class="ttname"><a href="classarmnn_1_1_network.html#a52fab7cec34e1fa77df68503e0c0ce59">armnn::Network::AddComparisonLayer</a></div><div class="ttdeci">IConnectableLayer * AddComparisonLayer(const ComparisonDescriptor &amp;comparisonDescriptor, const char *name=nullptr) override</div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.html#l00964">Network.cpp:964</a></div></div>
1400<div class="ttc" id="namespacearmnn_html_a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5"><div class="ttname"><a href="namespacearmnn.html#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">armnn::ComparisonOperation::Equal</a></div></div>
1401</div><!-- fragment -->
1402</div>
1403</div>
1404<a id="a7b9879b0da1f561d10e4f5c545028143"></a>
1405<h2 class="memtitle"><span class="permalink"><a href="#a7b9879b0da1f561d10e4f5c545028143">&#9670;&nbsp;</a></span>AddFloorLayer()</h2>
1406
1407<div class="memitem">
1408<div class="memproto">
1409<table class="mlabels">
1410 <tr>
1411 <td class="mlabels-left">
1412 <table class="memname">
1413 <tr>
1414 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddFloorLayer </td>
1415 <td>(</td>
1416 <td class="paramtype">const char *&#160;</td>
1417 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
1418 <td></td>
1419 </tr>
1420 </table>
1421 </td>
1422 <td class="mlabels-right">
1423<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1424 </tr>
1425</table>
1426</div><div class="memdoc">
1427<p>Adds a floor layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
1428 <table class="params">
1429 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1430 </table>
1431 </dd>
1432</dl>
1433<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
1434
1435<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#ab98cfce43a731ad63ca839dac5ee89eb">INetwork</a>.</p>
1436
1437<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01307">1307</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1438
1439<p class="reference">Referenced by <a class="el" href="_network_tests_8cpp_source.html#l00476">BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1440<div class="fragment"><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;{</div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;FloorLayer&gt;(name);</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;}</div></div><!-- fragment -->
1441</div>
1442</div>
1443<a id="a80dc86e975ff991ef63aa8b523d4fcdf"></a>
1444<h2 class="memtitle"><span class="permalink"><a href="#a80dc86e975ff991ef63aa8b523d4fcdf">&#9670;&nbsp;</a></span>AddFullyConnectedLayer() <span class="overload">[1/3]</span></h2>
1445
1446<div class="memitem">
1447<div class="memproto">
1448<table class="mlabels">
1449 <tr>
1450 <td class="mlabels-left">
1451 <table class="memname">
1452 <tr>
1453 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddFullyConnectedLayer </td>
1454 <td>(</td>
1455 <td class="paramtype">const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.html">FullyConnectedDescriptor</a> &amp;&#160;</td>
1456 <td class="paramname"><em>fullyConnectedDescriptor</em>, </td>
1457 </tr>
1458 <tr>
1459 <td class="paramkey"></td>
1460 <td></td>
1461 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
1462 <td class="paramname"><em>weights</em>, </td>
1463 </tr>
1464 <tr>
1465 <td class="paramkey"></td>
1466 <td></td>
1467 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;&#160;</td>
1468 <td class="paramname"><em>biases</em>, </td>
1469 </tr>
1470 <tr>
1471 <td class="paramkey"></td>
1472 <td></td>
1473 <td class="paramtype">const char *&#160;</td>
1474 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1475 </tr>
1476 <tr>
1477 <td></td>
1478 <td>)</td>
1479 <td></td><td></td>
1480 </tr>
1481 </table>
1482 </td>
1483 <td class="mlabels-right">
1484<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1485 </tr>
1486</table>
1487</div><div class="memdoc">
1488<p>Adds a fully connected layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
1489 <table class="params">
1490 <tr><td class="paramname">fullyConnectedDescriptor</td><td>- Description of the fully connected layer. </td></tr>
1491 <tr><td class="paramname">weights</td><td>- <a class="el" href="classarmnn_1_1_tensor.html" title="A tensor defined by a TensorInfo (shape and data type) and a mutable backing store. ">Tensor</a> for the weights data. </td></tr>
1492 <tr><td class="paramname">biases</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> tensor for the bias data. </td></tr>
1493 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1494 </table>
1495 </dd>
1496</dl>
1497<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
1498
1499<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a4839e4ec3f07974c57ca2c856b40cd57">INetwork</a>.</p>
1500
1501<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l00998">998</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1502
1503<p class="reference">Referenced by <a class="el" href="_network_tests_8cpp_source.html#l00069">BOOST_AUTO_TEST_CASE()</a>, <a class="el" href="_const_tensor_layer_visitor_8cpp_source.html#l00385">armnn::BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1504<div class="fragment"><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;{</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; <span class="keywordflow">return</span> AddFullyConnectedLayerImpl(fullyConnectedDescriptor, weights, biases, name);</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;}</div></div><!-- fragment -->
1505</div>
1506</div>
1507<a id="a65835b534db6a10d91e2096952fcf7d7"></a>
1508<h2 class="memtitle"><span class="permalink"><a href="#a65835b534db6a10d91e2096952fcf7d7">&#9670;&nbsp;</a></span>AddFullyConnectedLayer() <span class="overload">[2/3]</span></h2>
1509
1510<div class="memitem">
1511<div class="memproto">
1512<table class="mlabels">
1513 <tr>
1514 <td class="mlabels-left">
1515 <table class="memname">
1516 <tr>
1517 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddFullyConnectedLayer </td>
1518 <td>(</td>
1519 <td class="paramtype">const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.html">FullyConnectedDescriptor</a> &amp;&#160;</td>
1520 <td class="paramname"><em>fullyConnectedDescriptor</em>, </td>
1521 </tr>
1522 <tr>
1523 <td class="paramkey"></td>
1524 <td></td>
1525 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
1526 <td class="paramname"><em>weights</em>, </td>
1527 </tr>
1528 <tr>
1529 <td class="paramkey"></td>
1530 <td></td>
1531 <td class="paramtype">const char *&#160;</td>
1532 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1533 </tr>
1534 <tr>
1535 <td></td>
1536 <td>)</td>
1537 <td></td><td></td>
1538 </tr>
1539 </table>
1540 </td>
1541 <td class="mlabels-right">
1542<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1543 </tr>
1544</table>
1545</div><div class="memdoc">
1546
1547<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a53b41b41319485d8ff71d294f2f52b38">INetwork</a>.</p>
1548
1549<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01006">1006</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1550<div class="fragment"><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;{</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; Optional&lt;ConstTensor&gt; biases;</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; <span class="keywordflow">return</span> AddFullyConnectedLayerImpl(fullyConnectedDescriptor, weights, biases, name);</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;}</div></div><!-- fragment -->
1551</div>
1552</div>
1553<a id="a1d28c2b5a3c3c73eb3c4f9f6112bde94"></a>
1554<h2 class="memtitle"><span class="permalink"><a href="#a1d28c2b5a3c3c73eb3c4f9f6112bde94">&#9670;&nbsp;</a></span>AddFullyConnectedLayer() <span class="overload">[3/3]</span></h2>
1555
1556<div class="memitem">
1557<div class="memproto">
1558<table class="mlabels">
1559 <tr>
1560 <td class="mlabels-left">
1561 <table class="memname">
1562 <tr>
1563 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddFullyConnectedLayer </td>
1564 <td>(</td>
1565 <td class="paramtype">const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.html">FullyConnectedDescriptor</a> &amp;&#160;</td>
1566 <td class="paramname"><em>fullyConnectedDescriptor</em>, </td>
1567 </tr>
1568 <tr>
1569 <td class="paramkey"></td>
1570 <td></td>
1571 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
1572 <td class="paramname"><em>weights</em>, </td>
1573 </tr>
1574 <tr>
1575 <td class="paramkey"></td>
1576 <td></td>
1577 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
1578 <td class="paramname"><em>biases</em>, </td>
1579 </tr>
1580 <tr>
1581 <td class="paramkey"></td>
1582 <td></td>
1583 <td class="paramtype">const char *&#160;</td>
1584 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1585 </tr>
1586 <tr>
1587 <td></td>
1588 <td>)</td>
1589 <td></td><td></td>
1590 </tr>
1591 </table>
1592 </td>
1593 <td class="mlabels-right">
1594<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1595 </tr>
1596</table>
1597</div><div class="memdoc">
1598
1599<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a315a27dc1f50e0526f7da71d47a3dccf">INetwork</a>.</p>
1600
1601<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01014">1014</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1602<div class="fragment"><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;{</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; Optional&lt;ConstTensor&gt; optionalBiases(biases);</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; <span class="keywordflow">return</span> AddFullyConnectedLayerImpl(fullyConnectedDescriptor, weights, optionalBiases, name);</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;}</div></div><!-- fragment -->
1603</div>
1604</div>
1605<a id="ac3d4632a58d626521765246bbfdeadcf"></a>
1606<h2 class="memtitle"><span class="permalink"><a href="#ac3d4632a58d626521765246bbfdeadcf">&#9670;&nbsp;</a></span>AddGatherLayer()</h2>
1607
1608<div class="memitem">
1609<div class="memproto">
1610<table class="mlabels">
1611 <tr>
1612 <td class="mlabels-left">
1613 <table class="memname">
1614 <tr>
1615 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddGatherLayer </td>
1616 <td>(</td>
1617 <td class="paramtype">const char *&#160;</td>
1618 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
1619 <td></td>
1620 </tr>
1621 </table>
1622 </td>
1623 <td class="mlabels-right">
1624<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1625 </tr>
1626</table>
1627</div><div class="memdoc">
1628<p>Add Gather layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
1629 <table class="params">
1630 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. @ return - Interface for configuring the layer. </td></tr>
1631 </table>
1632 </dd>
1633</dl>
1634
1635<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a8440d2a2afd3eb3526212081c9016830">INetwork</a>.</p>
1636
1637<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01487">1487</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1638
1639<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1640<div class="fragment"><div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160;{</div><div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;GatherLayer&gt;(name);</div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;}</div></div><!-- fragment -->
1641</div>
1642</div>
1643<a id="aad4a7bebcdaeeea663429cbd47b2917e"></a>
1644<h2 class="memtitle"><span class="permalink"><a href="#aad4a7bebcdaeeea663429cbd47b2917e">&#9670;&nbsp;</a></span>AddGreaterLayer()</h2>
1645
1646<div class="memitem">
1647<div class="memproto">
1648<table class="mlabels">
1649 <tr>
1650 <td class="mlabels-left">
1651 <table class="memname">
1652 <tr>
1653 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddGreaterLayer </td>
1654 <td>(</td>
1655 <td class="paramtype">const char *&#160;</td>
1656 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
1657 <td></td>
1658 </tr>
1659 </table>
1660 </td>
1661 <td class="mlabels-right">
1662<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1663 </tr>
1664</table>
1665</div><div class="memdoc">
1666<p>Add a Greater layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
1667 <table class="params">
1668 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. @ return - Interface for configuring the layer. </td></tr>
1669 </table>
1670 </dd>
1671</dl>
1672
1673<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#addd323d9ecb6d764bec8fa38cf9184db">INetwork</a>.</p>
1674
1675<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01472">1472</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1676
1677<p class="reference">References <a class="el" href="_network_8cpp_source.html#l00964">Network::AddComparisonLayer()</a>, and <a class="el" href="namespacearmnn.html#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">armnn::Greater</a>.</p>
1678
1679<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1680<div class="fragment"><div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160;{</div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_network.html#a52fab7cec34e1fa77df68503e0c0ce59">AddComparisonLayer</a>(ComparisonDescriptor(<a class="code" href="namespacearmnn.html#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">ComparisonOperation::Greater</a>), name);</div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a"><div class="ttname"><a href="namespacearmnn.html#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">armnn::ComparisonOperation::Greater</a></div></div>
1681<div class="ttc" id="classarmnn_1_1_network_html_a52fab7cec34e1fa77df68503e0c0ce59"><div class="ttname"><a href="classarmnn_1_1_network.html#a52fab7cec34e1fa77df68503e0c0ce59">armnn::Network::AddComparisonLayer</a></div><div class="ttdeci">IConnectableLayer * AddComparisonLayer(const ComparisonDescriptor &amp;comparisonDescriptor, const char *name=nullptr) override</div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.html#l00964">Network.cpp:964</a></div></div>
1682</div><!-- fragment -->
1683</div>
1684</div>
1685<a id="a90d8841cfbbc82ab02328f33fed24ac6"></a>
1686<h2 class="memtitle"><span class="permalink"><a href="#a90d8841cfbbc82ab02328f33fed24ac6">&#9670;&nbsp;</a></span>AddInputLayer()</h2>
1687
1688<div class="memitem">
1689<div class="memproto">
1690<table class="mlabels">
1691 <tr>
1692 <td class="mlabels-left">
1693 <table class="memname">
1694 <tr>
1695 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddInputLayer </td>
1696 <td>(</td>
1697 <td class="paramtype"><a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a>&#160;</td>
1698 <td class="paramname"><em>id</em>, </td>
1699 </tr>
1700 <tr>
1701 <td class="paramkey"></td>
1702 <td></td>
1703 <td class="paramtype">const char *&#160;</td>
1704 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1705 </tr>
1706 <tr>
1707 <td></td>
1708 <td>)</td>
1709 <td></td><td></td>
1710 </tr>
1711 </table>
1712 </td>
1713 <td class="mlabels-right">
1714<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1715 </tr>
1716</table>
1717</div><div class="memdoc">
1718<p>Adds an input layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
1719 <table class="params">
1720 <tr><td class="paramname">id</td><td>- User generated id to uniquely identify a particular input. The same id needs to be specified. when passing the inputs to the <a class="el" href="classarmnn_1_1_i_runtime.html#aec0dc8016a3b1e444dfc1ffb5f15195c" title="Evaluates a network using input in inputTensors and outputs filled into outputTensors. ">IRuntime::EnqueueWorkload()</a> function. </td></tr>
1721 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1722 </table>
1723 </dd>
1724</dl>
1725<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
1726
1727<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a87d5ec72def73ca14bd2987a024bd569">INetwork</a>.</p>
1728
1729<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l00953">953</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1730
1731<p class="reference">Referenced by <a class="el" href="_network_tests_8cpp_source.html#l00032">BOOST_AUTO_TEST_CASE()</a>, <a class="el" href="_quantizer_test_8cpp_source.html#l00900">armnn::BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1732<div class="fragment"><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160;{</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;InputLayer&gt;(id, name);</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160;}</div></div><!-- fragment -->
1733</div>
1734</div>
1735<a id="a98fef92a93b7a51ce6755dae02bb0cd4"></a>
1736<h2 class="memtitle"><span class="permalink"><a href="#a98fef92a93b7a51ce6755dae02bb0cd4">&#9670;&nbsp;</a></span>AddInstanceNormalizationLayer()</h2>
1737
1738<div class="memitem">
1739<div class="memproto">
1740<table class="mlabels">
1741 <tr>
1742 <td class="mlabels-left">
1743 <table class="memname">
1744 <tr>
1745 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddInstanceNormalizationLayer </td>
1746 <td>(</td>
1747 <td class="paramtype">const <a class="el" href="structarmnn_1_1_instance_normalization_descriptor.html">InstanceNormalizationDescriptor</a> &amp;&#160;</td>
1748 <td class="paramname"><em>desc</em>, </td>
1749 </tr>
1750 <tr>
1751 <td class="paramkey"></td>
1752 <td></td>
1753 <td class="paramtype">const char *&#160;</td>
1754 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1755 </tr>
1756 <tr>
1757 <td></td>
1758 <td>)</td>
1759 <td></td><td></td>
1760 </tr>
1761 </table>
1762 </td>
1763 <td class="mlabels-right">
1764<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1765 </tr>
1766</table>
1767</div><div class="memdoc">
1768<p>Adds an instance normalization layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
1769 <table class="params">
1770 <tr><td class="paramname">desc</td><td>- Parameters for the instance normalization operation. </td></tr>
1771 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1772 </table>
1773 </dd>
1774</dl>
1775<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
1776
1777<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a604ca69f6e33b8d53ccc254cbd85125b">INetwork</a>.</p>
1778
1779<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01262">1262</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1780
1781<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1782<div class="fragment"><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;{</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;InstanceNormalizationLayer&gt;(desc, name);</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;}</div></div><!-- fragment -->
1783</div>
1784</div>
1785<a id="acce5b3272c9da9cb4201b437dd96a729"></a>
1786<h2 class="memtitle"><span class="permalink"><a href="#acce5b3272c9da9cb4201b437dd96a729">&#9670;&nbsp;</a></span>AddL2NormalizationLayer()</h2>
1787
1788<div class="memitem">
1789<div class="memproto">
1790<table class="mlabels">
1791 <tr>
1792 <td class="mlabels-left">
1793 <table class="memname">
1794 <tr>
1795 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddL2NormalizationLayer </td>
1796 <td>(</td>
1797 <td class="paramtype">const <a class="el" href="structarmnn_1_1_l2_normalization_descriptor.html">L2NormalizationDescriptor</a> &amp;&#160;</td>
1798 <td class="paramname"><em>desc</em>, </td>
1799 </tr>
1800 <tr>
1801 <td class="paramkey"></td>
1802 <td></td>
1803 <td class="paramtype">const char *&#160;</td>
1804 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1805 </tr>
1806 <tr>
1807 <td></td>
1808 <td>)</td>
1809 <td></td><td></td>
1810 </tr>
1811 </table>
1812 </td>
1813 <td class="mlabels-right">
1814<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1815 </tr>
1816</table>
1817</div><div class="memdoc">
1818<p>Adds an L2 normalization layer to the network. Normalization is performed along dimension 1, but requires a 4d input. </p><dl class="params"><dt>Parameters</dt><dd>
1819 <table class="params">
1820 <tr><td class="paramname">desc</td><td>- Parameters for the L2 normalization operation. </td></tr>
1821 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1822 </table>
1823 </dd>
1824</dl>
1825<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
1826
1827<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a53f545a593ccf5d471217283bbd35648">INetwork</a>.</p>
1828
1829<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01268">1268</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1830
1831<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1832<div class="fragment"><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;{</div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;L2NormalizationLayer&gt;(desc, name);</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;}</div></div><!-- fragment -->
1833</div>
1834</div>
1835<a id="a4c47466a95f61c321f525b06fc87b2c5"></a>
1836<h2 class="memtitle"><span class="permalink"><a href="#a4c47466a95f61c321f525b06fc87b2c5">&#9670;&nbsp;</a></span>AddLogSoftmaxLayer()</h2>
1837
1838<div class="memitem">
1839<div class="memproto">
1840<table class="mlabels">
1841 <tr>
1842 <td class="mlabels-left">
1843 <table class="memname">
1844 <tr>
1845 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddLogSoftmaxLayer </td>
1846 <td>(</td>
1847 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ac14705405cbcdd580df613de6766fe65">LogSoftmaxDescriptor</a> &amp;&#160;</td>
1848 <td class="paramname"><em>logSoftmaxDescriptor</em>, </td>
1849 </tr>
1850 <tr>
1851 <td class="paramkey"></td>
1852 <td></td>
1853 <td class="paramtype">const char *&#160;</td>
1854 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1855 </tr>
1856 <tr>
1857 <td></td>
1858 <td>)</td>
1859 <td></td><td></td>
1860 </tr>
1861 </table>
1862 </td>
1863 <td class="mlabels-right">
1864<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1865 </tr>
1866</table>
1867</div><div class="memdoc">
1868<p>Adds a log softmax layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
1869 <table class="params">
1870 <tr><td class="paramname">logSoftmaxDescriptor</td><td>- LogSoftmaxDescriptor to configure the log softmax. </td></tr>
1871 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1872 </table>
1873 </dd>
1874</dl>
1875<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
1876
1877<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#ae47d992c09a281b38fd6e5675f9f8ec8">INetwork</a>.</p>
1878
1879<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01274">1274</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1880
1881<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1882<div class="fragment"><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;{</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;LogSoftmaxLayer&gt;(desc, name);</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;}</div></div><!-- fragment -->
1883</div>
1884</div>
1885<a id="ab1569dbf88b6511bde91bee3224a558c"></a>
1886<h2 class="memtitle"><span class="permalink"><a href="#ab1569dbf88b6511bde91bee3224a558c">&#9670;&nbsp;</a></span>AddLstmLayer()</h2>
1887
1888<div class="memitem">
1889<div class="memproto">
1890<table class="mlabels">
1891 <tr>
1892 <td class="mlabels-left">
1893 <table class="memname">
1894 <tr>
1895 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddLstmLayer </td>
1896 <td>(</td>
1897 <td class="paramtype">const <a class="el" href="structarmnn_1_1_lstm_descriptor.html">LstmDescriptor</a> &amp;&#160;</td>
1898 <td class="paramname"><em>descriptor</em>, </td>
1899 </tr>
1900 <tr>
1901 <td class="paramkey"></td>
1902 <td></td>
1903 <td class="paramtype">const <a class="el" href="structarmnn_1_1_lstm_input_params.html">LstmInputParams</a> &amp;&#160;</td>
1904 <td class="paramname"><em>params</em>, </td>
1905 </tr>
1906 <tr>
1907 <td class="paramkey"></td>
1908 <td></td>
1909 <td class="paramtype">const char *&#160;</td>
1910 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1911 </tr>
1912 <tr>
1913 <td></td>
1914 <td>)</td>
1915 <td></td><td></td>
1916 </tr>
1917 </table>
1918 </td>
1919 <td class="mlabels-right">
1920<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1921 </tr>
1922</table>
1923</div><div class="memdoc">
1924<p>Add a Lstm layer to the network </p><dl class="params"><dt>Parameters</dt><dd>
1925 <table class="params">
1926 <tr><td class="paramname">descriptor</td><td>- Parameters for the Lstm operation </td></tr>
1927 <tr><td class="paramname">params</td><td>- Weights and biases for the LSTM cell </td></tr>
1928 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer </td></tr>
1929 </table>
1930 </dd>
1931</dl>
1932<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
1933
1934<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#ae56f97f1de7a08af6f0e0a1350e368cb">INetwork</a>.</p>
1935
1936<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01312">1312</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1937
1938<p class="reference">References <a class="el" href="_lstm_layer_8hpp_source.html#l00081">LstmLayer::m_BasicParameters</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00053">LstmInputParams::m_CellBias</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00059">LstmInputParams::m_CellLayerNormWeights</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00049">LstmInputParams::m_CellToForgetWeights</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00048">LstmInputParams::m_CellToInputWeights</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00050">LstmInputParams::m_CellToOutputWeights</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00052">LstmInputParams::m_ForgetGateBias</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00058">LstmInputParams::m_ForgetLayerNormWeights</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00051">LstmInputParams::m_InputGateBias</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00057">LstmInputParams::m_InputLayerNormWeights</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00042">LstmInputParams::m_InputToCellWeights</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00041">LstmInputParams::m_InputToForgetWeights</a>, <a class="el" href="_lstm_layer_8hpp_source.html#l00057">LstmBasicParameters::m_InputToForgetWeights</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00040">LstmInputParams::m_InputToInputWeights</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00043">LstmInputParams::m_InputToOutputWeights</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00054">LstmInputParams::m_OutputGateBias</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00060">LstmInputParams::m_OutputLayerNormWeights</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00056">LstmInputParams::m_ProjectionBias</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00055">LstmInputParams::m_ProjectionWeights</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00046">LstmInputParams::m_RecurrentToCellWeights</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00045">LstmInputParams::m_RecurrentToForgetWeights</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00044">LstmInputParams::m_RecurrentToInputWeights</a>, and <a class="el" href="_lstm_params_8hpp_source.html#l00047">LstmInputParams::m_RecurrentToOutputWeights</a>.</p>
1939
1940<p class="reference">Referenced by <a class="el" href="_const_tensor_layer_visitor_8cpp_source.html#l00558">armnn::BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1941<div class="fragment"><div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;{</div><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> layer = m_Graph-&gt;AddLayer&lt;LstmLayer&gt;(descriptor, name);</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;</div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160; <span class="comment">//Lstm Basic Parameters</span></div><div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160; layer-&gt;m_BasicParameters.m_InputToForgetWeights =</div><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_InputToForgetWeights));</div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160; layer-&gt;m_BasicParameters.m_InputToCellWeights =</div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_InputToCellWeights));</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160; layer-&gt;m_BasicParameters.m_InputToOutputWeights =</div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_InputToOutputWeights));</div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160; layer-&gt;m_BasicParameters.m_RecurrentToForgetWeights =</div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_RecurrentToForgetWeights));</div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160; layer-&gt;m_BasicParameters.m_RecurrentToCellWeights =</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_RecurrentToCellWeights));</div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160; layer-&gt;m_BasicParameters.m_RecurrentToOutputWeights =</div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_RecurrentToOutputWeights));</div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160; layer-&gt;m_BasicParameters.m_ForgetGateBias =</div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_ForgetGateBias));</div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160; layer-&gt;m_BasicParameters.m_CellBias =</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_CellBias));</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160; layer-&gt;m_BasicParameters.m_OutputGateBias =</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_OutputGateBias));</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;</div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; <span class="comment">//Lstm Cifg parameters</span></div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160; <span class="keywordflow">if</span>(!descriptor.m_CifgEnabled)</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; {</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; <span class="keywordflow">if</span>(params.m_InputToInputWeights == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; {</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160; <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">&quot;AddLstmLayer: Input To Input Weights cannot be NULL&quot;</span>);</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160; }</div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160; <span class="keywordflow">if</span>(params.m_RecurrentToInputWeights == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160; {</div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160; <span class="keywordflow">throw</span> InvalidArgumentException(</div><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160; <span class="stringliteral">&quot;AddLstmLayer: Recurrent To Input Weights cannot be NULL&quot;</span>);</div><div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160; }</div><div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160; <span class="keywordflow">if</span>(params.m_InputGateBias == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160; {</div><div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160; <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">&quot;AddLstmLayer: Input Gate Bias cannot be NULL&quot;</span>);</div><div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160; }</div><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160; layer-&gt;m_CifgParameters.m_InputToInputWeights =</div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_InputToInputWeights));</div><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160; layer-&gt;m_CifgParameters.m_RecurrentToInputWeights =</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_RecurrentToInputWeights));</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160; <span class="comment">// In the VTS tests, cell-to-input weights may be null, even if the other CIFG params are not.</span></div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160; <span class="keywordflow">if</span>(params.m_CellToInputWeights != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160; {</div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160; layer-&gt;m_CifgParameters.m_CellToInputWeights =</div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_CellToInputWeights));</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160; }</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160; layer-&gt;m_CifgParameters.m_InputGateBias =</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_InputGateBias));</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; }</div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160; <span class="comment">//Lstm projection parameters</span></div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160; <span class="keywordflow">if</span>(descriptor.m_ProjectionEnabled)</div><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160; {</div><div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160; <span class="keywordflow">if</span>(params.m_ProjectionWeights == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160; {</div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160; <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">&quot;AddLstmLayer: Projection Weights cannot be NULL&quot;</span>);</div><div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160; }</div><div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160; layer-&gt;m_ProjectionParameters.m_ProjectionWeights =</div><div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_ProjectionWeights));</div><div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160; <span class="keywordflow">if</span>(params.m_ProjectionBias != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160; {</div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160; layer-&gt;m_ProjectionParameters.m_ProjectionBias =</div><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_ProjectionBias));</div><div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160; }</div><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160; }</div><div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;</div><div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160; <span class="comment">//Lstm Peephole params</span></div><div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160; <span class="keywordflow">if</span>(descriptor.m_PeepholeEnabled)</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160; {</div><div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160; <span class="keywordflow">if</span>(params.m_CellToForgetWeights == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160; {</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160; <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">&quot;AddLstmLayer: Cell To Forget Weights cannot be NULL&quot;</span>);</div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160; }</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160; <span class="keywordflow">if</span>(params.m_CellToOutputWeights == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160; {</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160; <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">&quot;AddLstmLayer: Cell To Output Weights cannot be NULL&quot;</span>);</div><div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160; }</div><div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160; layer-&gt;m_PeepholeParameters.m_CellToForgetWeights =</div><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_CellToForgetWeights));</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160; layer-&gt;m_PeepholeParameters.m_CellToOutputWeights =</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_CellToOutputWeights));</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160; }</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160; <span class="comment">//Lstm Layer Normalization params</span></div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160; <span class="keywordflow">if</span>(descriptor.m_LayerNormEnabled)</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160; {</div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; <span class="keywordflow">if</span>(!descriptor.m_CifgEnabled)</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160; {</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160; <span class="keywordflow">if</span>(params.m_InputLayerNormWeights == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160; {</div><div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160; <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">&quot;AddLstmLayer: Input layer normalization weights cannot be NULL&quot;</span>);</div><div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160; }</div><div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160; layer-&gt;m_LayerNormParameters.m_InputLayerNormWeights =</div><div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_InputLayerNormWeights));</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160; }</div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160; <span class="keywordflow">if</span>(params.m_ForgetLayerNormWeights == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160; {</div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160; <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">&quot;AddLstmLayer: Forget layer normalization weights cannot be NULL&quot;</span>);</div><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160; }</div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160; <span class="keywordflow">if</span>(params.m_CellLayerNormWeights == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160; {</div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160; <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">&quot;AddLstmLayer: Cell layer normalization weights cannot be NULL&quot;</span>);</div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; }</div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; <span class="keywordflow">if</span>(params.m_OutputLayerNormWeights == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160; {</div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160; <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">&quot;AddLstmLayer: Output layer normalization weights cannot be NULL&quot;</span>);</div><div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160; }</div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160; layer-&gt;m_LayerNormParameters.m_ForgetLayerNormWeights =</div><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_ForgetLayerNormWeights));</div><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160; layer-&gt;m_LayerNormParameters.m_CellLayerNormWeights =</div><div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_CellLayerNormWeights));</div><div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160; layer-&gt;m_LayerNormParameters.m_OutputLayerNormWeights =</div><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(*(params.m_OutputLayerNormWeights));</div><div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160; }</div><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160; <span class="keywordflow">return</span> layer;</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;}</div></div><!-- fragment -->
1942</div>
1943</div>
1944<a id="a10c7356df73267c2acf3248465d5954b"></a>
1945<h2 class="memtitle"><span class="permalink"><a href="#a10c7356df73267c2acf3248465d5954b">&#9670;&nbsp;</a></span>AddMaximumLayer()</h2>
1946
1947<div class="memitem">
1948<div class="memproto">
1949<table class="mlabels">
1950 <tr>
1951 <td class="mlabels-left">
1952 <table class="memname">
1953 <tr>
1954 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddMaximumLayer </td>
1955 <td>(</td>
1956 <td class="paramtype">const char *&#160;</td>
1957 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
1958 <td></td>
1959 </tr>
1960 </table>
1961 </td>
1962 <td class="mlabels-right">
1963<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1964 </tr>
1965</table>
1966</div><div class="memdoc">
1967<p>Add a Maximum layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
1968 <table class="params">
1969 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. @ return - Interface for configuring the layer. </td></tr>
1970 </table>
1971 </dd>
1972</dl>
1973
1974<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#afb8d4577c796ffdd213428cd285734b1">INetwork</a>.</p>
1975
1976<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01191">1191</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
1977
1978<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
1979<div class="fragment"><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;{</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;MaximumLayer&gt;(name);</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160;}</div></div><!-- fragment -->
1980</div>
1981</div>
1982<a id="a06632621d4259f7ef2aadb03cc08e993"></a>
1983<h2 class="memtitle"><span class="permalink"><a href="#a06632621d4259f7ef2aadb03cc08e993">&#9670;&nbsp;</a></span>AddMeanLayer()</h2>
1984
1985<div class="memitem">
1986<div class="memproto">
1987<table class="mlabels">
1988 <tr>
1989 <td class="mlabels-left">
1990 <table class="memname">
1991 <tr>
1992 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddMeanLayer </td>
1993 <td>(</td>
1994 <td class="paramtype">const <a class="el" href="structarmnn_1_1_mean_descriptor.html">MeanDescriptor</a> &amp;&#160;</td>
1995 <td class="paramname"><em>meanDescriptor</em>, </td>
1996 </tr>
1997 <tr>
1998 <td class="paramkey"></td>
1999 <td></td>
2000 <td class="paramtype">const char *&#160;</td>
2001 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2002 </tr>
2003 <tr>
2004 <td></td>
2005 <td>)</td>
2006 <td></td><td></td>
2007 </tr>
2008 </table>
2009 </td>
2010 <td class="mlabels-right">
2011<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2012 </tr>
2013</table>
2014</div><div class="memdoc">
2015<p>Add a Mean layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2016 <table class="params">
2017 <tr><td class="paramname">meanDescriptor</td><td>- Parameters for the mean operation. </td></tr>
2018 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. @ return - Interface for configuring the layer. </td></tr>
2019 </table>
2020 </dd>
2021</dl>
2022
2023<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a8262e9e6fc869a9c9782115a6a552f36">INetwork</a>.</p>
2024
2025<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01446">1446</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2026
2027<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2028<div class="fragment"><div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160;{</div><div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;MeanLayer&gt;(meanDescriptor,name);</div><div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160;}</div></div><!-- fragment -->
2029</div>
2030</div>
2031<a id="a679d1dd7ae79631ba09c642a7b25158a"></a>
2032<h2 class="memtitle"><span class="permalink"><a href="#a679d1dd7ae79631ba09c642a7b25158a">&#9670;&nbsp;</a></span>AddMergeLayer()</h2>
2033
2034<div class="memitem">
2035<div class="memproto">
2036<table class="mlabels">
2037 <tr>
2038 <td class="mlabels-left">
2039 <table class="memname">
2040 <tr>
2041 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddMergeLayer </td>
2042 <td>(</td>
2043 <td class="paramtype">const char *&#160;</td>
2044 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
2045 <td></td>
2046 </tr>
2047 </table>
2048 </td>
2049 <td class="mlabels-right">
2050<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2051 </tr>
2052</table>
2053</div><div class="memdoc">
2054<p>Adds a merge layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2055 <table class="params">
2056 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2057 </table>
2058 </dd>
2059</dl>
2060<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2061
2062<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a12eefa50f602b22ec86be8bba2903cf8">INetwork</a>.</p>
2063
2064<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01492">1492</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2065
2066<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2067<div class="fragment"><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160;{</div><div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;MergeLayer&gt;(name);</div><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160;}</div></div><!-- fragment -->
2068</div>
2069</div>
2070<a id="ac9758a0b2749095fd2a7ac152ff8fd49"></a>
2071<h2 class="memtitle"><span class="permalink"><a href="#ac9758a0b2749095fd2a7ac152ff8fd49">&#9670;&nbsp;</a></span>AddMergerLayer()</h2>
2072
2073<div class="memitem">
2074<div class="memproto">
2075<table class="mlabels">
2076 <tr>
2077 <td class="mlabels-left">
2078 <table class="memname">
2079 <tr>
2080 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddMergerLayer </td>
2081 <td>(</td>
2082 <td class="paramtype">const <a class="el" href="namespacearmnn.html#a003d213dd28b0b8c0f26fbf268ccb975">MergerDescriptor</a> &amp;&#160;</td>
2083 <td class="paramname"><em>mergerDescriptor</em>, </td>
2084 </tr>
2085 <tr>
2086 <td class="paramkey"></td>
2087 <td></td>
2088 <td class="paramtype">const char *&#160;</td>
2089 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2090 </tr>
2091 <tr>
2092 <td></td>
2093 <td>)</td>
2094 <td></td><td></td>
2095 </tr>
2096 </table>
2097 </td>
2098 <td class="mlabels-right">
2099<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2100 </tr>
2101</table>
2102</div><div class="memdoc">
2103<p>Adds a concat layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2104 <table class="params">
2105 <tr><td class="paramname">mergerDescriptor</td><td>- MergerDescriptor (synonym for <a class="el" href="structarmnn_1_1_origins_descriptor.html" title="An OriginsDescriptor for the ConcatLayer. Descriptor to configure the concatenation process...">OriginsDescriptor</a>) to configure the concatenation process. Number of Views must be equal to the number of inputs, and their order must match - e.g. first view corresponds to the first input, second view to the second input, etc.... </td></tr>
2106 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2107 </table>
2108 </dd>
2109</dl>
2110<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2111
2112<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#afcff563d08cd58c9e2b1156aa44821b0">INetwork</a>.</p>
2113
2114<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01201">1201</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2115
2116<p class="reference">References <a class="el" href="_network_8cpp_source.html#l01023">Network::AddConcatLayer()</a>.</p>
2117
2118<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2119<div class="fragment"><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;{</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_network.html#a7b0396c132c4da95e80b210f9b6734e9">AddConcatLayer</a>(mergerDescriptor, name);</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_network_html_a7b0396c132c4da95e80b210f9b6734e9"><div class="ttname"><a href="classarmnn_1_1_network.html#a7b0396c132c4da95e80b210f9b6734e9">armnn::Network::AddConcatLayer</a></div><div class="ttdeci">IConnectableLayer * AddConcatLayer(const ConcatDescriptor &amp;concatDescriptor, const char *name=nullptr) override</div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.html#l01023">Network.cpp:1023</a></div></div>
2120</div><!-- fragment -->
2121</div>
2122</div>
2123<a id="add39cd8a51e34c532fb56cf313703844"></a>
2124<h2 class="memtitle"><span class="permalink"><a href="#add39cd8a51e34c532fb56cf313703844">&#9670;&nbsp;</a></span>AddMinimumLayer()</h2>
2125
2126<div class="memitem">
2127<div class="memproto">
2128<table class="mlabels">
2129 <tr>
2130 <td class="mlabels-left">
2131 <table class="memname">
2132 <tr>
2133 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddMinimumLayer </td>
2134 <td>(</td>
2135 <td class="paramtype">const char *&#160;</td>
2136 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
2137 <td></td>
2138 </tr>
2139 </table>
2140 </td>
2141 <td class="mlabels-right">
2142<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2143 </tr>
2144</table>
2145</div><div class="memdoc">
2146<p>Add a Minimum layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2147 <table class="params">
2148 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. @ return - Interface for configuring the layer. </td></tr>
2149 </table>
2150 </dd>
2151</dl>
2152
2153<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a4cc12e3bd9ffe196cc8b351f25a104e3">INetwork</a>.</p>
2154
2155<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01196">1196</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2156
2157<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2158<div class="fragment"><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160;{</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;MinimumLayer&gt;(name);</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;}</div></div><!-- fragment -->
2159</div>
2160</div>
2161<a id="a6e6cb8fd00cb855c4f0d93c4a7a2bde2"></a>
2162<h2 class="memtitle"><span class="permalink"><a href="#a6e6cb8fd00cb855c4f0d93c4a7a2bde2">&#9670;&nbsp;</a></span>AddMultiplicationLayer()</h2>
2163
2164<div class="memitem">
2165<div class="memproto">
2166<table class="mlabels">
2167 <tr>
2168 <td class="mlabels-left">
2169 <table class="memname">
2170 <tr>
2171 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddMultiplicationLayer </td>
2172 <td>(</td>
2173 <td class="paramtype">const char *&#160;</td>
2174 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
2175 <td></td>
2176 </tr>
2177 </table>
2178 </td>
2179 <td class="mlabels-right">
2180<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2181 </tr>
2182</table>
2183</div><div class="memdoc">
2184<p>Adds a multiplication layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2185 <table class="params">
2186 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2187 </table>
2188 </dd>
2189</dl>
2190<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2191
2192<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#ae24e82cf1ae2a71c5cd976edfb192fc0">INetwork</a>.</p>
2193
2194<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01217">1217</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2195
2196<p class="reference">Referenced by <a class="el" href="_network_tests_8cpp_source.html#l00069">BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2197<div class="fragment"><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;{</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;MultiplicationLayer&gt;(name);</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;}</div></div><!-- fragment -->
2198</div>
2199</div>
2200<a id="a942922c1213c451e3286fb5cd31c6499"></a>
2201<h2 class="memtitle"><span class="permalink"><a href="#a942922c1213c451e3286fb5cd31c6499">&#9670;&nbsp;</a></span>AddNormalizationLayer()</h2>
2202
2203<div class="memitem">
2204<div class="memproto">
2205<table class="mlabels">
2206 <tr>
2207 <td class="mlabels-left">
2208 <table class="memname">
2209 <tr>
2210 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddNormalizationLayer </td>
2211 <td>(</td>
2212 <td class="paramtype">const <a class="el" href="structarmnn_1_1_normalization_descriptor.html">NormalizationDescriptor</a> &amp;&#160;</td>
2213 <td class="paramname"><em>normalizationDescriptor</em>, </td>
2214 </tr>
2215 <tr>
2216 <td class="paramkey"></td>
2217 <td></td>
2218 <td class="paramtype">const char *&#160;</td>
2219 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2220 </tr>
2221 <tr>
2222 <td></td>
2223 <td>)</td>
2224 <td></td><td></td>
2225 </tr>
2226 </table>
2227 </td>
2228 <td class="mlabels-right">
2229<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2230 </tr>
2231</table>
2232</div><div class="memdoc">
2233<p>Adds a normalization layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2234 <table class="params">
2235 <tr><td class="paramname">normalizationDescriptor</td><td>- <a class="el" href="structarmnn_1_1_normalization_descriptor.html" title="A NormalizationDescriptor for the NormalizationLayer. ">NormalizationDescriptor</a> to configure the normalization. </td></tr>
2236 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2237 </table>
2238 </dd>
2239</dl>
2240<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2241
2242<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a74dac9efbb6dbd1982a45af1805eb4e0">INetwork</a>.</p>
2243
2244<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01167">1167</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2245
2246<p class="reference">Referenced by <a class="el" href="_network_tests_8cpp_source.html#l00069">BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2247<div class="fragment"><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;{</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;NormalizationLayer&gt;(normalizationDescriptor, name);</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;}</div></div><!-- fragment -->
2248</div>
2249</div>
2250<a id="ad55ff20f4c7e60c18b849e61f28f0e2e"></a>
2251<h2 class="memtitle"><span class="permalink"><a href="#ad55ff20f4c7e60c18b849e61f28f0e2e">&#9670;&nbsp;</a></span>AddOutputLayer()</h2>
2252
2253<div class="memitem">
2254<div class="memproto">
2255<table class="mlabels">
2256 <tr>
2257 <td class="mlabels-left">
2258 <table class="memname">
2259 <tr>
2260 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddOutputLayer </td>
2261 <td>(</td>
2262 <td class="paramtype"><a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a>&#160;</td>
2263 <td class="paramname"><em>id</em>, </td>
2264 </tr>
2265 <tr>
2266 <td class="paramkey"></td>
2267 <td></td>
2268 <td class="paramtype">const char *&#160;</td>
2269 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2270 </tr>
2271 <tr>
2272 <td></td>
2273 <td>)</td>
2274 <td></td><td></td>
2275 </tr>
2276 </table>
2277 </td>
2278 <td class="mlabels-right">
2279<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2280 </tr>
2281</table>
2282</div><div class="memdoc">
2283<p>Adds an output layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2284 <table class="params">
2285 <tr><td class="paramname">id</td><td>- User generated id to uniquely identify a particular output. The same id needs to be specified when passing the outputs to the <a class="el" href="classarmnn_1_1_i_runtime.html#aec0dc8016a3b1e444dfc1ffb5f15195c" title="Evaluates a network using input in inputTensors and outputs filled into outputTensors. ">IRuntime::EnqueueWorkload()</a> function. </td></tr>
2286 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2287 </table>
2288 </dd>
2289</dl>
2290<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2291
2292<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#ad8582fba2ebeb65da43a56bc22d4f88b">INetwork</a>.</p>
2293
2294<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01222">1222</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2295
2296<p class="reference">Referenced by <a class="el" href="_network_tests_8cpp_source.html#l00032">BOOST_AUTO_TEST_CASE()</a>, <a class="el" href="_quantizer_test_8cpp_source.html#l00900">armnn::BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2297<div class="fragment"><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;{</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;OutputLayer&gt;(id, name);</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;}</div></div><!-- fragment -->
2298</div>
2299</div>
2300<a id="a7d7934b6f0d8d4ae7749875397d724fc"></a>
2301<h2 class="memtitle"><span class="permalink"><a href="#a7d7934b6f0d8d4ae7749875397d724fc">&#9670;&nbsp;</a></span>AddPadLayer()</h2>
2302
2303<div class="memitem">
2304<div class="memproto">
2305<table class="mlabels">
2306 <tr>
2307 <td class="mlabels-left">
2308 <table class="memname">
2309 <tr>
2310 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddPadLayer </td>
2311 <td>(</td>
2312 <td class="paramtype">const <a class="el" href="structarmnn_1_1_pad_descriptor.html">PadDescriptor</a> &amp;&#160;</td>
2313 <td class="paramname"><em>padDescriptor</em>, </td>
2314 </tr>
2315 <tr>
2316 <td class="paramkey"></td>
2317 <td></td>
2318 <td class="paramtype">const char *&#160;</td>
2319 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2320 </tr>
2321 <tr>
2322 <td></td>
2323 <td>)</td>
2324 <td></td><td></td>
2325 </tr>
2326 </table>
2327 </td>
2328 <td class="mlabels-right">
2329<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2330 </tr>
2331</table>
2332</div><div class="memdoc">
2333<p>Adds a fully pad layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2334 <table class="params">
2335 <tr><td class="paramname">paddings</td><td>- n by 2 tensor, where n is the rank of the input tensor, such that paddings[i,0] indicates the amount of padding to add in front of dimonsion i, and paddings[i,1] indicates the amount of padding to add after the end of dimension i </td></tr>
2336 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2337 </table>
2338 </dd>
2339</dl>
2340<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2341
2342<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a07485f1477554d32e43edc39502ac419">INetwork</a>.</p>
2343
2344<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01451">1451</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2345
2346<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2347<div class="fragment"><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160;{</div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;PadLayer&gt;(padDescriptor,name);</div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;}</div></div><!-- fragment -->
2348</div>
2349</div>
2350<a id="aff9921f194908a3c35015de701723234"></a>
2351<h2 class="memtitle"><span class="permalink"><a href="#aff9921f194908a3c35015de701723234">&#9670;&nbsp;</a></span>AddPermuteLayer()</h2>
2352
2353<div class="memitem">
2354<div class="memproto">
2355<table class="mlabels">
2356 <tr>
2357 <td class="mlabels-left">
2358 <table class="memname">
2359 <tr>
2360 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddPermuteLayer </td>
2361 <td>(</td>
2362 <td class="paramtype">const <a class="el" href="structarmnn_1_1_permute_descriptor.html">PermuteDescriptor</a> &amp;&#160;</td>
2363 <td class="paramname"><em>permuteDescriptor</em>, </td>
2364 </tr>
2365 <tr>
2366 <td class="paramkey"></td>
2367 <td></td>
2368 <td class="paramtype">const char *&#160;</td>
2369 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2370 </tr>
2371 <tr>
2372 <td></td>
2373 <td>)</td>
2374 <td></td><td></td>
2375 </tr>
2376 </table>
2377 </td>
2378 <td class="mlabels-right">
2379<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2380 </tr>
2381</table>
2382</div><div class="memdoc">
2383<p>Adds a permute layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2384 <table class="params">
2385 <tr><td class="paramname">permuteDescriptor</td><td>- <a class="el" href="structarmnn_1_1_permute_descriptor.html" title="A PermuteDescriptor for the PermuteLayer. ">PermuteDescriptor</a> to configure the permute. </td></tr>
2386 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2387 </table>
2388 </dd>
2389</dl>
2390<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2391
2392<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#ab62ebd16892ae3fdfe4ec89561c49d71">INetwork</a>.</p>
2393
2394<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01143">1143</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2395
2396<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2397<div class="fragment"><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;{</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;PermuteLayer&gt;(permuteDescriptor, name);</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;}</div></div><!-- fragment -->
2398</div>
2399</div>
2400<a id="ab8b4e22c47ae0b0f259de353e760a4bf"></a>
2401<h2 class="memtitle"><span class="permalink"><a href="#ab8b4e22c47ae0b0f259de353e760a4bf">&#9670;&nbsp;</a></span>AddPooling2dLayer()</h2>
2402
2403<div class="memitem">
2404<div class="memproto">
2405<table class="mlabels">
2406 <tr>
2407 <td class="mlabels-left">
2408 <table class="memname">
2409 <tr>
2410 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddPooling2dLayer </td>
2411 <td>(</td>
2412 <td class="paramtype">const <a class="el" href="structarmnn_1_1_pooling2d_descriptor.html">Pooling2dDescriptor</a> &amp;&#160;</td>
2413 <td class="paramname"><em>pooling2dDescriptor</em>, </td>
2414 </tr>
2415 <tr>
2416 <td class="paramkey"></td>
2417 <td></td>
2418 <td class="paramtype">const char *&#160;</td>
2419 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2420 </tr>
2421 <tr>
2422 <td></td>
2423 <td>)</td>
2424 <td></td><td></td>
2425 </tr>
2426 </table>
2427 </td>
2428 <td class="mlabels-right">
2429<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2430 </tr>
2431</table>
2432</div><div class="memdoc">
2433<p>Adds a pooling layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2434 <table class="params">
2435 <tr><td class="paramname">pooling2dDescriptor</td><td>- <a class="el" href="structarmnn_1_1_pooling2d_descriptor.html" title="A Pooling2dDescriptor for the Pooling2dLayer. ">Pooling2dDescriptor</a> to configure the pooling. </td></tr>
2436 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2437 </table>
2438 </dd>
2439</dl>
2440<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2441
2442<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a4ec92bca4e51755105abb89e1878585f">INetwork</a>.</p>
2443
2444<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01149">1149</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2445
2446<p class="reference">Referenced by <a class="el" href="_network_tests_8cpp_source.html#l00069">BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2447<div class="fragment"><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;{</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;Pooling2dLayer&gt;(pooling2dDescriptor, name);</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;}</div></div><!-- fragment -->
2448</div>
2449</div>
2450<a id="ae00badf3bdad170348706604b7e6c694"></a>
2451<h2 class="memtitle"><span class="permalink"><a href="#ae00badf3bdad170348706604b7e6c694">&#9670;&nbsp;</a></span>AddPreluLayer()</h2>
2452
2453<div class="memitem">
2454<div class="memproto">
2455<table class="mlabels">
2456 <tr>
2457 <td class="mlabels-left">
2458 <table class="memname">
2459 <tr>
2460 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddPreluLayer </td>
2461 <td>(</td>
2462 <td class="paramtype">const char *&#160;</td>
2463 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
2464 <td></td>
2465 </tr>
2466 </table>
2467 </td>
2468 <td class="mlabels-right">
2469<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2470 </tr>
2471</table>
2472</div><div class="memdoc">
2473<p>Adds a PReLU layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2474 <table class="params">
2475 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2476 </table>
2477 </dd>
2478</dl>
2479<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2480
2481<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#af22f3d4f7258b4f89906128036dbb004">INetwork</a>.</p>
2482
2483<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01502">1502</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2484
2485<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2486<div class="fragment"><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;{</div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;PreluLayer&gt;(name);</div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160;}</div></div><!-- fragment -->
2487</div>
2488</div>
2489<a id="a6a6657fdd77cabea7a9e0a740635735e"></a>
2490<h2 class="memtitle"><span class="permalink"><a href="#a6a6657fdd77cabea7a9e0a740635735e">&#9670;&nbsp;</a></span>AddQuantizedLstmLayer()</h2>
2491
2492<div class="memitem">
2493<div class="memproto">
2494<table class="mlabels">
2495 <tr>
2496 <td class="mlabels-left">
2497 <table class="memname">
2498 <tr>
2499 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddQuantizedLstmLayer </td>
2500 <td>(</td>
2501 <td class="paramtype">const <a class="el" href="structarmnn_1_1_quantized_lstm_input_params.html">QuantizedLstmInputParams</a> &amp;&#160;</td>
2502 <td class="paramname"><em>params</em>, </td>
2503 </tr>
2504 <tr>
2505 <td class="paramkey"></td>
2506 <td></td>
2507 <td class="paramtype">const char *&#160;</td>
2508 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2509 </tr>
2510 <tr>
2511 <td></td>
2512 <td>)</td>
2513 <td></td><td></td>
2514 </tr>
2515 </table>
2516 </td>
2517 <td class="mlabels-right">
2518<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2519 </tr>
2520</table>
2521</div><div class="memdoc">
2522<p>Add a QuantizedLstm layer to the network </p><dl class="params"><dt>Parameters</dt><dd>
2523 <table class="params">
2524 <tr><td class="paramname">params</td><td>- The weights and biases for the Quantized LSTM cell </td></tr>
2525 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer </td></tr>
2526 </table>
2527 </dd>
2528</dl>
2529<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2530
2531<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a4aefd9908eb21a6235e28056eada64fb">INetwork</a>.</p>
2532
2533<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01542">1542</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2534
2535<p class="reference">References <a class="el" href="_quantized_lstm_params_8hpp_source.html#l00108">QuantizedLstmInputParams::GetCellBias()</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.html#l00103">QuantizedLstmInputParams::GetForgetGateBias()</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.html#l00098">QuantizedLstmInputParams::GetInputGateBias()</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.html#l00068">QuantizedLstmInputParams::GetInputToCellWeights()</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.html#l00063">QuantizedLstmInputParams::GetInputToForgetWeights()</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.html#l00058">QuantizedLstmInputParams::GetInputToInputWeights()</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.html#l00073">QuantizedLstmInputParams::GetInputToOutputWeights()</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.html#l00113">QuantizedLstmInputParams::GetOutputGateBias()</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.html#l00088">QuantizedLstmInputParams::GetRecurrentToCellWeights()</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.html#l00083">QuantizedLstmInputParams::GetRecurrentToForgetWeights()</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.html#l00078">QuantizedLstmInputParams::GetRecurrentToInputWeights()</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.html#l00093">QuantizedLstmInputParams::GetRecurrentToOutputWeights()</a>, <a class="el" href="_quantized_lstm_layer_8hpp_source.html#l00017">QuantizedLstmParameters::m_InputToInputWeights</a>, and <a class="el" href="_quantized_lstm_layer_8hpp_source.html#l00049">QuantizedLstmLayer::m_QuantizedLstmParameters</a>.</p>
2536
2537<p class="reference">Referenced by <a class="el" href="_const_tensor_layer_visitor_8cpp_source.html#l01246">armnn::BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2538<div class="fragment"><div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160;{</div><div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> layer = m_Graph-&gt;AddLayer&lt;QuantizedLstmLayer&gt;(name);</div><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160;</div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160; <span class="comment">// InputToX weights</span></div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160; layer-&gt;m_QuantizedLstmParameters.m_InputToInputWeights =</div><div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(params.GetInputToInputWeights());</div><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160; layer-&gt;m_QuantizedLstmParameters.m_InputToForgetWeights =</div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(params.GetInputToForgetWeights());</div><div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160; layer-&gt;m_QuantizedLstmParameters.m_InputToCellWeights =</div><div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(params.GetInputToCellWeights());</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160; layer-&gt;m_QuantizedLstmParameters.m_InputToOutputWeights =</div><div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(params.GetInputToOutputWeights());</div><div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160;</div><div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160; <span class="comment">// RecurrentToX weights</span></div><div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160; layer-&gt;m_QuantizedLstmParameters.m_RecurrentToInputWeights =</div><div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(params.GetRecurrentToInputWeights());</div><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160; layer-&gt;m_QuantizedLstmParameters.m_RecurrentToForgetWeights =</div><div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(params.GetRecurrentToForgetWeights());</div><div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160; layer-&gt;m_QuantizedLstmParameters.m_RecurrentToCellWeights =</div><div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(params.GetRecurrentToCellWeights());</div><div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160; layer-&gt;m_QuantizedLstmParameters.m_RecurrentToOutputWeights =</div><div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(params.GetRecurrentToOutputWeights());</div><div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160;</div><div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160; <span class="comment">// Bias</span></div><div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160; layer-&gt;m_QuantizedLstmParameters.m_InputGateBias =</div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(params.GetInputGateBias());</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160; layer-&gt;m_QuantizedLstmParameters.m_ForgetGateBias =</div><div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(params.GetForgetGateBias());</div><div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160; layer-&gt;m_QuantizedLstmParameters.m_CellBias =</div><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(params.GetCellBias());</div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160; layer-&gt;m_QuantizedLstmParameters.m_OutputGateBias =</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160; std::make_unique&lt;ScopedCpuTensorHandle&gt;(params.GetOutputGateBias());</div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;</div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160; <span class="keywordflow">return</span> layer;</div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160;}</div></div><!-- fragment -->
2539</div>
2540</div>
2541<a id="a4d008f554108aaee4c2c769dcdde685f"></a>
2542<h2 class="memtitle"><span class="permalink"><a href="#a4d008f554108aaee4c2c769dcdde685f">&#9670;&nbsp;</a></span>AddQuantizeLayer()</h2>
2543
2544<div class="memitem">
2545<div class="memproto">
2546<table class="mlabels">
2547 <tr>
2548 <td class="mlabels-left">
2549 <table class="memname">
2550 <tr>
2551 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddQuantizeLayer </td>
2552 <td>(</td>
2553 <td class="paramtype">const char *&#160;</td>
2554 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
2555 <td></td>
2556 </tr>
2557 </table>
2558 </td>
2559 <td class="mlabels-right">
2560<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2561 </tr>
2562</table>
2563</div><div class="memdoc">
2564<p>Add a quantize layer to the network </p><dl class="params"><dt>Parameters</dt><dd>
2565 <table class="params">
2566 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2567 </table>
2568 </dd>
2569</dl>
2570<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2571
2572<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a92563fbf873cb6f9ee980b664e805fa9">INetwork</a>.</p>
2573
2574<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01456">1456</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2575
2576<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2577<div class="fragment"><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;{</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;QuantizeLayer&gt;(name);</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160;}</div></div><!-- fragment -->
2578</div>
2579</div>
2580<a id="a09774b1c2b882e1d573dc507479805b6"></a>
2581<h2 class="memtitle"><span class="permalink"><a href="#a09774b1c2b882e1d573dc507479805b6">&#9670;&nbsp;</a></span>AddReshapeLayer()</h2>
2582
2583<div class="memitem">
2584<div class="memproto">
2585<table class="mlabels">
2586 <tr>
2587 <td class="mlabels-left">
2588 <table class="memname">
2589 <tr>
2590 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddReshapeLayer </td>
2591 <td>(</td>
2592 <td class="paramtype">const <a class="el" href="structarmnn_1_1_reshape_descriptor.html">ReshapeDescriptor</a> &amp;&#160;</td>
2593 <td class="paramname"><em>reshapeDescriptor</em>, </td>
2594 </tr>
2595 <tr>
2596 <td class="paramkey"></td>
2597 <td></td>
2598 <td class="paramtype">const char *&#160;</td>
2599 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2600 </tr>
2601 <tr>
2602 <td></td>
2603 <td>)</td>
2604 <td></td><td></td>
2605 </tr>
2606 </table>
2607 </td>
2608 <td class="mlabels-right">
2609<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2610 </tr>
2611</table>
2612</div><div class="memdoc">
2613<p>Adds a reshape layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2614 <table class="params">
2615 <tr><td class="paramname">reshapeDescriptor</td><td>- Parameters for the reshape operation. </td></tr>
2616 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2617 </table>
2618 </dd>
2619</dl>
2620<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2621
2622<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#ac77b89eb982f9d745730c90fcbdddba4">INetwork</a>.</p>
2623
2624<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01289">1289</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2625
2626<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2627<div class="fragment"><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;{</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;ReshapeLayer&gt;(reshapeDescriptor, name);</div><div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;}</div></div><!-- fragment -->
2628</div>
2629</div>
2630<a id="acae7df585b6c920cecd8065f0e16ff9b"></a>
2631<h2 class="memtitle"><span class="permalink"><a href="#acae7df585b6c920cecd8065f0e16ff9b">&#9670;&nbsp;</a></span>AddResizeBilinearLayer()</h2>
2632
2633<div class="memitem">
2634<div class="memproto">
2635<table class="mlabels">
2636 <tr>
2637 <td class="mlabels-left">
2638 <table class="memname">
2639 <tr>
2640 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddResizeBilinearLayer </td>
2641 <td>(</td>
2642 <td class="paramtype">const <a class="el" href="structarmnn_1_1_resize_bilinear_descriptor.html">ResizeBilinearDescriptor</a> &amp;&#160;</td>
2643 <td class="paramname"><em>resizeDesc</em>, </td>
2644 </tr>
2645 <tr>
2646 <td class="paramkey"></td>
2647 <td></td>
2648 <td class="paramtype">const char *&#160;</td>
2649 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2650 </tr>
2651 <tr>
2652 <td></td>
2653 <td>)</td>
2654 <td></td><td></td>
2655 </tr>
2656 </table>
2657 </td>
2658 <td class="mlabels-right">
2659<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2660 </tr>
2661</table>
2662</div><div class="memdoc">
2663<p>Adds a resize bilinear layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2664 <table class="params">
2665 <tr><td class="paramname">resizeDesc</td><td>- Parameters for the resize operation. </td></tr>
2666 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2667 </table>
2668 </dd>
2669</dl>
2670<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2671
2672<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a52829711d80cfb7fc2ca298fe2ab035d">INetwork</a>.</p>
2673
2674<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01244">1244</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2675
2676<p class="reference">References <a class="el" href="namespacearmnn.html#a9a2af2f8c4af4f9efa8e79417d505ac4aaf17c98bbd83c27d6426d2ff3fa81d7f">armnn::Bilinear</a>, <a class="el" href="_descriptors_8hpp_source.html#l00720">ResizeBilinearDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.html#l00751">ResizeDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.html#l00749">ResizeDescriptor::m_Method</a>, <a class="el" href="_descriptors_8hpp_source.html#l00718">ResizeBilinearDescriptor::m_TargetHeight</a>, <a class="el" href="_descriptors_8hpp_source.html#l00746">ResizeDescriptor::m_TargetHeight</a>, <a class="el" href="_descriptors_8hpp_source.html#l00716">ResizeBilinearDescriptor::m_TargetWidth</a>, and <a class="el" href="_descriptors_8hpp_source.html#l00744">ResizeDescriptor::m_TargetWidth</a>.</p>
2677
2678<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2679<div class="fragment"><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;{</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160; ResizeDescriptor resizeDescriptor;</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160; resizeDescriptor.m_Method = <a class="code" href="namespacearmnn.html#a9a2af2f8c4af4f9efa8e79417d505ac4aaf17c98bbd83c27d6426d2ff3fa81d7f">ResizeMethod::Bilinear</a>;</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160; resizeDescriptor.m_DataLayout = descriptor.m_DataLayout;</div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160; resizeDescriptor.m_TargetWidth = descriptor.m_TargetWidth;</div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160; resizeDescriptor.m_TargetHeight = descriptor.m_TargetHeight;</div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;ResizeLayer&gt;(resizeDescriptor, name);</div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_a9a2af2f8c4af4f9efa8e79417d505ac4aaf17c98bbd83c27d6426d2ff3fa81d7f"><div class="ttname"><a href="namespacearmnn.html#a9a2af2f8c4af4f9efa8e79417d505ac4aaf17c98bbd83c27d6426d2ff3fa81d7f">armnn::ResizeMethod::Bilinear</a></div></div>
2680</div><!-- fragment -->
2681</div>
2682</div>
2683<a id="aa1ee88eebe67898c50a4ca259de49bbc"></a>
2684<h2 class="memtitle"><span class="permalink"><a href="#aa1ee88eebe67898c50a4ca259de49bbc">&#9670;&nbsp;</a></span>AddResizeLayer()</h2>
2685
2686<div class="memitem">
2687<div class="memproto">
2688<table class="mlabels">
2689 <tr>
2690 <td class="mlabels-left">
2691 <table class="memname">
2692 <tr>
2693 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddResizeLayer </td>
2694 <td>(</td>
2695 <td class="paramtype">const <a class="el" href="structarmnn_1_1_resize_descriptor.html">ResizeDescriptor</a> &amp;&#160;</td>
2696 <td class="paramname"><em>resizeDescriptor</em>, </td>
2697 </tr>
2698 <tr>
2699 <td class="paramkey"></td>
2700 <td></td>
2701 <td class="paramtype">const char *&#160;</td>
2702 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2703 </tr>
2704 <tr>
2705 <td></td>
2706 <td>)</td>
2707 <td></td><td></td>
2708 </tr>
2709 </table>
2710 </td>
2711 <td class="mlabels-right">
2712<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2713 </tr>
2714</table>
2715</div><div class="memdoc">
2716<p>Adds a resize layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2717 <table class="params">
2718 <tr><td class="paramname">resizeDescriptor</td><td>- Parameters for the resize operation. </td></tr>
2719 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2720 </table>
2721 </dd>
2722</dl>
2723<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2724
2725<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a617aeb663e1535568864c23f5d988dd8">INetwork</a>.</p>
2726
2727<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01256">1256</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2728
2729<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2730<div class="fragment"><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;{</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;ResizeLayer&gt;(resizeDescriptor, name);</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;}</div></div><!-- fragment -->
2731</div>
2732</div>
2733<a id="ac107b7e1d91f17f2023ea9ed113f559c"></a>
2734<h2 class="memtitle"><span class="permalink"><a href="#ac107b7e1d91f17f2023ea9ed113f559c">&#9670;&nbsp;</a></span>AddRsqrtLayer()</h2>
2735
2736<div class="memitem">
2737<div class="memproto">
2738<table class="mlabels">
2739 <tr>
2740 <td class="mlabels-left">
2741 <table class="memname">
2742 <tr>
2743 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddRsqrtLayer </td>
2744 <td>(</td>
2745 <td class="paramtype">const char *&#160;</td>
2746 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
2747 <td></td>
2748 </tr>
2749 </table>
2750 </td>
2751 <td class="mlabels-right">
2752<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2753 </tr>
2754</table>
2755</div><div class="memdoc">
2756<p>Add Reciprocal of square root layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2757 <table class="params">
2758 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. @ return - Interface for configuring the layer. </td></tr>
2759 </table>
2760 </dd>
2761</dl>
2762
2763<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a75d776349a203f50cfc66b3035565d8a">INetwork</a>.</p>
2764
2765<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01482">1482</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2766
2767<p class="reference">References <a class="el" href="_network_8cpp_source.html#l00970">Network::AddElementwiseUnaryLayer()</a>, and <a class="el" href="namespacearmnn.html#a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4">armnn::Rsqrt</a>.</p>
2768
2769<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2770<div class="fragment"><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;{</div><div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_network.html#a99093f440e7e0ba4c8dcc90c3ec8cf4d">AddElementwiseUnaryLayer</a>(ElementwiseUnaryDescriptor(<a class="code" href="namespacearmnn.html#a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4">UnaryOperation::Rsqrt</a>), name);</div><div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_network_html_a99093f440e7e0ba4c8dcc90c3ec8cf4d"><div class="ttname"><a href="classarmnn_1_1_network.html#a99093f440e7e0ba4c8dcc90c3ec8cf4d">armnn::Network::AddElementwiseUnaryLayer</a></div><div class="ttdeci">IConnectableLayer * AddElementwiseUnaryLayer(const ElementwiseUnaryDescriptor &amp;elementwiseUnaryDescriptor, const char *name=nullptr) override</div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.html#l00970">Network.cpp:970</a></div></div>
2771<div class="ttc" id="namespacearmnn_html_a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4"><div class="ttname"><a href="namespacearmnn.html#a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4">armnn::UnaryOperation::Rsqrt</a></div></div>
2772</div><!-- fragment -->
2773</div>
2774</div>
2775<a id="ad445d732cda17f0a552fa916f59fed8d"></a>
2776<h2 class="memtitle"><span class="permalink"><a href="#ad445d732cda17f0a552fa916f59fed8d">&#9670;&nbsp;</a></span>AddSliceLayer()</h2>
2777
2778<div class="memitem">
2779<div class="memproto">
2780<table class="mlabels">
2781 <tr>
2782 <td class="mlabels-left">
2783 <table class="memname">
2784 <tr>
2785 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddSliceLayer </td>
2786 <td>(</td>
2787 <td class="paramtype">const <a class="el" href="structarmnn_1_1_slice_descriptor.html">SliceDescriptor</a> &amp;&#160;</td>
2788 <td class="paramname"><em>sliceDescriptor</em>, </td>
2789 </tr>
2790 <tr>
2791 <td class="paramkey"></td>
2792 <td></td>
2793 <td class="paramtype">const char *&#160;</td>
2794 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2795 </tr>
2796 <tr>
2797 <td></td>
2798 <td>)</td>
2799 <td></td><td></td>
2800 </tr>
2801 </table>
2802 </td>
2803 <td class="mlabels-right">
2804<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2805 </tr>
2806</table>
2807</div><div class="memdoc">
2808<p>Adds a slice layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2809 <table class="params">
2810 <tr><td class="paramname">sliceDescriptor</td><td>- <a class="el" href="structarmnn_1_1_slice_descriptor.html" title="A SliceDescriptor for the SliceLayer. ">SliceDescriptor</a> to configure the slice operation. </td></tr>
2811 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2812 </table>
2813 </dd>
2814</dl>
2815<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2816
2817<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a3c9c8780d160491ec37d7fe40e4c2b62">INetwork</a>.</p>
2818
2819<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01174">1174</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2820
2821<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2822<div class="fragment"><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;{</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;SliceLayer&gt;(sliceDescriptor, name);</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;}</div></div><!-- fragment -->
2823</div>
2824</div>
2825<a id="a8b1fbac089170c35fcb98d7012859428"></a>
2826<h2 class="memtitle"><span class="permalink"><a href="#a8b1fbac089170c35fcb98d7012859428">&#9670;&nbsp;</a></span>AddSoftmaxLayer()</h2>
2827
2828<div class="memitem">
2829<div class="memproto">
2830<table class="mlabels">
2831 <tr>
2832 <td class="mlabels-left">
2833 <table class="memname">
2834 <tr>
2835 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddSoftmaxLayer </td>
2836 <td>(</td>
2837 <td class="paramtype">const <a class="el" href="structarmnn_1_1_softmax_descriptor.html">SoftmaxDescriptor</a> &amp;&#160;</td>
2838 <td class="paramname"><em>softmaxDescriptor</em>, </td>
2839 </tr>
2840 <tr>
2841 <td class="paramkey"></td>
2842 <td></td>
2843 <td class="paramtype">const char *&#160;</td>
2844 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2845 </tr>
2846 <tr>
2847 <td></td>
2848 <td>)</td>
2849 <td></td><td></td>
2850 </tr>
2851 </table>
2852 </td>
2853 <td class="mlabels-right">
2854<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2855 </tr>
2856</table>
2857</div><div class="memdoc">
2858<p>Adds a softmax layer to the network. If the data type is QAsymm8, then the output quantization parameters must have a scale of 1/256 and an offset of 0 </p><dl class="params"><dt>Parameters</dt><dd>
2859 <table class="params">
2860 <tr><td class="paramname">softmaxDescriptor</td><td>- <a class="el" href="structarmnn_1_1_softmax_descriptor.html" title="A SoftmaxDescriptor for the SoftmaxLayer. ">SoftmaxDescriptor</a> to configure the softmax. </td></tr>
2861 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2862 </table>
2863 </dd>
2864</dl>
2865<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2866
2867<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a53949668a151924c4aad83b176db1080">INetwork</a>.</p>
2868
2869<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01179">1179</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2870
2871<p class="reference">Referenced by <a class="el" href="_network_tests_8cpp_source.html#l00069">BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2872<div class="fragment"><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;{</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;SoftmaxLayer&gt;(softmaxDescriptor, name);</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;}</div></div><!-- fragment -->
2873</div>
2874</div>
2875<a id="a9e234ae3b84213cb9fce636cfc2302bb"></a>
2876<h2 class="memtitle"><span class="permalink"><a href="#a9e234ae3b84213cb9fce636cfc2302bb">&#9670;&nbsp;</a></span>AddSpaceToBatchNdLayer()</h2>
2877
2878<div class="memitem">
2879<div class="memproto">
2880<table class="mlabels">
2881 <tr>
2882 <td class="mlabels-left">
2883 <table class="memname">
2884 <tr>
2885 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddSpaceToBatchNdLayer </td>
2886 <td>(</td>
2887 <td class="paramtype">const <a class="el" href="structarmnn_1_1_space_to_batch_nd_descriptor.html">SpaceToBatchNdDescriptor</a> &amp;&#160;</td>
2888 <td class="paramname"><em>spaceToBatchNdDescriptor</em>, </td>
2889 </tr>
2890 <tr>
2891 <td class="paramkey"></td>
2892 <td></td>
2893 <td class="paramtype">const char *&#160;</td>
2894 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2895 </tr>
2896 <tr>
2897 <td></td>
2898 <td>)</td>
2899 <td></td><td></td>
2900 </tr>
2901 </table>
2902 </td>
2903 <td class="mlabels-right">
2904<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2905 </tr>
2906</table>
2907</div><div class="memdoc">
2908<p>Adds a space to batch layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2909 <table class="params">
2910 <tr><td class="paramname">spaceToBatchNdDescriptor</td><td>- Parameters for the space to batch operation. </td></tr>
2911 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2912 </table>
2913 </dd>
2914</dl>
2915<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2916
2917<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a22bff5c3ec61f7e61038f920343aa19b">INetwork</a>.</p>
2918
2919<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01295">1295</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2920
2921<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2922<div class="fragment"><div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;{</div><div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;SpaceToBatchNdLayer&gt;(spaceToBatchNdDescriptor, name);</div><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;}</div></div><!-- fragment -->
2923</div>
2924</div>
2925<a id="afa43cbc86ae43ce6ee468347b30229c4"></a>
2926<h2 class="memtitle"><span class="permalink"><a href="#afa43cbc86ae43ce6ee468347b30229c4">&#9670;&nbsp;</a></span>AddSpaceToDepthLayer()</h2>
2927
2928<div class="memitem">
2929<div class="memproto">
2930<table class="mlabels">
2931 <tr>
2932 <td class="mlabels-left">
2933 <table class="memname">
2934 <tr>
2935 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddSpaceToDepthLayer </td>
2936 <td>(</td>
2937 <td class="paramtype">const <a class="el" href="structarmnn_1_1_space_to_depth_descriptor.html">SpaceToDepthDescriptor</a> &amp;&#160;</td>
2938 <td class="paramname"><em>spaceToDepthDescriptor</em>, </td>
2939 </tr>
2940 <tr>
2941 <td class="paramkey"></td>
2942 <td></td>
2943 <td class="paramtype">const char *&#160;</td>
2944 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2945 </tr>
2946 <tr>
2947 <td></td>
2948 <td>)</td>
2949 <td></td><td></td>
2950 </tr>
2951 </table>
2952 </td>
2953 <td class="mlabels-right">
2954<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2955 </tr>
2956</table>
2957</div><div class="memdoc">
2958<p>Adds a space to depth layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
2959 <table class="params">
2960 <tr><td class="paramname">spaceToDepthDescriptor</td><td>- Parameters for the space to depth operation. </td></tr>
2961 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
2962 </table>
2963 </dd>
2964</dl>
2965<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
2966
2967<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a44a41ae9bf893dc0224e4d67a9ca1b39">INetwork</a>.</p>
2968
2969<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01301">1301</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
2970
2971<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
2972<div class="fragment"><div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;{</div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;SpaceToDepthLayer&gt;(spaceToDepthDescriptor, name);</div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;}</div></div><!-- fragment -->
2973</div>
2974</div>
2975<a id="acb8e86be339d57b32f0ba3d9293c880b"></a>
2976<h2 class="memtitle"><span class="permalink"><a href="#acb8e86be339d57b32f0ba3d9293c880b">&#9670;&nbsp;</a></span>AddSplitterLayer()</h2>
2977
2978<div class="memitem">
2979<div class="memproto">
2980<table class="mlabels">
2981 <tr>
2982 <td class="mlabels-left">
2983 <table class="memname">
2984 <tr>
2985 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddSplitterLayer </td>
2986 <td>(</td>
2987 <td class="paramtype">const <a class="el" href="structarmnn_1_1_views_descriptor.html">ViewsDescriptor</a> &amp;&#160;</td>
2988 <td class="paramname"><em>splitterDescriptor</em>, </td>
2989 </tr>
2990 <tr>
2991 <td class="paramkey"></td>
2992 <td></td>
2993 <td class="paramtype">const char *&#160;</td>
2994 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
2995 </tr>
2996 <tr>
2997 <td></td>
2998 <td>)</td>
2999 <td></td><td></td>
3000 </tr>
3001 </table>
3002 </td>
3003 <td class="mlabels-right">
3004<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3005 </tr>
3006</table>
3007</div><div class="memdoc">
3008<p>Adds a splitter layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
3009 <table class="params">
3010 <tr><td class="paramname">splitterDescriptor</td><td>- <a class="el" href="structarmnn_1_1_views_descriptor.html" title="A ViewsDescriptor for the SplitterLayer. Descriptor to configure the splitting process. Number of Views must be equal to the number of outputs, and their order must match - e.g. first view corresponds to the first output, second view to the second output, etc. ">ViewsDescriptor</a> to configure the splitting process. Number of Views must be equal to the number of outputs, and their order must match - e.g. first view corresponds to the first output, second view to the second output, etc.... </td></tr>
3011 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
3012 </table>
3013 </dd>
3014</dl>
3015<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
3016
3017<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a3a2dbac031f1a0b1b323916b1c7f61d2">INetwork</a>.</p>
3018
3019<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01185">1185</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
3020
3021<p class="reference">Referenced by <a class="el" href="_network_tests_8cpp_source.html#l00229">BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
3022<div class="fragment"><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;{</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;SplitterLayer&gt;(splitterDescriptor, name);</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;}</div></div><!-- fragment -->
3023</div>
3024</div>
3025<a id="a204e14633b366322221f04c76ed275e3"></a>
3026<h2 class="memtitle"><span class="permalink"><a href="#a204e14633b366322221f04c76ed275e3">&#9670;&nbsp;</a></span>AddStackLayer()</h2>
3027
3028<div class="memitem">
3029<div class="memproto">
3030<table class="mlabels">
3031 <tr>
3032 <td class="mlabels-left">
3033 <table class="memname">
3034 <tr>
3035 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddStackLayer </td>
3036 <td>(</td>
3037 <td class="paramtype">const <a class="el" href="structarmnn_1_1_stack_descriptor.html">StackDescriptor</a> &amp;&#160;</td>
3038 <td class="paramname"><em>descriptor</em>, </td>
3039 </tr>
3040 <tr>
3041 <td class="paramkey"></td>
3042 <td></td>
3043 <td class="paramtype">const char *&#160;</td>
3044 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
3045 </tr>
3046 <tr>
3047 <td></td>
3048 <td>)</td>
3049 <td></td><td></td>
3050 </tr>
3051 </table>
3052 </td>
3053 <td class="mlabels-right">
3054<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3055 </tr>
3056</table>
3057</div><div class="memdoc">
3058<p>Adds a stack layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
3059 <table class="params">
3060 <tr><td class="paramname">descriptor</td><td>- Description of the stack layer. </td></tr>
3061 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
3062 </table>
3063 </dd>
3064</dl>
3065<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
3066
3067<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#afaa808f44f0b8332ec0bd54f4fea47c0">INetwork</a>.</p>
3068
3069<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01529">1529</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
3070
3071<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
3072<div class="fragment"><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;{</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;StackLayer&gt;(stackDescriptor, name);</div><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160;}</div></div><!-- fragment -->
3073</div>
3074</div>
3075<a id="a18aea8e0700f679353afb0a0cb9e0c84"></a>
3076<h2 class="memtitle"><span class="permalink"><a href="#a18aea8e0700f679353afb0a0cb9e0c84">&#9670;&nbsp;</a></span>AddStandInLayer()</h2>
3077
3078<div class="memitem">
3079<div class="memproto">
3080<table class="mlabels">
3081 <tr>
3082 <td class="mlabels-left">
3083 <table class="memname">
3084 <tr>
3085 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddStandInLayer </td>
3086 <td>(</td>
3087 <td class="paramtype">const <a class="el" href="structarmnn_1_1_stand_in_descriptor.html">StandInDescriptor</a> &amp;&#160;</td>
3088 <td class="paramname"><em>descriptor</em>, </td>
3089 </tr>
3090 <tr>
3091 <td class="paramkey"></td>
3092 <td></td>
3093 <td class="paramtype">const char *&#160;</td>
3094 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
3095 </tr>
3096 <tr>
3097 <td></td>
3098 <td>)</td>
3099 <td></td><td></td>
3100 </tr>
3101 </table>
3102 </td>
3103 <td class="mlabels-right">
3104<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3105 </tr>
3106</table>
3107</div><div class="memdoc">
3108<p>Add a stand-in layer for a type unknown to the Arm NN framework. Note: Due to the nature of this layer, no validation can be performed by the framework. Furthermore, Any model containing this layer cannot make use of dynamic tensors since the tensor sizes cannot be inferred. - Descriptor for the StandIn layer. </p><dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
3109
3110<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#adc9a8e1169132f539ded502661ff628c">INetwork</a>.</p>
3111
3112<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01536">1536</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
3113
3114<p class="reference">Referenced by <a class="el" href="_network_tests_8cpp_source.html#l00476">BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
3115<div class="fragment"><div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160;{</div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;StandInLayer&gt;(desc, name);</div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160;}</div></div><!-- fragment -->
3116</div>
3117</div>
3118<a id="a9bf4cfcac428b1331ff83c45f1166665"></a>
3119<h2 class="memtitle"><span class="permalink"><a href="#a9bf4cfcac428b1331ff83c45f1166665">&#9670;&nbsp;</a></span>AddStridedSliceLayer()</h2>
3120
3121<div class="memitem">
3122<div class="memproto">
3123<table class="mlabels">
3124 <tr>
3125 <td class="mlabels-left">
3126 <table class="memname">
3127 <tr>
3128 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddStridedSliceLayer </td>
3129 <td>(</td>
3130 <td class="paramtype">const <a class="el" href="structarmnn_1_1_strided_slice_descriptor.html">StridedSliceDescriptor</a> &amp;&#160;</td>
3131 <td class="paramname"><em>stridedSliceDescriptor</em>, </td>
3132 </tr>
3133 <tr>
3134 <td class="paramkey"></td>
3135 <td></td>
3136 <td class="paramtype">const char *&#160;</td>
3137 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
3138 </tr>
3139 <tr>
3140 <td></td>
3141 <td>)</td>
3142 <td></td><td></td>
3143 </tr>
3144 </table>
3145 </td>
3146 <td class="mlabels-right">
3147<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3148 </tr>
3149</table>
3150</div><div class="memdoc">
3151<p>Adds a strided slice layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
3152 <table class="params">
3153 <tr><td class="paramname"><a class="el" href="structarmnn_1_1_strided_slice_descriptor.html" title="A StridedSliceDescriptor for the StridedSliceLayer. ">StridedSliceDescriptor</a></td><td>- Parameters for the strided slice operation. </td></tr>
3154 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
3155 </table>
3156 </dd>
3157</dl>
3158<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
3159
3160<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a348f95b60998a987ba20a58bfc720590">INetwork</a>.</p>
3161
3162<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01466">1466</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
3163
3164<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
3165<div class="fragment"><div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160;{</div><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;StridedSliceLayer&gt;(stridedSliceDescriptor, name);</div><div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;}</div></div><!-- fragment -->
3166</div>
3167</div>
3168<a id="a59a557b3b913730cf1153f1337a64496"></a>
3169<h2 class="memtitle"><span class="permalink"><a href="#a59a557b3b913730cf1153f1337a64496">&#9670;&nbsp;</a></span>AddSubtractionLayer()</h2>
3170
3171<div class="memitem">
3172<div class="memproto">
3173<table class="mlabels">
3174 <tr>
3175 <td class="mlabels-left">
3176 <table class="memname">
3177 <tr>
3178 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddSubtractionLayer </td>
3179 <td>(</td>
3180 <td class="paramtype">const char *&#160;</td>
3181 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
3182 <td></td>
3183 </tr>
3184 </table>
3185 </td>
3186 <td class="mlabels-right">
3187<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3188 </tr>
3189</table>
3190</div><div class="memdoc">
3191<p>Adds a subtraction layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
3192 <table class="params">
3193 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
3194 </table>
3195 </dd>
3196</dl>
3197<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
3198
3199<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#ab6d332d9c4b4f04c23f40f04f7f56d0d">INetwork</a>.</p>
3200
3201<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01441">1441</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
3202
3203<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
3204<div class="fragment"><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;{</div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;SubtractionLayer&gt;(name);</div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;}</div></div><!-- fragment -->
3205</div>
3206</div>
3207<a id="a48a6892297a07e5d87020b9b817e2224"></a>
3208<h2 class="memtitle"><span class="permalink"><a href="#a48a6892297a07e5d87020b9b817e2224">&#9670;&nbsp;</a></span>AddSwitchLayer()</h2>
3209
3210<div class="memitem">
3211<div class="memproto">
3212<table class="mlabels">
3213 <tr>
3214 <td class="mlabels-left">
3215 <table class="memname">
3216 <tr>
3217 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddSwitchLayer </td>
3218 <td>(</td>
3219 <td class="paramtype">const char *&#160;</td>
3220 <td class="paramname"><em>name</em> = <code>nullptr</code></td><td>)</td>
3221 <td></td>
3222 </tr>
3223 </table>
3224 </td>
3225 <td class="mlabels-right">
3226<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3227 </tr>
3228</table>
3229</div><div class="memdoc">
3230<p>Adds a switch layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
3231 <table class="params">
3232 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
3233 </table>
3234 </dd>
3235</dl>
3236<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
3237
3238<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#af0850b9c758dff45e635515c27a496f8">INetwork</a>.</p>
3239
3240<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01497">1497</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
3241
3242<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
3243<div class="fragment"><div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160;{</div><div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160; <span class="keywordflow">return</span> m_Graph-&gt;AddLayer&lt;SwitchLayer&gt;(name);</div><div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160;}</div></div><!-- fragment -->
3244</div>
3245</div>
3246<a id="a59f6284064bfe8f2fbdb997fc3b65586"></a>
3247<h2 class="memtitle"><span class="permalink"><a href="#a59f6284064bfe8f2fbdb997fc3b65586">&#9670;&nbsp;</a></span>AddTransposeConvolution2dLayer()</h2>
3248
3249<div class="memitem">
3250<div class="memproto">
3251<table class="mlabels">
3252 <tr>
3253 <td class="mlabels-left">
3254 <table class="memname">
3255 <tr>
3256 <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> * AddTransposeConvolution2dLayer </td>
3257 <td>(</td>
3258 <td class="paramtype">const <a class="el" href="structarmnn_1_1_transpose_convolution2d_descriptor.html">TransposeConvolution2dDescriptor</a> &amp;&#160;</td>
3259 <td class="paramname"><em>descriptor</em>, </td>
3260 </tr>
3261 <tr>
3262 <td class="paramkey"></td>
3263 <td></td>
3264 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
3265 <td class="paramname"><em>weights</em>, </td>
3266 </tr>
3267 <tr>
3268 <td class="paramkey"></td>
3269 <td></td>
3270 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;&#160;</td>
3271 <td class="paramname"><em>biases</em>, </td>
3272 </tr>
3273 <tr>
3274 <td class="paramkey"></td>
3275 <td></td>
3276 <td class="paramtype">const char *&#160;</td>
3277 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
3278 </tr>
3279 <tr>
3280 <td></td>
3281 <td>)</td>
3282 <td></td><td></td>
3283 </tr>
3284 </table>
3285 </td>
3286 <td class="mlabels-right">
3287<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3288 </tr>
3289</table>
3290</div><div class="memdoc">
3291<p>Adds a 2D transpose convolution layer to the network. </p><dl class="params"><dt>Parameters</dt><dd>
3292 <table class="params">
3293 <tr><td class="paramname">descriptor</td><td>- Description of the 2D transpose convolution layer. </td></tr>
3294 <tr><td class="paramname">weights</td><td>- <a class="el" href="classarmnn_1_1_tensor.html" title="A tensor defined by a TensorInfo (shape and data type) and a mutable backing store. ">Tensor</a> for the weights data. </td></tr>
3295 <tr><td class="paramname">biases</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> tensor for the bias data. </td></tr>
3296 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
3297 </table>
3298 </dd>
3299</dl>
3300<dl class="section return"><dt>Returns</dt><dd>- Interface for configuring the layer. </dd></dl>
3301
3302<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a07a1a4b8bdbec7bae0d40cbfb4991612">INetwork</a>.</p>
3303
3304<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l01507">1507</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
3305
3306<p class="reference">References <a class="el" href="_optional_8hpp_source.html#l00053">OptionalBase::has_value()</a>, <a class="el" href="_descriptors_8hpp_source.html#l01117">TransposeConvolution2dDescriptor::m_BiasEnabled</a>, <a class="el" href="_transpose_convolution2d_layer_8hpp_source.html#l00019">TransposeConvolution2dLayer::m_Weight</a>, and <a class="el" href="_optional_8hpp_source.html#l00146">OptionalReferenceSwitch&lt; std::is_reference&lt; T &gt;::value, T &gt;::value()</a>.</p>
3307
3308<p class="reference">Referenced by <a class="el" href="_network_8hpp_source.html#l00037">Network::GetGuid()</a>.</p>
3309<div class="fragment"><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;{</div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160; <span class="keywordflow">if</span> (descriptor.m_BiasEnabled &amp;&amp; !biases.has_value())</div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160; {</div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160; <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">&quot;AddTransposeConvolution2dLayer: Biases cannot be empty&quot;</span>);</div><div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160; }</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;</div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> layer = m_Graph-&gt;AddLayer&lt;TransposeConvolution2dLayer&gt;(descriptor, name);</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;</div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160; layer-&gt;m_Weight = std::make_unique&lt;ScopedCpuTensorHandle&gt;(weights);</div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160;</div><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160; <span class="keywordflow">if</span> (descriptor.m_BiasEnabled)</div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160; {</div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160; layer-&gt;m_Bias = std::make_unique&lt;ScopedCpuTensorHandle&gt;(biases.value());</div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160; }</div><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;</div><div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160; <span class="keywordflow">return</span> layer;</div><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;}</div></div><!-- fragment -->
3310</div>
3311</div>
3312<a id="afe0a4f719f9752a405e71878da7012ba"></a>
3313<h2 class="memtitle"><span class="permalink"><a href="#afe0a4f719f9752a405e71878da7012ba">&#9670;&nbsp;</a></span>GetGraph()</h2>
3314
3315<div class="memitem">
3316<div class="memproto">
3317<table class="mlabels">
3318 <tr>
3319 <td class="mlabels-left">
3320 <table class="memname">
3321 <tr>
3322 <td class="memname">const <a class="el" href="classarmnn_1_1_graph.html">Graph</a>&amp; GetGraph </td>
3323 <td>(</td>
3324 <td class="paramname"></td><td>)</td>
3325 <td> const</td>
3326 </tr>
3327 </table>
3328 </td>
3329 <td class="mlabels-right">
3330<span class="mlabels"><span class="mlabel">inline</span></span> </td>
3331 </tr>
3332</table>
3333</div><div class="memdoc">
3334
3335<p class="definition">Definition at line <a class="el" href="_network_8hpp_source.html#l00033">33</a> of file <a class="el" href="_network_8hpp_source.html">Network.hpp</a>.</p>
3336
3337<p class="reference">References <a class="el" href="_network_8cpp_source.html#l00947">Network::PrintGraph()</a>.</p>
3338
3339<p class="reference">Referenced by <a class="el" href="_network_8cpp_source.html#l01580">Network::Accept()</a>, <a class="el" href="_network_tests_8cpp_source.html#l00069">BOOST_AUTO_TEST_CASE()</a>, <a class="el" href="_quantizer_test_8cpp_source.html#l00871">armnn::BOOST_AUTO_TEST_CASE()</a>, <a class="el" href="_quantizer_test_8cpp_source.html#l00337">armnn::GetInputTensorInfo()</a>, and <a class="el" href="_network_8cpp_source.html#l00807">armnn::Optimize()</a>.</p>
3340<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{ <span class="keywordflow">return</span> *m_Graph; }</div></div><!-- fragment -->
3341</div>
3342</div>
3343<a id="a29c2c6dd77c6fe10674fc6876751cbce"></a>
3344<h2 class="memtitle"><span class="permalink"><a href="#a29c2c6dd77c6fe10674fc6876751cbce">&#9670;&nbsp;</a></span>GetGuid()</h2>
3345
3346<div class="memitem">
3347<div class="memproto">
3348<table class="mlabels">
3349 <tr>
3350 <td class="mlabels-left">
3351 <table class="memname">
3352 <tr>
3353 <td class="memname"><a class="el" href="classarmnn_1_1profiling_1_1_profiling_guid.html">profiling::ProfilingGuid</a> GetGuid </td>
3354 <td>(</td>
3355 <td class="paramname"></td><td>)</td>
3356 <td> const</td>
3357 </tr>
3358 </table>
3359 </td>
3360 <td class="mlabels-right">
3361<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">final</span><span class="mlabel">virtual</span></span> </td>
3362 </tr>
3363</table>
3364</div><div class="memdoc">
3365
3366<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#acb0f384aead510900e20318cabe58a59">INetwork</a>.</p>
3367
3368<p class="definition">Definition at line <a class="el" href="_network_8hpp_source.html#l00037">37</a> of file <a class="el" href="_network_8hpp_source.html">Network.hpp</a>.</p>
3369
3370<p class="reference">References <a class="el" href="_network_8cpp_source.html#l01580">Network::Accept()</a>, <a class="el" href="_network_8cpp_source.html#l01207">Network::AddAbsLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01155">Network::AddActivationLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01212">Network::AddAdditionLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01161">Network::AddArgMinMaxLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01227">Network::AddBatchNormalizationLayer()</a>, <a class="el" href="_network_8cpp_source.html#l00958">Network::AddBatchToSpaceNdLayer()</a>, <a class="el" href="_network_8cpp_source.html#l00964">Network::AddComparisonLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01023">Network::AddConcatLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01280">Network::AddConstantLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01051">Network::AddConvolution2dLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01099">Network::AddDepthToSpaceLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01105">Network::AddDepthwiseConvolution2dLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01461">Network::AddDequantizeLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01133">Network::AddDetectionPostProcessLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01436">Network::AddDivisionLayer()</a>, <a class="el" href="_network_8cpp_source.html#l00970">Network::AddElementwiseUnaryLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01477">Network::AddEqualLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01307">Network::AddFloorLayer()</a>, <a class="el" href="_network_8cpp_source.html#l00998">Network::AddFullyConnectedLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01487">Network::AddGatherLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01472">Network::AddGreaterLayer()</a>, <a class="el" href="_network_8cpp_source.html#l00953">Network::AddInputLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01262">Network::AddInstanceNormalizationLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01268">Network::AddL2NormalizationLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01274">Network::AddLogSoftmaxLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01312">Network::AddLstmLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01191">Network::AddMaximumLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01446">Network::AddMeanLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01492">Network::AddMergeLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01201">Network::AddMergerLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01196">Network::AddMinimumLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01217">Network::AddMultiplicationLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01167">Network::AddNormalizationLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01222">Network::AddOutputLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01451">Network::AddPadLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01143">Network::AddPermuteLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01149">Network::AddPooling2dLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01502">Network::AddPreluLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01542">Network::AddQuantizedLstmLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01456">Network::AddQuantizeLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01289">Network::AddReshapeLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01244">Network::AddResizeBilinearLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01256">Network::AddResizeLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01482">Network::AddRsqrtLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01174">Network::AddSliceLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01179">Network::AddSoftmaxLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01295">Network::AddSpaceToBatchNdLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01301">Network::AddSpaceToDepthLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01185">Network::AddSplitterLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01529">Network::AddStackLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01536">Network::AddStandInLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01466">Network::AddStridedSliceLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01441">Network::AddSubtractionLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01497">Network::AddSwitchLayer()</a>, <a class="el" href="_network_8cpp_source.html#l01507">Network::AddTransposeConvolution2dLayer()</a>, <a class="el" href="_neon_end_to_end_tests_8cpp.html#ac0981848e4ae57729f14f72bd4caa9f8">anchors()</a>, and <a class="el" href="_deprecated_8hpp_source.html#l00043">ARMNN_DEPRECATED_MSG</a>.</p>
3371<div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{ <span class="keywordflow">return</span> m_Guid; };</div></div><!-- fragment -->
3372</div>
3373</div>
3374<a id="a9aa1b214fcaec2371fe4226bd126fb73"></a>
3375<h2 class="memtitle"><span class="permalink"><a href="#a9aa1b214fcaec2371fe4226bd126fb73">&#9670;&nbsp;</a></span>PrintGraph()</h2>
3376
3377<div class="memitem">
3378<div class="memproto">
3379<table class="mlabels">
3380 <tr>
3381 <td class="mlabels-left">
3382 <table class="memname">
3383 <tr>
3384 <td class="memname"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> PrintGraph </td>
3385 <td>(</td>
3386 <td class="paramname"></td><td>)</td>
3387 <td></td>
3388 </tr>
3389 </table>
3390 </td>
3391 <td class="mlabels-right">
3392<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3393 </tr>
3394</table>
3395</div><div class="memdoc">
3396
3397<p>Implements <a class="el" href="classarmnn_1_1_i_network.html#a06f863df5ac6a76c7407f64d63c04001">INetwork</a>.</p>
3398
3399<p class="definition">Definition at line <a class="el" href="_network_8cpp_source.html#l00947">947</a> of file <a class="el" href="_network_8cpp_source.html">Network.cpp</a>.</p>
3400
3401<p class="reference">References <a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70ba505a83f220c02df2f85c3810cd9ceb38">armnn::Success</a>.</p>
3402
3403<p class="reference">Referenced by <a class="el" href="_network_tests_8cpp_source.html#l00044">BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_network_8hpp_source.html#l00033">Network::GetGraph()</a>.</p>
3404<div class="fragment"><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160;{</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; m_Graph-&gt;Print();</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70ba505a83f220c02df2f85c3810cd9ceb38">Status::Success</a>;</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_a67a0db04d321a74b7e7fcfd3f1a3f70ba505a83f220c02df2f85c3810cd9ceb38"><div class="ttname"><a href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70ba505a83f220c02df2f85c3810cd9ceb38">armnn::Status::Success</a></div></div>
3405</div><!-- fragment -->
3406</div>
3407</div>
3408<hr/>The documentation for this class was generated from the following files:<ul>
3409<li>src/armnn/<a class="el" href="_network_8hpp_source.html">Network.hpp</a></li>
3410<li>src/armnn/<a class="el" href="_network_8cpp_source.html">Network.cpp</a></li>
3411</ul>
3412</div><!-- contents -->
3413</div><!-- doc-content -->
3414<!-- start footer part -->
3415<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
3416 <ul>
3417 <li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_network.html">Network</a></li>
3418 <li class="footer">Generated on Fri Mar 13 2020 16:07:04 for ArmNN by
3419 <a href="http://www.doxygen.org/index.html">
3420 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
3421 </ul>
3422</div>
3423</body>
3424</html>