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