blob: f0fe7e09a54cb6c7a816f13fcda31d350379773e [file] [log] [blame]
Ryan OSheade36e4a2020-03-13 16:26:19 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.13"/>
7<meta name="viewport" content="width=device-width, initial-scale=1"/>
8<title>ArmNN: StaticRangeVisitor Class Reference</title>
9<link href="tabs.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="dynsections.js"></script>
12<link href="navtree.css" rel="stylesheet" type="text/css"/>
13<script type="text/javascript" src="resize.js"></script>
14<script type="text/javascript" src="navtreedata.js"></script>
15<script type="text/javascript" src="navtree.js"></script>
16<script type="text/javascript">
17 $(document).ready(initResizable);
18</script>
19<link href="search/search.css" rel="stylesheet" type="text/css"/>
20<script type="text/javascript" src="search/searchdata.js"></script>
21<script type="text/javascript" src="search/search.js"></script>
22<link href="doxygen.css" rel="stylesheet" type="text/css" />
23</head>
24<body>
25<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
26<div id="titlearea">
27<table cellspacing="0" cellpadding="0">
28 <tbody>
29 <tr style="height: 56px;">
30 <td id="projectalign" style="padding-left: 0.5em;">
31 <div id="projectname">ArmNN
32 &#160;<span id="projectnumber">NotReleased</span>
33 </div>
34 </td>
35 </tr>
36 </tbody>
37</table>
38</div>
39<!-- end header part -->
40<!-- Generated by Doxygen 1.8.13 -->
41<script type="text/javascript">
42var searchBox = new SearchBox("searchBox", "search",false,'Search');
43</script>
44<script type="text/javascript" src="menudata.js"></script>
45<script type="text/javascript" src="menu.js"></script>
46<script type="text/javascript">
47$(function() {
48 initMenu('',true,false,'search.php','Search');
49 $(document).ready(function() { init_search(); });
50});
51</script>
52<div id="main-nav"></div>
53</div><!-- top -->
54<div id="side-nav" class="ui-resizable side-nav-resizable">
55 <div id="nav-tree">
56 <div id="nav-tree-contents">
57 <div id="nav-sync" class="sync"></div>
58 </div>
59 </div>
60 <div id="splitbar" style="-moz-user-select:none;"
61 class="ui-resizable-handle">
62 </div>
63</div>
64<script type="text/javascript">
65$(document).ready(function(){initNavTree('classarmnn_1_1_static_range_visitor.html','');});
66</script>
67<div id="doc-content">
68<!-- window showing the filter options -->
69<div id="MSearchSelectWindow"
70 onmouseover="return searchBox.OnSearchSelectShow()"
71 onmouseout="return searchBox.OnSearchSelectHide()"
72 onkeydown="return searchBox.OnSearchSelectKey(event)">
73</div>
74
75<!-- iframe showing the search results (closed by default) -->
76<div id="MSearchResultsWindow">
77<iframe src="javascript:void(0)" frameborder="0"
78 name="MSearchResults" id="MSearchResults">
79</iframe>
80</div>
81
82<div class="header">
83 <div class="summary">
84<a href="#pub-methods">Public Member Functions</a> &#124;
85<a href="classarmnn_1_1_static_range_visitor-members.html">List of all members</a> </div>
86 <div class="headertitle">
87<div class="title">StaticRangeVisitor Class Reference</div> </div>
88</div><!--header-->
89<div class="contents">
90
91<p>Visitor class to establish min/max ranges based on the type of the layer.
92 <a href="classarmnn_1_1_static_range_visitor.html#details">More...</a></p>
93
94<p><code>#include &lt;<a class="el" href="_static_range_visitor_8hpp_source.html">StaticRangeVisitor.hpp</a>&gt;</code></p>
95<div class="dynheader">
96Inheritance diagram for StaticRangeVisitor:</div>
97<div class="dyncontent">
98 <div class="center">
99 <img src="classarmnn_1_1_static_range_visitor.png" usemap="#StaticRangeVisitor_map" alt=""/>
100 <map id="StaticRangeVisitor_map" name="StaticRangeVisitor_map">
101<area href="classarmnn_1_1_layer_visitor_base.html" alt="LayerVisitorBase&lt; VisitorNoThrowPolicy &gt;" shape="rect" coords="0,56,255,80"/>
102<area href="classarmnn_1_1_i_layer_visitor.html" alt="ILayerVisitor" shape="rect" coords="0,0,255,24"/>
103</map>
104 </div></div>
105<table class="memberdecls">
106<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
107Public Member Functions</h2></td></tr>
108<tr class="memitem:ad9a8ed92b7844396ca754c269a88f813"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#ad9a8ed92b7844396ca754c269a88f813">StaticRangeVisitor</a> (<a class="el" href="classarmnn_1_1_range_tracker.html">RangeTracker</a> &amp;rangeTracker)</td></tr>
109<tr class="separator:ad9a8ed92b7844396ca754c269a88f813"><td class="memSeparator" colspan="2">&#160;</td></tr>
110<tr class="memitem:a9be5838e1fca56826b2a08f94dd372fa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#a9be5838e1fca56826b2a08f94dd372fa">~StaticRangeVisitor</a> ()=default</td></tr>
111<tr class="separator:a9be5838e1fca56826b2a08f94dd372fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
112<tr class="memitem:a7cb4ef1bc9588c4319144460c288022f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#a7cb4ef1bc9588c4319144460c288022f">VisitAdditionLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const char *name=nullptr) override</td></tr>
113<tr class="memdesc:a7cb4ef1bc9588c4319144460c288022f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions to set the Range on a per-layer-type basis. <a href="#a7cb4ef1bc9588c4319144460c288022f">More...</a><br /></td></tr>
114<tr class="separator:a7cb4ef1bc9588c4319144460c288022f"><td class="memSeparator" colspan="2">&#160;</td></tr>
115<tr class="memitem:a1532cb8f551812e784ccc14faae407b9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#a1532cb8f551812e784ccc14faae407b9">VisitBatchNormalizationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_batch_normalization_descriptor.html">BatchNormalizationDescriptor</a> &amp;desc, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;mean, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;variance, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;beta, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;gamma, const char *name=nullptr) override</td></tr>
116<tr class="separator:a1532cb8f551812e784ccc14faae407b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
117<tr class="memitem:ac2f379ba77b06095e0c024e232ec1fd4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#ac2f379ba77b06095e0c024e232ec1fd4">VisitConvolution2dLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.html">Convolution2dDescriptor</a> &amp;convolution2dDescriptor, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;weights, const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;biases, const char *name=nullptr) override</td></tr>
118<tr class="separator:ac2f379ba77b06095e0c024e232ec1fd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
119<tr class="memitem:a554e88817e6fd98645388873a108f868"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#a554e88817e6fd98645388873a108f868">VisitDepthwiseConvolution2dLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html">DepthwiseConvolution2dDescriptor</a> &amp;desc, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;weights, const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;biases, const char *name=nullptr) override</td></tr>
120<tr class="separator:a554e88817e6fd98645388873a108f868"><td class="memSeparator" colspan="2">&#160;</td></tr>
121<tr class="memitem:af493528dec93f39f5081dbefb40bff75"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#af493528dec93f39f5081dbefb40bff75">VisitActivationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_activation_descriptor.html">ActivationDescriptor</a> &amp;activationDescriptor, const char *name=nullptr) override</td></tr>
122<tr class="separator:af493528dec93f39f5081dbefb40bff75"><td class="memSeparator" colspan="2">&#160;</td></tr>
123<tr class="memitem:ac98eae261af6c8d5f7161a01a1959e72"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#ac98eae261af6c8d5f7161a01a1959e72">VisitFullyConnectedLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.html">FullyConnectedDescriptor</a> &amp;desc, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;weights, const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;biases, const char *name) override</td></tr>
124<tr class="separator:ac98eae261af6c8d5f7161a01a1959e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
125<tr class="memitem:ad5532a4626c0228acc7b01fa0f5515eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#ad5532a4626c0228acc7b01fa0f5515eb">VisitPermuteLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_permute_descriptor.html">PermuteDescriptor</a> &amp;permuteDescriptor, const char *name) override</td></tr>
126<tr class="separator:ad5532a4626c0228acc7b01fa0f5515eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
127<tr class="memitem:a8e327cc6432697fd55d6b91e554360d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#a8e327cc6432697fd55d6b91e554360d9">VisitSpaceToBatchNdLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_space_to_batch_nd_descriptor.html">SpaceToBatchNdDescriptor</a> &amp;spaceToBatchNdDescriptor, const char *name=nullptr) override</td></tr>
128<tr class="separator:a8e327cc6432697fd55d6b91e554360d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
129<tr class="memitem:aaca77d69321f5ba94d639fe40dbd0b1c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#aaca77d69321f5ba94d639fe40dbd0b1c">VisitPooling2dLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_pooling2d_descriptor.html">Pooling2dDescriptor</a> &amp;pooling2dDescriptor, const char *name) override</td></tr>
130<tr class="separator:aaca77d69321f5ba94d639fe40dbd0b1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
131<tr class="memitem:a98f34d2511f43324833060154cbdba8d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#a98f34d2511f43324833060154cbdba8d">VisitSoftmaxLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_softmax_descriptor.html">SoftmaxDescriptor</a> &amp;softmaxDescriptor, const char *name=nullptr) override</td></tr>
132<tr class="separator:a98f34d2511f43324833060154cbdba8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
133<tr class="memitem:afb527e0c7c30b56da911fee8c7b7a011"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#afb527e0c7c30b56da911fee8c7b7a011">VisitConcatLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_origins_descriptor.html">OriginsDescriptor</a> &amp;originsDescriptor, const char *name=nullptr) override</td></tr>
134<tr class="separator:afb527e0c7c30b56da911fee8c7b7a011"><td class="memSeparator" colspan="2">&#160;</td></tr>
135<tr class="memitem:aeb652d74e4b3596e85b22c2d52144f73"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#aeb652d74e4b3596e85b22c2d52144f73">VisitConstantLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;input, const char *name=nullptr) override</td></tr>
136<tr class="separator:aeb652d74e4b3596e85b22c2d52144f73"><td class="memSeparator" colspan="2">&#160;</td></tr>
137<tr class="memitem:a4a7f7f33591fd91e8fb1c08d06c0733a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#a4a7f7f33591fd91e8fb1c08d06c0733a">VisitReshapeLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_reshape_descriptor.html">ReshapeDescriptor</a> &amp;reshapeDescriptor, const char *name=nullptr) override</td></tr>
138<tr class="separator:a4a7f7f33591fd91e8fb1c08d06c0733a"><td class="memSeparator" colspan="2">&#160;</td></tr>
139<tr class="memitem:afbea8aa2295f2ab71ea5bb64ccd47871"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#afbea8aa2295f2ab71ea5bb64ccd47871">VisitSplitterLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="namespacearmnn.html#a60291543fe872b795e71e05bcd835fd1">SplitterDescriptor</a> &amp;splitterDescriptor, const char *name=nullptr) override</td></tr>
140<tr class="separator:afbea8aa2295f2ab71ea5bb64ccd47871"><td class="memSeparator" colspan="2">&#160;</td></tr>
141<tr class="memitem:a5abbca55c908440acecfa6e0f921092d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#a5abbca55c908440acecfa6e0f921092d">VisitResizeBilinearLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_resize_bilinear_descriptor.html">ResizeBilinearDescriptor</a> &amp;resizeDesc, const char *name=nullptr) override</td></tr>
142<tr class="separator:a5abbca55c908440acecfa6e0f921092d"><td class="memSeparator" colspan="2">&#160;</td></tr>
143<tr class="memitem:a7eea0e93f066099f3549fef15881a4cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#a7eea0e93f066099f3549fef15881a4cb">VisitResizeLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_resize_descriptor.html">ResizeDescriptor</a> &amp;resizeDescriptor, const char *name=nullptr) override</td></tr>
144<tr class="separator:a7eea0e93f066099f3549fef15881a4cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
145<tr class="memitem:a61b7aa0305e7c45a625f7835fa26b9b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#a61b7aa0305e7c45a625f7835fa26b9b6">VisitStridedSliceLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_strided_slice_descriptor.html">StridedSliceDescriptor</a> &amp;stridedSliceDescriptor, const char *name=nullptr) override</td></tr>
146<tr class="separator:a61b7aa0305e7c45a625f7835fa26b9b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
147<tr class="memitem:af5d09e03a578afa9c0bb8afd11c65485"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_static_range_visitor.html#af5d09e03a578afa9c0bb8afd11c65485">VisitBatchToSpaceNdLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_batch_to_space_nd_descriptor.html">BatchToSpaceNdDescriptor</a> &amp;batchToSpaceNdDescriptor, const char *name=nullptr) override</td></tr>
148<tr class="separator:af5d09e03a578afa9c0bb8afd11c65485"><td class="memSeparator" colspan="2">&#160;</td></tr>
149<tr class="inherit_header pub_methods_classarmnn_1_1_layer_visitor_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarmnn_1_1_layer_visitor_base')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarmnn_1_1_layer_visitor_base.html">LayerVisitorBase&lt; VisitorNoThrowPolicy &gt;</a></td></tr>
150<tr class="memitem:acb663f7919f9566c3dcc8b6478999d34 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#acb663f7919f9566c3dcc8b6478999d34">VisitAbsLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
151<tr class="separator:acb663f7919f9566c3dcc8b6478999d34 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
152<tr class="memitem:a30b99e5202fc77b02f92d5c44e5ca86d inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a30b99e5202fc77b02f92d5c44e5ca86d">VisitActivationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_activation_descriptor.html">ActivationDescriptor</a> &amp;, const char *) override</td></tr>
153<tr class="separator:a30b99e5202fc77b02f92d5c44e5ca86d inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
154<tr class="memitem:a0c9f3396207de48925016a2eee6aa12b inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a0c9f3396207de48925016a2eee6aa12b">VisitAdditionLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
155<tr class="separator:a0c9f3396207de48925016a2eee6aa12b inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
156<tr class="memitem:a719076848950255b929636c97aaaede4 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a719076848950255b929636c97aaaede4">VisitArgMinMaxLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_arg_min_max_descriptor.html">ArgMinMaxDescriptor</a> &amp;, const char *) override</td></tr>
157<tr class="separator:a719076848950255b929636c97aaaede4 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
158<tr class="memitem:ab0ae25ba5f3c494d1fb32f06cd57af10 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#ab0ae25ba5f3c494d1fb32f06cd57af10">VisitBatchNormalizationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_batch_normalization_descriptor.html">BatchNormalizationDescriptor</a> &amp;, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;, const char *) override</td></tr>
159<tr class="separator:ab0ae25ba5f3c494d1fb32f06cd57af10 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
160<tr class="memitem:a62aac266e23bd680633e62832f56bc11 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a62aac266e23bd680633e62832f56bc11">VisitBatchToSpaceNdLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_batch_to_space_nd_descriptor.html">BatchToSpaceNdDescriptor</a> &amp;, const char *) override</td></tr>
161<tr class="separator:a62aac266e23bd680633e62832f56bc11 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
162<tr class="memitem:a95dc828296e6d05c0bf0b691d4dc6a3f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a95dc828296e6d05c0bf0b691d4dc6a3f">VisitComparisonLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_comparison_descriptor.html">ComparisonDescriptor</a> &amp;, const char *) override</td></tr>
163<tr class="separator:a95dc828296e6d05c0bf0b691d4dc6a3f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
164<tr class="memitem:a2d4f84683c4a00dfb5eecb6b165d41b9 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a2d4f84683c4a00dfb5eecb6b165d41b9">VisitConcatLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="namespacearmnn.html#a7863c179ff92feec660c48ab7b95ae55">ConcatDescriptor</a> &amp;, const char *) override</td></tr>
165<tr class="separator:a2d4f84683c4a00dfb5eecb6b165d41b9 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
166<tr class="memitem:a90698dba3e90ced6f562cda146bf15e3 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a90698dba3e90ced6f562cda146bf15e3">VisitConstantLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;, const char *) override</td></tr>
167<tr class="separator:a90698dba3e90ced6f562cda146bf15e3 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
168<tr class="memitem:aff3099f516e132f4d8818a54fa1ee767 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#aff3099f516e132f4d8818a54fa1ee767">VisitConvolution2dLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.html">Convolution2dDescriptor</a> &amp;, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;, const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;, const char *) override</td></tr>
169<tr class="separator:aff3099f516e132f4d8818a54fa1ee767 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
170<tr class="memitem:ad3aaff3b6165f8de16522bc4a1ed32a0 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#ad3aaff3b6165f8de16522bc4a1ed32a0">VisitDepthToSpaceLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="namespacearmnn.html#a3647f60510bc8ddaced01c51b0ee8714">DepthToSpaceDescriptor</a> &amp;, const char *) override</td></tr>
171<tr class="separator:ad3aaff3b6165f8de16522bc4a1ed32a0 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
172<tr class="memitem:a70050fc50ee44a439665f914d5fe9684 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a70050fc50ee44a439665f914d5fe9684">VisitDepthwiseConvolution2dLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html">DepthwiseConvolution2dDescriptor</a> &amp;, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;, const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;, const char *) override</td></tr>
173<tr class="separator:a70050fc50ee44a439665f914d5fe9684 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
174<tr class="memitem:aa27cc900d32dcc4a92f59e3bab4f4653 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#aa27cc900d32dcc4a92f59e3bab4f4653">VisitDequantizeLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
175<tr class="separator:aa27cc900d32dcc4a92f59e3bab4f4653 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
176<tr class="memitem:a88bad2eef809ccf6f2129f9ed4a6f3a7 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a88bad2eef809ccf6f2129f9ed4a6f3a7">VisitDetectionPostProcessLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_detection_post_process_descriptor.html">DetectionPostProcessDescriptor</a> &amp;, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;, const char *) override</td></tr>
177<tr class="separator:a88bad2eef809ccf6f2129f9ed4a6f3a7 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
178<tr class="memitem:a7450859464a381eafaedb33adc582f75 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a7450859464a381eafaedb33adc582f75">VisitDivisionLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
179<tr class="separator:a7450859464a381eafaedb33adc582f75 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
180<tr class="memitem:a9d02f4bfaffcb16e340e9b8c20bc5e35 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a9d02f4bfaffcb16e340e9b8c20bc5e35">VisitElementwiseUnaryLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_elementwise_unary_descriptor.html">ElementwiseUnaryDescriptor</a> &amp;, const char *) override</td></tr>
181<tr class="separator:a9d02f4bfaffcb16e340e9b8c20bc5e35 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
182<tr class="memitem:a3249cd1186dc7e700a0ec0884fb9d5fa inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a3249cd1186dc7e700a0ec0884fb9d5fa">VisitEqualLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
183<tr class="separator:a3249cd1186dc7e700a0ec0884fb9d5fa inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
184<tr class="memitem:a060c3a3f978fec03212afaff1fe1648d inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a060c3a3f978fec03212afaff1fe1648d">VisitFloorLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
185<tr class="separator:a060c3a3f978fec03212afaff1fe1648d inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
186<tr class="memitem:a9049cf6d72d4b67fff93670f21c09da3 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a9049cf6d72d4b67fff93670f21c09da3">VisitFullyConnectedLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.html">FullyConnectedDescriptor</a> &amp;, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;, const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;, const char *) override</td></tr>
187<tr class="separator:a9049cf6d72d4b67fff93670f21c09da3 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
188<tr class="memitem:ae7639178bd8c29ffa83162dfd108b725 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#ae7639178bd8c29ffa83162dfd108b725">VisitGatherLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
189<tr class="separator:ae7639178bd8c29ffa83162dfd108b725 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
190<tr class="memitem:a2a28dbfcd1e83bc8158d78feb93d4a0c inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a2a28dbfcd1e83bc8158d78feb93d4a0c">VisitGreaterLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
191<tr class="separator:a2a28dbfcd1e83bc8158d78feb93d4a0c inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
192<tr class="memitem:a6c23f9e9d8427775925d071feee5dbd1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a6c23f9e9d8427775925d071feee5dbd1">VisitInputLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, <a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a>, const char *) override</td></tr>
193<tr class="separator:a6c23f9e9d8427775925d071feee5dbd1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
194<tr class="memitem:a58f90a911e6827702c478cabaeac57fe inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a58f90a911e6827702c478cabaeac57fe">VisitInstanceNormalizationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_instance_normalization_descriptor.html">InstanceNormalizationDescriptor</a> &amp;, const char *) override</td></tr>
195<tr class="separator:a58f90a911e6827702c478cabaeac57fe inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
196<tr class="memitem:ae68e2b431ea3d2822f19ad4ac806fdaa inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#ae68e2b431ea3d2822f19ad4ac806fdaa">VisitL2NormalizationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_l2_normalization_descriptor.html">L2NormalizationDescriptor</a> &amp;, const char *) override</td></tr>
197<tr class="separator:ae68e2b431ea3d2822f19ad4ac806fdaa inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
198<tr class="memitem:a8d4d2e5580385ee664830720698d112c inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a8d4d2e5580385ee664830720698d112c">VisitLogSoftmaxLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="namespacearmnn.html#ac14705405cbcdd580df613de6766fe65">LogSoftmaxDescriptor</a> &amp;, const char *) override</td></tr>
199<tr class="separator:a8d4d2e5580385ee664830720698d112c inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
200<tr class="memitem:aaf1a238ec5b6bb172bc4cd3811f08b28 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#aaf1a238ec5b6bb172bc4cd3811f08b28">VisitLstmLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_lstm_descriptor.html">LstmDescriptor</a> &amp;, const <a class="el" href="structarmnn_1_1_lstm_input_params.html">LstmInputParams</a> &amp;, const char *) override</td></tr>
201<tr class="separator:aaf1a238ec5b6bb172bc4cd3811f08b28 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
202<tr class="memitem:a778e1b2219e3eb2d790d6e6e653a9f25 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a778e1b2219e3eb2d790d6e6e653a9f25">VisitMaximumLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
203<tr class="separator:a778e1b2219e3eb2d790d6e6e653a9f25 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
204<tr class="memitem:a0180a15e542f4ef240fadc09fe4b2e3f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a0180a15e542f4ef240fadc09fe4b2e3f">VisitMeanLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_mean_descriptor.html">MeanDescriptor</a> &amp;, const char *) override</td></tr>
205<tr class="separator:a0180a15e542f4ef240fadc09fe4b2e3f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
206<tr class="memitem:aafb62c879f0c78bfdc3c4e4f2cb82e68 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#aafb62c879f0c78bfdc3c4e4f2cb82e68">VisitMergeLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
207<tr class="separator:aafb62c879f0c78bfdc3c4e4f2cb82e68 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
208<tr class="memitem:acef69a3870409ca9a6130db91047e729 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#acef69a3870409ca9a6130db91047e729">VisitMergerLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="namespacearmnn.html#a003d213dd28b0b8c0f26fbf268ccb975">MergerDescriptor</a> &amp;, const char *) override</td></tr>
209<tr class="separator:acef69a3870409ca9a6130db91047e729 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
210<tr class="memitem:a1e24e9a7bf52efc1699c126435574e95 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a1e24e9a7bf52efc1699c126435574e95">VisitMinimumLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
211<tr class="separator:a1e24e9a7bf52efc1699c126435574e95 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
212<tr class="memitem:ac57d22126a9131108214df9177addade inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#ac57d22126a9131108214df9177addade">VisitMultiplicationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
213<tr class="separator:ac57d22126a9131108214df9177addade inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
214<tr class="memitem:a3150ff2299a2e193952300b8c9edd1e1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a3150ff2299a2e193952300b8c9edd1e1">VisitNormalizationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_normalization_descriptor.html">NormalizationDescriptor</a> &amp;, const char *) override</td></tr>
215<tr class="separator:a3150ff2299a2e193952300b8c9edd1e1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
216<tr class="memitem:acc39ddb06acfd91cf3cfb0fcd9337005 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#acc39ddb06acfd91cf3cfb0fcd9337005">VisitOutputLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, <a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a>, const char *) override</td></tr>
217<tr class="separator:acc39ddb06acfd91cf3cfb0fcd9337005 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
218<tr class="memitem:a8a240e1b725cc204bb468b6b402e1670 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a8a240e1b725cc204bb468b6b402e1670">VisitPadLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_pad_descriptor.html">PadDescriptor</a> &amp;, const char *) override</td></tr>
219<tr class="separator:a8a240e1b725cc204bb468b6b402e1670 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
220<tr class="memitem:a275f4c270ce472abc8701f6475ff7f38 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a275f4c270ce472abc8701f6475ff7f38">VisitPermuteLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_permute_descriptor.html">PermuteDescriptor</a> &amp;, const char *) override</td></tr>
221<tr class="separator:a275f4c270ce472abc8701f6475ff7f38 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
222<tr class="memitem:a5e369658cb00178eeb9136f1c912fd3f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a5e369658cb00178eeb9136f1c912fd3f">VisitPooling2dLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_pooling2d_descriptor.html">Pooling2dDescriptor</a> &amp;, const char *) override</td></tr>
223<tr class="separator:a5e369658cb00178eeb9136f1c912fd3f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
224<tr class="memitem:a79c933bea6fb9986c3baa171be98da5c inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a79c933bea6fb9986c3baa171be98da5c">VisitPreluLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
225<tr class="separator:a79c933bea6fb9986c3baa171be98da5c inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
226<tr class="memitem:a8a6db421f0be147916cb4894ad3885d1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a8a6db421f0be147916cb4894ad3885d1">VisitQuantizeLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
227<tr class="separator:a8a6db421f0be147916cb4894ad3885d1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
228<tr class="memitem:a2fdb21a22a95af72177b4e909741b5c7 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a2fdb21a22a95af72177b4e909741b5c7">VisitQuantizedLstmLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_quantized_lstm_input_params.html">QuantizedLstmInputParams</a> &amp;, const char *) override</td></tr>
229<tr class="separator:a2fdb21a22a95af72177b4e909741b5c7 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
230<tr class="memitem:a9ebd504c48864d63917836e0dc335725 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a9ebd504c48864d63917836e0dc335725">VisitReshapeLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_reshape_descriptor.html">ReshapeDescriptor</a> &amp;, const char *) override</td></tr>
231<tr class="separator:a9ebd504c48864d63917836e0dc335725 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
232<tr class="memitem:a8d4c5571a4b3db2badf7f1dce3467391 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a8d4c5571a4b3db2badf7f1dce3467391">VisitResizeBilinearLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_resize_bilinear_descriptor.html">ResizeBilinearDescriptor</a> &amp;, const char *) override</td></tr>
233<tr class="separator:a8d4c5571a4b3db2badf7f1dce3467391 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
234<tr class="memitem:a49c296c5d0f9efb76f165954cf40c281 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a49c296c5d0f9efb76f165954cf40c281">VisitResizeLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_resize_descriptor.html">ResizeDescriptor</a> &amp;, const char *) override</td></tr>
235<tr class="separator:a49c296c5d0f9efb76f165954cf40c281 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
236<tr class="memitem:a6a62605ac51992ce0913cc119b59546b inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a6a62605ac51992ce0913cc119b59546b">VisitRsqrtLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
237<tr class="separator:a6a62605ac51992ce0913cc119b59546b inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
238<tr class="memitem:a1c023b3170bed9368b65730bc7fff60b inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a1c023b3170bed9368b65730bc7fff60b">VisitSliceLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_slice_descriptor.html">SliceDescriptor</a> &amp;, const char *) override</td></tr>
239<tr class="separator:a1c023b3170bed9368b65730bc7fff60b inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
240<tr class="memitem:abd8b0b2e365bbeabceddc35a1cb52916 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#abd8b0b2e365bbeabceddc35a1cb52916">VisitSoftmaxLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_softmax_descriptor.html">SoftmaxDescriptor</a> &amp;, const char *) override</td></tr>
241<tr class="separator:abd8b0b2e365bbeabceddc35a1cb52916 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
242<tr class="memitem:a9478c4f41840a2e2c12b7f336e725a8a inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a9478c4f41840a2e2c12b7f336e725a8a">VisitSpaceToBatchNdLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_space_to_batch_nd_descriptor.html">SpaceToBatchNdDescriptor</a> &amp;, const char *) override</td></tr>
243<tr class="separator:a9478c4f41840a2e2c12b7f336e725a8a inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
244<tr class="memitem:acdedda623455cc7a0f982d6f4e96d53a inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#acdedda623455cc7a0f982d6f4e96d53a">VisitSpaceToDepthLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_space_to_depth_descriptor.html">SpaceToDepthDescriptor</a> &amp;, const char *) override</td></tr>
245<tr class="separator:acdedda623455cc7a0f982d6f4e96d53a inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
246<tr class="memitem:a8689a80f8939de6323319aba5806ee9e inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a8689a80f8939de6323319aba5806ee9e">VisitSplitterLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_views_descriptor.html">ViewsDescriptor</a> &amp;, const char *) override</td></tr>
247<tr class="separator:a8689a80f8939de6323319aba5806ee9e inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
248<tr class="memitem:a8b47d411d147aa420f7a69356d84fb80 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a8b47d411d147aa420f7a69356d84fb80">VisitStackLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_stack_descriptor.html">StackDescriptor</a> &amp;, const char *) override</td></tr>
249<tr class="separator:a8b47d411d147aa420f7a69356d84fb80 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
250<tr class="memitem:a3c15053a7e295099a1a34c4add5a03b8 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a3c15053a7e295099a1a34c4add5a03b8">VisitStandInLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_stand_in_descriptor.html">StandInDescriptor</a> &amp;, const char *) override</td></tr>
251<tr class="separator:a3c15053a7e295099a1a34c4add5a03b8 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
252<tr class="memitem:a31862ce4ffaddde96ebe0afcf04f3577 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a31862ce4ffaddde96ebe0afcf04f3577">VisitStridedSliceLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_strided_slice_descriptor.html">StridedSliceDescriptor</a> &amp;, const char *) override</td></tr>
253<tr class="separator:a31862ce4ffaddde96ebe0afcf04f3577 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
254<tr class="memitem:ac42c3a57a82260c8315d4f0320620934 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#ac42c3a57a82260c8315d4f0320620934">VisitSubtractionLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
255<tr class="separator:ac42c3a57a82260c8315d4f0320620934 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
256<tr class="memitem:a877d400155151a5afba9f0b17fbcf8f3 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a877d400155151a5afba9f0b17fbcf8f3">VisitSwitchLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const char *) override</td></tr>
257<tr class="separator:a877d400155151a5afba9f0b17fbcf8f3 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
258<tr class="memitem:a4dfb04de9aa0b8b55c70fe96af13e1e1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#a4dfb04de9aa0b8b55c70fe96af13e1e1">VisitTransposeConvolution2dLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_transpose_convolution2d_descriptor.html">TransposeConvolution2dDescriptor</a> &amp;, const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;, const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;, const char *) override</td></tr>
259<tr class="separator:a4dfb04de9aa0b8b55c70fe96af13e1e1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
260<tr class="inherit_header pub_methods_classarmnn_1_1_i_layer_visitor"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarmnn_1_1_i_layer_visitor')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarmnn_1_1_i_layer_visitor.html">ILayerVisitor</a></td></tr>
261<tr class="memitem:a463965a96896bf0d261b44eea5172c7b inherit pub_methods_classarmnn_1_1_i_layer_visitor"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_layer_visitor.html#a463965a96896bf0d261b44eea5172c7b">StartVisit</a> ()</td></tr>
262<tr class="separator:a463965a96896bf0d261b44eea5172c7b inherit pub_methods_classarmnn_1_1_i_layer_visitor"><td class="memSeparator" colspan="2">&#160;</td></tr>
263<tr class="memitem:a4549b1bbb63fa26700d74854e388784f inherit pub_methods_classarmnn_1_1_i_layer_visitor"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_layer_visitor.html#a4549b1bbb63fa26700d74854e388784f">FinishVisit</a> ()</td></tr>
264<tr class="separator:a4549b1bbb63fa26700d74854e388784f inherit pub_methods_classarmnn_1_1_i_layer_visitor"><td class="memSeparator" colspan="2">&#160;</td></tr>
265</table><table class="memberdecls">
266<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
267Additional Inherited Members</h2></td></tr>
268<tr class="inherit_header pro_methods_classarmnn_1_1_layer_visitor_base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classarmnn_1_1_layer_visitor_base')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classarmnn_1_1_layer_visitor_base.html">LayerVisitorBase&lt; VisitorNoThrowPolicy &gt;</a></td></tr>
269<tr class="memitem:aec6644c81f84f086262dfd06088acd99 inherit pro_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#aec6644c81f84f086262dfd06088acd99">LayerVisitorBase</a> ()</td></tr>
270<tr class="separator:aec6644c81f84f086262dfd06088acd99 inherit pro_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
271<tr class="memitem:ab59e5e8c65aa44857c27db70fc412baa inherit pro_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.html#ab59e5e8c65aa44857c27db70fc412baa">~LayerVisitorBase</a> ()</td></tr>
272<tr class="separator:ab59e5e8c65aa44857c27db70fc412baa inherit pro_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
273<tr class="inherit_header pro_methods_classarmnn_1_1_i_layer_visitor"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classarmnn_1_1_i_layer_visitor')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classarmnn_1_1_i_layer_visitor.html">ILayerVisitor</a></td></tr>
274<tr class="memitem:a27fa880bce96ac7355284a7681f2377e inherit pro_methods_classarmnn_1_1_i_layer_visitor"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_layer_visitor.html#a27fa880bce96ac7355284a7681f2377e">ILayerVisitor</a> ()</td></tr>
275<tr class="separator:a27fa880bce96ac7355284a7681f2377e inherit pro_methods_classarmnn_1_1_i_layer_visitor"><td class="memSeparator" colspan="2">&#160;</td></tr>
276<tr class="memitem:a7ad7aeeaf26228ef11c15fa5d4507d8a inherit pro_methods_classarmnn_1_1_i_layer_visitor"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_layer_visitor.html#a7ad7aeeaf26228ef11c15fa5d4507d8a">~ILayerVisitor</a> ()</td></tr>
277<tr class="separator:a7ad7aeeaf26228ef11c15fa5d4507d8a inherit pro_methods_classarmnn_1_1_i_layer_visitor"><td class="memSeparator" colspan="2">&#160;</td></tr>
278</table>
279<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
280<div class="textblock"><p>Visitor class to establish min/max ranges based on the type of the layer. </p>
281
282<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8hpp_source.html#l00019">19</a> of file <a class="el" href="_static_range_visitor_8hpp_source.html">StaticRangeVisitor.hpp</a>.</p>
283</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
284<a id="ad9a8ed92b7844396ca754c269a88f813"></a>
285<h2 class="memtitle"><span class="permalink"><a href="#ad9a8ed92b7844396ca754c269a88f813">&#9670;&nbsp;</a></span>StaticRangeVisitor()</h2>
286
287<div class="memitem">
288<div class="memproto">
289 <table class="memname">
290 <tr>
291 <td class="memname"><a class="el" href="classarmnn_1_1_static_range_visitor.html">StaticRangeVisitor</a> </td>
292 <td>(</td>
293 <td class="paramtype"><a class="el" href="classarmnn_1_1_range_tracker.html">RangeTracker</a> &amp;&#160;</td>
294 <td class="paramname"><em>rangeTracker</em></td><td>)</td>
295 <td></td>
296 </tr>
297 </table>
298</div><div class="memdoc">
299
300<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00017">17</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
301
302<p class="reference">References <a class="el" href="classarmnn_1_1_i_input_slot.html#a81fbf6103761e55061b62ba989b00f10">IInputSlot::GetConnection()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a6ec9e0eb66d7d6a01240492a0b18104c">IConnectableLayer::GetInputSlot()</a>, <a class="el" href="classarmnn_1_1_i_output_slot.html#ad0c3555b126975ad6b3e250fe2a59534">IOutputSlot::GetOwningLayerGuid()</a>, <a class="el" href="_range_tracker_8cpp_source.html#l00029">RangeTracker::GetRange()</a>, and <a class="el" href="_range_tracker_8cpp_source.html#l00012">RangeTracker::SetRange()</a>.</p>
303<div class="fragment"><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; : m_RangeTracker(rangeTracker)</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;{}</div></div><!-- fragment -->
304</div>
305</div>
306<a id="a9be5838e1fca56826b2a08f94dd372fa"></a>
307<h2 class="memtitle"><span class="permalink"><a href="#a9be5838e1fca56826b2a08f94dd372fa">&#9670;&nbsp;</a></span>~StaticRangeVisitor()</h2>
308
309<div class="memitem">
310<div class="memproto">
311<table class="mlabels">
312 <tr>
313 <td class="mlabels-left">
314 <table class="memname">
315 <tr>
316 <td class="memname">~<a class="el" href="classarmnn_1_1_static_range_visitor.html">StaticRangeVisitor</a> </td>
317 <td>(</td>
318 <td class="paramname"></td><td>)</td>
319 <td></td>
320 </tr>
321 </table>
322 </td>
323 <td class="mlabels-right">
324<span class="mlabels"><span class="mlabel">default</span></span> </td>
325 </tr>
326</table>
327</div><div class="memdoc">
328
329</div>
330</div>
331<h2 class="groupheader">Member Function Documentation</h2>
332<a id="af493528dec93f39f5081dbefb40bff75"></a>
333<h2 class="memtitle"><span class="permalink"><a href="#af493528dec93f39f5081dbefb40bff75">&#9670;&nbsp;</a></span>VisitActivationLayer()</h2>
334
335<div class="memitem">
336<div class="memproto">
337<table class="mlabels">
338 <tr>
339 <td class="mlabels-left">
340 <table class="memname">
341 <tr>
342 <td class="memname">void VisitActivationLayer </td>
343 <td>(</td>
344 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
345 <td class="paramname"><em>layer</em>, </td>
346 </tr>
347 <tr>
348 <td class="paramkey"></td>
349 <td></td>
350 <td class="paramtype">const <a class="el" href="structarmnn_1_1_activation_descriptor.html">ActivationDescriptor</a> &amp;&#160;</td>
351 <td class="paramname"><em>activationDescriptor</em>, </td>
352 </tr>
353 <tr>
354 <td class="paramkey"></td>
355 <td></td>
356 <td class="paramtype">const char *&#160;</td>
357 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
358 </tr>
359 <tr>
360 <td></td>
361 <td>)</td>
362 <td></td><td></td>
363 </tr>
364 </table>
365 </td>
366 <td class="mlabels-right">
367<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
368 </tr>
369</table>
370</div><div class="memdoc">
371<p>Function that an activation layer should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
372 <table class="params">
373 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
374 <tr><td class="paramname">activationDescriptor</td><td>- <a class="el" href="structarmnn_1_1_activation_descriptor.html" title="An ActivationDescriptor for the ActivationLayer. ">ActivationDescriptor</a> to configure the activation. </td></tr>
375 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
376 </table>
377 </dd>
378</dl>
379
380<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#ab2a1e493b983a932792bc5d0c1a20127">ILayerVisitor</a>.</p>
381
382<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00081">81</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
383
384<p class="reference">References <a class="el" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">armnn::Abs</a>, <a class="el" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaabc5a0f0d6e7cf7fca73299dcd46c0f0d">armnn::BoundedReLu</a>, <a class="el" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaacb7667f5ec2f6e8a5943b781ba6c2735">armnn::LeakyReLu</a>, <a class="el" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa32a843da6ea40ab3b17a3421ccdf671b">armnn::Linear</a>, <a class="el" href="_descriptors_8hpp_source.html#l00037">ActivationDescriptor::m_A</a>, <a class="el" href="_descriptors_8hpp_source.html#l00035">ActivationDescriptor::m_Function</a>, <a class="el" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa3d90c0a5ab3fcf8e6f6608cb3d3a1559">armnn::ReLu</a>, <a class="el" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa6bba7052636d1740303b1b2ef3b53fef">armnn::SoftReLu</a>, and <a class="el" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa23b68da1de2b77d74da9da2635722a3e">armnn::TanH</a>.</p>
385<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;{</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">switch</span> (activationDescriptor.m_Function)</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="comment">// Range is 0, 15 for Abs, Linear, ReLu and Soft ReLu</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">ActivationFunction::Abs</a>:</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa32a843da6ea40ab3b17a3421ccdf671b">ActivationFunction::Linear</a>:</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa3d90c0a5ab3fcf8e6f6608cb3d3a1559">ActivationFunction::ReLu</a>:</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa6bba7052636d1740303b1b2ef3b53fef">ActivationFunction::SoftReLu</a>:</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; SetRange(layer, 0, 0.f, 15.f);</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaabc5a0f0d6e7cf7fca73299dcd46c0f0d">ActivationFunction::BoundedReLu</a>:</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; SetRange(layer, 0, 0.f, activationDescriptor.m_A);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa23b68da1de2b77d74da9da2635722a3e">ActivationFunction::TanH</a>:</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; SetRange(layer, 0, -1.f, 1.f);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaacb7667f5ec2f6e8a5943b781ba6c2735">ActivationFunction::LeakyReLu</a>:</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; SetRange(layer, 0, -5.f, 15.f);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; SetRange(layer, 0, -15.f, 15.f);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaacb7667f5ec2f6e8a5943b781ba6c2735"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaacb7667f5ec2f6e8a5943b781ba6c2735">armnn::ActivationFunction::LeakyReLu</a></div></div>
386<div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaa3d90c0a5ab3fcf8e6f6608cb3d3a1559"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa3d90c0a5ab3fcf8e6f6608cb3d3a1559">armnn::ActivationFunction::ReLu</a></div></div>
387<div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">armnn::ActivationFunction::Abs</a></div></div>
388<div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaa6bba7052636d1740303b1b2ef3b53fef"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa6bba7052636d1740303b1b2ef3b53fef">armnn::ActivationFunction::SoftReLu</a></div></div>
389<div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaabc5a0f0d6e7cf7fca73299dcd46c0f0d"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaabc5a0f0d6e7cf7fca73299dcd46c0f0d">armnn::ActivationFunction::BoundedReLu</a></div><div class="ttdoc">min(a, max(b, input)) </div></div>
390<div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaa23b68da1de2b77d74da9da2635722a3e"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa23b68da1de2b77d74da9da2635722a3e">armnn::ActivationFunction::TanH</a></div></div>
391<div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaa32a843da6ea40ab3b17a3421ccdf671b"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa32a843da6ea40ab3b17a3421ccdf671b">armnn::ActivationFunction::Linear</a></div></div>
392</div><!-- fragment -->
393</div>
394</div>
395<a id="a7cb4ef1bc9588c4319144460c288022f"></a>
396<h2 class="memtitle"><span class="permalink"><a href="#a7cb4ef1bc9588c4319144460c288022f">&#9670;&nbsp;</a></span>VisitAdditionLayer()</h2>
397
398<div class="memitem">
399<div class="memproto">
400<table class="mlabels">
401 <tr>
402 <td class="mlabels-left">
403 <table class="memname">
404 <tr>
405 <td class="memname">void VisitAdditionLayer </td>
406 <td>(</td>
407 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
408 <td class="paramname"><em>layer</em>, </td>
409 </tr>
410 <tr>
411 <td class="paramkey"></td>
412 <td></td>
413 <td class="paramtype">const char *&#160;</td>
414 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
415 </tr>
416 <tr>
417 <td></td>
418 <td>)</td>
419 <td></td><td></td>
420 </tr>
421 </table>
422 </td>
423 <td class="mlabels-right">
424<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
425 </tr>
426</table>
427</div><div class="memdoc">
428
429<p>Functions to set the Range on a per-layer-type basis. </p>
430
431<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#a2d20b94b7de822f3d29ab12e47e3be4e">ILayerVisitor</a>.</p>
432
433<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00032">32</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
434<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; SetRange(layer, 0, -20.f, 20.f);</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;}</div></div><!-- fragment -->
435</div>
436</div>
437<a id="a1532cb8f551812e784ccc14faae407b9"></a>
438<h2 class="memtitle"><span class="permalink"><a href="#a1532cb8f551812e784ccc14faae407b9">&#9670;&nbsp;</a></span>VisitBatchNormalizationLayer()</h2>
439
440<div class="memitem">
441<div class="memproto">
442<table class="mlabels">
443 <tr>
444 <td class="mlabels-left">
445 <table class="memname">
446 <tr>
447 <td class="memname">void VisitBatchNormalizationLayer </td>
448 <td>(</td>
449 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
450 <td class="paramname"><em>layer</em>, </td>
451 </tr>
452 <tr>
453 <td class="paramkey"></td>
454 <td></td>
455 <td class="paramtype">const <a class="el" href="structarmnn_1_1_batch_normalization_descriptor.html">BatchNormalizationDescriptor</a> &amp;&#160;</td>
456 <td class="paramname"><em>desc</em>, </td>
457 </tr>
458 <tr>
459 <td class="paramkey"></td>
460 <td></td>
461 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
462 <td class="paramname"><em>mean</em>, </td>
463 </tr>
464 <tr>
465 <td class="paramkey"></td>
466 <td></td>
467 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
468 <td class="paramname"><em>variance</em>, </td>
469 </tr>
470 <tr>
471 <td class="paramkey"></td>
472 <td></td>
473 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
474 <td class="paramname"><em>beta</em>, </td>
475 </tr>
476 <tr>
477 <td class="paramkey"></td>
478 <td></td>
479 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
480 <td class="paramname"><em>gamma</em>, </td>
481 </tr>
482 <tr>
483 <td class="paramkey"></td>
484 <td></td>
485 <td class="paramtype">const char *&#160;</td>
486 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
487 </tr>
488 <tr>
489 <td></td>
490 <td>)</td>
491 <td></td><td></td>
492 </tr>
493 </table>
494 </td>
495 <td class="mlabels-right">
496<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
497 </tr>
498</table>
499</div><div class="memdoc">
500<p>Function that a batch normalization layer should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
501 <table class="params">
502 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
503 <tr><td class="paramname">mean</td><td>- Pre-calculated mean for each channel. </td></tr>
504 <tr><td class="paramname">variance</td><td>- Pre-calculated variance for each channel. </td></tr>
505 <tr><td class="paramname">beta</td><td>- Per-channel additive factor. </td></tr>
506 <tr><td class="paramname">gamma</td><td>- Per-channel multiplicative factor. </td></tr>
507 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
508 </table>
509 </dd>
510</dl>
511
512<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#a9e642355474f31268e66a404e6c1b81d">ILayerVisitor</a>.</p>
513
514<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00038">38</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
515<div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; boost::ignore_unused(desc);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; boost::ignore_unused(mean);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; boost::ignore_unused(variance);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; boost::ignore_unused(beta);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; boost::ignore_unused(gamma);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; SetRange(layer, 0, -15.0f, 15.0f);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;}</div></div><!-- fragment -->
516</div>
517</div>
518<a id="af5d09e03a578afa9c0bb8afd11c65485"></a>
519<h2 class="memtitle"><span class="permalink"><a href="#af5d09e03a578afa9c0bb8afd11c65485">&#9670;&nbsp;</a></span>VisitBatchToSpaceNdLayer()</h2>
520
521<div class="memitem">
522<div class="memproto">
523<table class="mlabels">
524 <tr>
525 <td class="mlabels-left">
526 <table class="memname">
527 <tr>
528 <td class="memname">void VisitBatchToSpaceNdLayer </td>
529 <td>(</td>
530 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
531 <td class="paramname"><em>layer</em>, </td>
532 </tr>
533 <tr>
534 <td class="paramkey"></td>
535 <td></td>
536 <td class="paramtype">const <a class="el" href="structarmnn_1_1_batch_to_space_nd_descriptor.html">BatchToSpaceNdDescriptor</a> &amp;&#160;</td>
537 <td class="paramname"><em>batchToSpaceNdDescriptor</em>, </td>
538 </tr>
539 <tr>
540 <td class="paramkey"></td>
541 <td></td>
542 <td class="paramtype">const char *&#160;</td>
543 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
544 </tr>
545 <tr>
546 <td></td>
547 <td>)</td>
548 <td></td><td></td>
549 </tr>
550 </table>
551 </td>
552 <td class="mlabels-right">
553<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
554 </tr>
555</table>
556</div><div class="memdoc">
557<p>Function that a batch to space ND layer should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
558 <table class="params">
559 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
560 <tr><td class="paramname">batchToSpaceNdDescriptor</td><td>- Description of the layer. </td></tr>
561 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
562 </table>
563 </dd>
564</dl>
565
566<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#a1cee693185bcda15bd777008e60c7cf7">ILayerVisitor</a>.</p>
567
568<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00252">252</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
569<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;{</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; boost::ignore_unused(batchToSpaceNdDescriptor);</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; ForwardParentParameters(layer);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;}</div></div><!-- fragment -->
570</div>
571</div>
572<a id="afb527e0c7c30b56da911fee8c7b7a011"></a>
573<h2 class="memtitle"><span class="permalink"><a href="#afb527e0c7c30b56da911fee8c7b7a011">&#9670;&nbsp;</a></span>VisitConcatLayer()</h2>
574
575<div class="memitem">
576<div class="memproto">
577<table class="mlabels">
578 <tr>
579 <td class="mlabels-left">
580 <table class="memname">
581 <tr>
582 <td class="memname">void VisitConcatLayer </td>
583 <td>(</td>
584 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
585 <td class="paramname"><em>layer</em>, </td>
586 </tr>
587 <tr>
588 <td class="paramkey"></td>
589 <td></td>
590 <td class="paramtype">const <a class="el" href="structarmnn_1_1_origins_descriptor.html">OriginsDescriptor</a> &amp;&#160;</td>
591 <td class="paramname"><em>concatDescriptor</em>, </td>
592 </tr>
593 <tr>
594 <td class="paramkey"></td>
595 <td></td>
596 <td class="paramtype">const char *&#160;</td>
597 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
598 </tr>
599 <tr>
600 <td></td>
601 <td>)</td>
602 <td></td><td></td>
603 </tr>
604 </table>
605 </td>
606 <td class="mlabels-right">
607<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
608 </tr>
609</table>
610</div><div class="memdoc">
611<p>Function that a concat layer should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
612 <table class="params">
613 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
614 <tr><td class="paramname">concatDescriptor</td><td>- ConcatDescriptor (synonym for <a class="el" href="structarmnn_1_1_origins_descriptor.html" title="An OriginsDescriptor for the ConcatLayer. Descriptor to configure the concatenation process...">OriginsDescriptor</a>) to configure the concatenation process. Number of Views must be equal to the number of inputs, and their order must match - e.g. first view corresponds to the first input, second view to the second input, etc.... </td></tr>
615 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
616 </table>
617 </dd>
618</dl>
619
620<p>Reimplemented from <a class="el" href="classarmnn_1_1_i_layer_visitor.html#aeb90d7587f7887aee1f2b43261d4ee5c">ILayerVisitor</a>.</p>
621
622<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00159">159</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
623
624<p class="reference">References <a class="el" href="classarmnn_1_1_i_output_slot.html#a41d30a9cd272e05986d71a69d6ad618b">IOutputSlot::CalculateIndexOnOwner()</a>, <a class="el" href="classarmnn_1_1_i_input_slot.html#a81fbf6103761e55061b62ba989b00f10">IInputSlot::GetConnection()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a6ec9e0eb66d7d6a01240492a0b18104c">IConnectableLayer::GetInputSlot()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a9c2cba04b6d7ace4fc2a2436b82a5a63">IConnectableLayer::GetNumInputSlots()</a>, <a class="el" href="classarmnn_1_1_i_output_slot.html#ad0c3555b126975ad6b3e250fe2a59534">IOutputSlot::GetOwningLayerGuid()</a>, and <a class="el" href="_range_tracker_8cpp_source.html#l00029">RangeTracker::GetRange()</a>.</p>
625<div class="fragment"><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;{</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; boost::ignore_unused(originsDescriptor);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordtype">float</span> min = std::numeric_limits&lt;float&gt;::max();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordtype">float</span> max = std::numeric_limits&lt;float&gt;::lowest();</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; layer-&gt;GetNumInputSlots(); ++i)</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; {</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">const</span> IOutputSlot* outputSlot = layer-&gt;GetInputSlot(i).GetConnection();</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="namespacearmnn.html#afad4088a9a058114ee5f87246f87bf49">LayerGuid</a> layerId = outputSlot-&gt;GetOwningLayerGuid();</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> slotIndex = outputSlot-&gt;CalculateIndexOnOwner();</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="classarmnn_1_1_range_tracker.html#a997e96288bdb106c922202e3f33d5d7b">RangeTracker::MinMaxRange</a> range = m_RangeTracker.<a class="code" href="classarmnn_1_1_range_tracker.html#a507bae23f59e94b4161886ebe663cdf4">GetRange</a>(layerId, slotIndex);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; min = std::min(min, range.first);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; max = std::max(max, range.second);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; SetRange(layer, 0, min, max);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_range_tracker_html_a997e96288bdb106c922202e3f33d5d7b"><div class="ttname"><a href="classarmnn_1_1_range_tracker.html#a997e96288bdb106c922202e3f33d5d7b">armnn::RangeTracker::MinMaxRange</a></div><div class="ttdeci">std::pair&lt; float, float &gt; MinMaxRange</div><div class="ttdef"><b>Definition:</b> <a href="_range_tracker_8hpp_source.html#l00020">RangeTracker.hpp:20</a></div></div>
626<div class="ttc" id="classarmnn_1_1_range_tracker_html_a507bae23f59e94b4161886ebe663cdf4"><div class="ttname"><a href="classarmnn_1_1_range_tracker.html#a507bae23f59e94b4161886ebe663cdf4">armnn::RangeTracker::GetRange</a></div><div class="ttdeci">MinMaxRange GetRange(LayerGuid guid, unsigned int idx) const</div><div class="ttdoc">Retrieve the Range for a particular output slot on a particular layer. </div><div class="ttdef"><b>Definition:</b> <a href="_range_tracker_8cpp_source.html#l00029">RangeTracker.cpp:29</a></div></div>
627<div class="ttc" id="namespacearmnn_html_afad4088a9a058114ee5f87246f87bf49"><div class="ttname"><a href="namespacearmnn.html#afad4088a9a058114ee5f87246f87bf49">armnn::LayerGuid</a></div><div class="ttdeci">profiling::ProfilingGuid LayerGuid</div><div class="ttdoc">Define LayerGuid type. </div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.html#l00233">Types.hpp:233</a></div></div>
628</div><!-- fragment -->
629</div>
630</div>
631<a id="aeb652d74e4b3596e85b22c2d52144f73"></a>
632<h2 class="memtitle"><span class="permalink"><a href="#aeb652d74e4b3596e85b22c2d52144f73">&#9670;&nbsp;</a></span>VisitConstantLayer()</h2>
633
634<div class="memitem">
635<div class="memproto">
636<table class="mlabels">
637 <tr>
638 <td class="mlabels-left">
639 <table class="memname">
640 <tr>
641 <td class="memname">void VisitConstantLayer </td>
642 <td>(</td>
643 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
644 <td class="paramname"><em>layer</em>, </td>
645 </tr>
646 <tr>
647 <td class="paramkey"></td>
648 <td></td>
649 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
650 <td class="paramname"><em>input</em>, </td>
651 </tr>
652 <tr>
653 <td class="paramkey"></td>
654 <td></td>
655 <td class="paramtype">const char *&#160;</td>
656 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
657 </tr>
658 <tr>
659 <td></td>
660 <td>)</td>
661 <td></td><td></td>
662 </tr>
663 </table>
664 </td>
665 <td class="mlabels-right">
666<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
667 </tr>
668</table>
669</div><div class="memdoc">
670<p>Function a layer with no inputs and a single output, which always corresponds to the passed in constant tensor should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
671 <table class="params">
672 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
673 <tr><td class="paramname">input</td><td>- <a class="el" href="classarmnn_1_1_tensor.html" title="A tensor defined by a TensorInfo (shape and data type) and a mutable backing store. ">Tensor</a> to be provided as the only output of the layer. The layer will maintain its own copy of the tensor data, meaning the memory referenced by <em>input</em> can be freed or reused after this function is called. </td></tr>
674 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
675 </table>
676 </dd>
677</dl>
678
679<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#a2f123a6a99ac143c0f3806cb505765cd">ILayerVisitor</a>.</p>
680
681<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00179">179</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
682
683<p class="reference">References <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::Float32</a>, <a class="el" href="_tensor_8hpp_source.html#l00172">BaseTensor&lt; MemoryType &gt;::GetDataType()</a>, <a class="el" href="_tensor_8hpp_source.html#l00177">BaseTensor&lt; MemoryType &gt;::GetMemoryArea()</a>, and <a class="el" href="_tensor_8hpp_source.html#l00175">BaseTensor&lt; MemoryType &gt;::GetNumElements()</a>.</p>
684<div class="fragment"><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;{</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">if</span> (input.GetDataType() != <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>)</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">&quot;Quantization is supported only for FP32 tensors&quot;</span>);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; }</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="comment">// Work out the range based on the input constants</span></div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> inputNumElements = input.GetNumElements();</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span>* inputData = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">float</span>*<span class="keyword">&gt;</span>(input.GetMemoryArea());</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordtype">float</span> min = std::numeric_limits&lt;float&gt;::max();</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordtype">float</span> max = std::numeric_limits&lt;float&gt;::lowest();</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; inputNumElements; i++)</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> inputValue = inputData[i];</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; min = std::min(min, inputValue);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; max = std::max(max, inputValue);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; }</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; SetRange(layer, 0, min, max);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
685</div><!-- fragment -->
686</div>
687</div>
688<a id="ac2f379ba77b06095e0c024e232ec1fd4"></a>
689<h2 class="memtitle"><span class="permalink"><a href="#ac2f379ba77b06095e0c024e232ec1fd4">&#9670;&nbsp;</a></span>VisitConvolution2dLayer()</h2>
690
691<div class="memitem">
692<div class="memproto">
693<table class="mlabels">
694 <tr>
695 <td class="mlabels-left">
696 <table class="memname">
697 <tr>
698 <td class="memname">void VisitConvolution2dLayer </td>
699 <td>(</td>
700 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
701 <td class="paramname"><em>layer</em>, </td>
702 </tr>
703 <tr>
704 <td class="paramkey"></td>
705 <td></td>
706 <td class="paramtype">const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.html">Convolution2dDescriptor</a> &amp;&#160;</td>
707 <td class="paramname"><em>convolution2dDescriptor</em>, </td>
708 </tr>
709 <tr>
710 <td class="paramkey"></td>
711 <td></td>
712 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
713 <td class="paramname"><em>weights</em>, </td>
714 </tr>
715 <tr>
716 <td class="paramkey"></td>
717 <td></td>
718 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;&#160;</td>
719 <td class="paramname"><em>biases</em>, </td>
720 </tr>
721 <tr>
722 <td class="paramkey"></td>
723 <td></td>
724 <td class="paramtype">const char *&#160;</td>
725 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
726 </tr>
727 <tr>
728 <td></td>
729 <td>)</td>
730 <td></td><td></td>
731 </tr>
732 </table>
733 </td>
734 <td class="mlabels-right">
735<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
736 </tr>
737</table>
738</div><div class="memdoc">
739<p>Function that a 2D convolution layer should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
740 <table class="params">
741 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
742 <tr><td class="paramname">convolution2dDescriptor</td><td>- Description of the 2D convolution layer. </td></tr>
743 <tr><td class="paramname">weights</td><td>- <a class="el" href="classarmnn_1_1_tensor.html" title="A tensor defined by a TensorInfo (shape and data type) and a mutable backing store. ">Tensor</a> for the weights data. </td></tr>
744 <tr><td class="paramname">biases</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> tensor for the bias data. If specified, must match the output tensor shape. </td></tr>
745 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
746 </table>
747 </dd>
748</dl>
749
750<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#abc8fe4c6cbc8fa2b13c525500dddfbf6">ILayerVisitor</a>.</p>
751
752<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00055">55</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
753<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;{</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; boost::ignore_unused(convolution2dDescriptor);</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; boost::ignore_unused(weights);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; boost::ignore_unused(biases);</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; SetRange(layer, 0, -15.0f, 15.0f);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;}</div></div><!-- fragment -->
754</div>
755</div>
756<a id="a554e88817e6fd98645388873a108f868"></a>
757<h2 class="memtitle"><span class="permalink"><a href="#a554e88817e6fd98645388873a108f868">&#9670;&nbsp;</a></span>VisitDepthwiseConvolution2dLayer()</h2>
758
759<div class="memitem">
760<div class="memproto">
761<table class="mlabels">
762 <tr>
763 <td class="mlabels-left">
764 <table class="memname">
765 <tr>
766 <td class="memname">void VisitDepthwiseConvolution2dLayer </td>
767 <td>(</td>
768 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
769 <td class="paramname"><em>layer</em>, </td>
770 </tr>
771 <tr>
772 <td class="paramkey"></td>
773 <td></td>
774 <td class="paramtype">const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html">DepthwiseConvolution2dDescriptor</a> &amp;&#160;</td>
775 <td class="paramname"><em>convolution2dDescriptor</em>, </td>
776 </tr>
777 <tr>
778 <td class="paramkey"></td>
779 <td></td>
780 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
781 <td class="paramname"><em>weights</em>, </td>
782 </tr>
783 <tr>
784 <td class="paramkey"></td>
785 <td></td>
786 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;&#160;</td>
787 <td class="paramname"><em>biases</em>, </td>
788 </tr>
789 <tr>
790 <td class="paramkey"></td>
791 <td></td>
792 <td class="paramtype">const char *&#160;</td>
793 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
794 </tr>
795 <tr>
796 <td></td>
797 <td>)</td>
798 <td></td><td></td>
799 </tr>
800 </table>
801 </td>
802 <td class="mlabels-right">
803<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
804 </tr>
805</table>
806</div><div class="memdoc">
807<p>Function that a 2D depthwise convolution layer with biases should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
808 <table class="params">
809 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
810 <tr><td class="paramname">convolution2dDescriptor</td><td>- Description of the 2D depthwise convolution layer. </td></tr>
811 <tr><td class="paramname">weights</td><td>- <a class="el" href="classarmnn_1_1_tensor.html" title="A tensor defined by a TensorInfo (shape and data type) and a mutable backing store. ">Tensor</a> for the weights. Expected format: [channelMultiplier, inputChannels, height, width]. </td></tr>
812 <tr><td class="paramname">biases</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> tensor for the bias data. If specified, must match the output tensor shape. </td></tr>
813 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
814 </table>
815 </dd>
816</dl>
817
818<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#ad39aaac8f8fb790ae364c87f1a249d68">ILayerVisitor</a>.</p>
819
820<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00068">68</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
821<div class="fragment"><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; boost::ignore_unused(desc);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; boost::ignore_unused(weights);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; boost::ignore_unused(biases);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; SetRange(layer, 0, -15.0f, 15.0f);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;}</div></div><!-- fragment -->
822</div>
823</div>
824<a id="ac98eae261af6c8d5f7161a01a1959e72"></a>
825<h2 class="memtitle"><span class="permalink"><a href="#ac98eae261af6c8d5f7161a01a1959e72">&#9670;&nbsp;</a></span>VisitFullyConnectedLayer()</h2>
826
827<div class="memitem">
828<div class="memproto">
829<table class="mlabels">
830 <tr>
831 <td class="mlabels-left">
832 <table class="memname">
833 <tr>
834 <td class="memname">void VisitFullyConnectedLayer </td>
835 <td>(</td>
836 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
837 <td class="paramname"><em>layer</em>, </td>
838 </tr>
839 <tr>
840 <td class="paramkey"></td>
841 <td></td>
842 <td class="paramtype">const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.html">FullyConnectedDescriptor</a> &amp;&#160;</td>
843 <td class="paramname"><em>fullyConnectedDescriptor</em>, </td>
844 </tr>
845 <tr>
846 <td class="paramkey"></td>
847 <td></td>
848 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &amp;&#160;</td>
849 <td class="paramname"><em>weights</em>, </td>
850 </tr>
851 <tr>
852 <td class="paramkey"></td>
853 <td></td>
854 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_const_tensor.html">ConstTensor</a> &gt; &amp;&#160;</td>
855 <td class="paramname"><em>biases</em>, </td>
856 </tr>
857 <tr>
858 <td class="paramkey"></td>
859 <td></td>
860 <td class="paramtype">const char *&#160;</td>
861 <td class="paramname"><em>name</em>&#160;</td>
862 </tr>
863 <tr>
864 <td></td>
865 <td>)</td>
866 <td></td><td></td>
867 </tr>
868 </table>
869 </td>
870 <td class="mlabels-right">
871<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
872 </tr>
873</table>
874</div><div class="memdoc">
875<p>Function that a fully connected layer should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
876 <table class="params">
877 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
878 <tr><td class="paramname">fullyConnectedDescriptor</td><td>- Description of the fully connected layer. </td></tr>
879 <tr><td class="paramname">weights</td><td>- <a class="el" href="classarmnn_1_1_tensor.html" title="A tensor defined by a TensorInfo (shape and data type) and a mutable backing store. ">Tensor</a> for the weights data. </td></tr>
880 <tr><td class="paramname">biases</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> tensor for the bias data. </td></tr>
881 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
882 </table>
883 </dd>
884</dl>
885
886<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#ab93a48970564c6eabbc982a2116c1262">ILayerVisitor</a>.</p>
887
888<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00110">110</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
889<div class="fragment"><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;{</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; boost::ignore_unused(desc);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; boost::ignore_unused(weights);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; boost::ignore_unused(biases);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; SetRange(layer, 0, -15.0f, 15.0f);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;}</div></div><!-- fragment -->
890</div>
891</div>
892<a id="ad5532a4626c0228acc7b01fa0f5515eb"></a>
893<h2 class="memtitle"><span class="permalink"><a href="#ad5532a4626c0228acc7b01fa0f5515eb">&#9670;&nbsp;</a></span>VisitPermuteLayer()</h2>
894
895<div class="memitem">
896<div class="memproto">
897<table class="mlabels">
898 <tr>
899 <td class="mlabels-left">
900 <table class="memname">
901 <tr>
902 <td class="memname">void VisitPermuteLayer </td>
903 <td>(</td>
904 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
905 <td class="paramname"><em>layer</em>, </td>
906 </tr>
907 <tr>
908 <td class="paramkey"></td>
909 <td></td>
910 <td class="paramtype">const <a class="el" href="structarmnn_1_1_permute_descriptor.html">PermuteDescriptor</a> &amp;&#160;</td>
911 <td class="paramname"><em>permuteDescriptor</em>, </td>
912 </tr>
913 <tr>
914 <td class="paramkey"></td>
915 <td></td>
916 <td class="paramtype">const char *&#160;</td>
917 <td class="paramname"><em>name</em>&#160;</td>
918 </tr>
919 <tr>
920 <td></td>
921 <td>)</td>
922 <td></td><td></td>
923 </tr>
924 </table>
925 </td>
926 <td class="mlabels-right">
927<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
928 </tr>
929</table>
930</div><div class="memdoc">
931<p>Function that a permute layer should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
932 <table class="params">
933 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
934 <tr><td class="paramname">permuteDescriptor</td><td>- <a class="el" href="structarmnn_1_1_permute_descriptor.html" title="A PermuteDescriptor for the PermuteLayer. ">PermuteDescriptor</a> to configure the permute. </td></tr>
935 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
936 </table>
937 </dd>
938</dl>
939
940<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#a211e587a05b0c7e7202f8f8894f89894">ILayerVisitor</a>.</p>
941
942<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00123">123</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
943<div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;{</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; boost::ignore_unused(permuteDescriptor);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; ForwardParentParameters(layer);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;}</div></div><!-- fragment -->
944</div>
945</div>
946<a id="aaca77d69321f5ba94d639fe40dbd0b1c"></a>
947<h2 class="memtitle"><span class="permalink"><a href="#aaca77d69321f5ba94d639fe40dbd0b1c">&#9670;&nbsp;</a></span>VisitPooling2dLayer()</h2>
948
949<div class="memitem">
950<div class="memproto">
951<table class="mlabels">
952 <tr>
953 <td class="mlabels-left">
954 <table class="memname">
955 <tr>
956 <td class="memname">void VisitPooling2dLayer </td>
957 <td>(</td>
958 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
959 <td class="paramname"><em>layer</em>, </td>
960 </tr>
961 <tr>
962 <td class="paramkey"></td>
963 <td></td>
964 <td class="paramtype">const <a class="el" href="structarmnn_1_1_pooling2d_descriptor.html">Pooling2dDescriptor</a> &amp;&#160;</td>
965 <td class="paramname"><em>pooling2dDescriptor</em>, </td>
966 </tr>
967 <tr>
968 <td class="paramkey"></td>
969 <td></td>
970 <td class="paramtype">const char *&#160;</td>
971 <td class="paramname"><em>name</em>&#160;</td>
972 </tr>
973 <tr>
974 <td></td>
975 <td>)</td>
976 <td></td><td></td>
977 </tr>
978 </table>
979 </td>
980 <td class="mlabels-right">
981<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
982 </tr>
983</table>
984</div><div class="memdoc">
985<p>Function that a pooling layer should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
986 <table class="params">
987 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
988 <tr><td class="paramname">pooling2dDescriptor</td><td>- <a class="el" href="structarmnn_1_1_pooling2d_descriptor.html" title="A Pooling2dDescriptor for the Pooling2dLayer. ">Pooling2dDescriptor</a> to configure the pooling. </td></tr>
989 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
990 </table>
991 </dd>
992</dl>
993
994<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#aef56afef7d87afa51fd363487c375af5">ILayerVisitor</a>.</p>
995
996<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00141">141</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
997<div class="fragment"><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;{</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; boost::ignore_unused(pooling2dDescriptor);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; ForwardParentParameters(layer);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;}</div></div><!-- fragment -->
998</div>
999</div>
1000<a id="a4a7f7f33591fd91e8fb1c08d06c0733a"></a>
1001<h2 class="memtitle"><span class="permalink"><a href="#a4a7f7f33591fd91e8fb1c08d06c0733a">&#9670;&nbsp;</a></span>VisitReshapeLayer()</h2>
1002
1003<div class="memitem">
1004<div class="memproto">
1005<table class="mlabels">
1006 <tr>
1007 <td class="mlabels-left">
1008 <table class="memname">
1009 <tr>
1010 <td class="memname">void VisitReshapeLayer </td>
1011 <td>(</td>
1012 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
1013 <td class="paramname"><em>layer</em>, </td>
1014 </tr>
1015 <tr>
1016 <td class="paramkey"></td>
1017 <td></td>
1018 <td class="paramtype">const <a class="el" href="structarmnn_1_1_reshape_descriptor.html">ReshapeDescriptor</a> &amp;&#160;</td>
1019 <td class="paramname"><em>reshapeDescriptor</em>, </td>
1020 </tr>
1021 <tr>
1022 <td class="paramkey"></td>
1023 <td></td>
1024 <td class="paramtype">const char *&#160;</td>
1025 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1026 </tr>
1027 <tr>
1028 <td></td>
1029 <td>)</td>
1030 <td></td><td></td>
1031 </tr>
1032 </table>
1033 </td>
1034 <td class="mlabels-right">
1035<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1036 </tr>
1037</table>
1038</div><div class="memdoc">
1039<p>Function a reshape layer should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
1040 <table class="params">
1041 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1042 <tr><td class="paramname">reshapeDescriptor</td><td>- Parameters for the reshape operation. </td></tr>
1043 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1044 </table>
1045 </dd>
1046</dl>
1047
1048<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#acb732489554691ba852ca323888093ac">ILayerVisitor</a>.</p>
1049
1050<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00207">207</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
1051<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;{</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; boost::ignore_unused(reshapeDescriptor);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; ForwardParentParameters(layer);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;}</div></div><!-- fragment -->
1052</div>
1053</div>
1054<a id="a5abbca55c908440acecfa6e0f921092d"></a>
1055<h2 class="memtitle"><span class="permalink"><a href="#a5abbca55c908440acecfa6e0f921092d">&#9670;&nbsp;</a></span>VisitResizeBilinearLayer()</h2>
1056
1057<div class="memitem">
1058<div class="memproto">
1059<table class="mlabels">
1060 <tr>
1061 <td class="mlabels-left">
1062 <table class="memname">
1063 <tr>
1064 <td class="memname">void VisitResizeBilinearLayer </td>
1065 <td>(</td>
1066 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
1067 <td class="paramname"><em>layer</em>, </td>
1068 </tr>
1069 <tr>
1070 <td class="paramkey"></td>
1071 <td></td>
1072 <td class="paramtype">const <a class="el" href="structarmnn_1_1_resize_bilinear_descriptor.html">ResizeBilinearDescriptor</a> &amp;&#160;</td>
1073 <td class="paramname"><em>resizeDesc</em>, </td>
1074 </tr>
1075 <tr>
1076 <td class="paramkey"></td>
1077 <td></td>
1078 <td class="paramtype">const char *&#160;</td>
1079 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1080 </tr>
1081 <tr>
1082 <td></td>
1083 <td>)</td>
1084 <td></td><td></td>
1085 </tr>
1086 </table>
1087 </td>
1088 <td class="mlabels-right">
1089<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1090 </tr>
1091</table>
1092</div><div class="memdoc">
1093<p>Function that a resize bilinear layer should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
1094 <table class="params">
1095 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1096 <tr><td class="paramname">resizeDesc</td><td>- Parameters for the resize operation. </td></tr>
1097 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1098 </table>
1099 </dd>
1100</dl>
1101
1102<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#a8d87dab666a8aa6e132fcd93717a3c4b">ILayerVisitor</a>.</p>
1103
1104<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00225">225</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
1105<div class="fragment"><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;{</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; boost::ignore_unused(resizeDesc);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; ForwardParentParameters(layer);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;}</div></div><!-- fragment -->
1106</div>
1107</div>
1108<a id="a7eea0e93f066099f3549fef15881a4cb"></a>
1109<h2 class="memtitle"><span class="permalink"><a href="#a7eea0e93f066099f3549fef15881a4cb">&#9670;&nbsp;</a></span>VisitResizeLayer()</h2>
1110
1111<div class="memitem">
1112<div class="memproto">
1113<table class="mlabels">
1114 <tr>
1115 <td class="mlabels-left">
1116 <table class="memname">
1117 <tr>
1118 <td class="memname">void VisitResizeLayer </td>
1119 <td>(</td>
1120 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
1121 <td class="paramname"><em>layer</em>, </td>
1122 </tr>
1123 <tr>
1124 <td class="paramkey"></td>
1125 <td></td>
1126 <td class="paramtype">const <a class="el" href="structarmnn_1_1_resize_descriptor.html">ResizeDescriptor</a> &amp;&#160;</td>
1127 <td class="paramname"><em>resizeDescriptor</em>, </td>
1128 </tr>
1129 <tr>
1130 <td class="paramkey"></td>
1131 <td></td>
1132 <td class="paramtype">const char *&#160;</td>
1133 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1134 </tr>
1135 <tr>
1136 <td></td>
1137 <td>)</td>
1138 <td></td><td></td>
1139 </tr>
1140 </table>
1141 </td>
1142 <td class="mlabels-right">
1143<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1144 </tr>
1145</table>
1146</div><div class="memdoc">
1147<p>Function that a resize layer should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
1148 <table class="params">
1149 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1150 <tr><td class="paramname">resizeDescriptor</td><td>- Parameters for the resize operation. </td></tr>
1151 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1152 </table>
1153 </dd>
1154</dl>
1155
1156<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#a306e22f3cc6baaf7a6f1390f669be42e">ILayerVisitor</a>.</p>
1157
1158<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00234">234</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
1159<div class="fragment"><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;{</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; boost::ignore_unused(resizeDescriptor);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; ForwardParentParameters(layer);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;}</div></div><!-- fragment -->
1160</div>
1161</div>
1162<a id="a98f34d2511f43324833060154cbdba8d"></a>
1163<h2 class="memtitle"><span class="permalink"><a href="#a98f34d2511f43324833060154cbdba8d">&#9670;&nbsp;</a></span>VisitSoftmaxLayer()</h2>
1164
1165<div class="memitem">
1166<div class="memproto">
1167<table class="mlabels">
1168 <tr>
1169 <td class="mlabels-left">
1170 <table class="memname">
1171 <tr>
1172 <td class="memname">void VisitSoftmaxLayer </td>
1173 <td>(</td>
1174 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
1175 <td class="paramname"><em>layer</em>, </td>
1176 </tr>
1177 <tr>
1178 <td class="paramkey"></td>
1179 <td></td>
1180 <td class="paramtype">const <a class="el" href="structarmnn_1_1_softmax_descriptor.html">SoftmaxDescriptor</a> &amp;&#160;</td>
1181 <td class="paramname"><em>softmaxDescriptor</em>, </td>
1182 </tr>
1183 <tr>
1184 <td class="paramkey"></td>
1185 <td></td>
1186 <td class="paramtype">const char *&#160;</td>
1187 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1188 </tr>
1189 <tr>
1190 <td></td>
1191 <td>)</td>
1192 <td></td><td></td>
1193 </tr>
1194 </table>
1195 </td>
1196 <td class="mlabels-right">
1197<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1198 </tr>
1199</table>
1200</div><div class="memdoc">
1201<p>Function that a softmax layer should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
1202 <table class="params">
1203 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1204 <tr><td class="paramname">softmaxDescriptor</td><td>- <a class="el" href="structarmnn_1_1_softmax_descriptor.html" title="A SoftmaxDescriptor for the SoftmaxLayer. ">SoftmaxDescriptor</a> to configure the softmax. </td></tr>
1205 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1206 </table>
1207 </dd>
1208</dl>
1209
1210<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#ae47c90e3188970462a28d297644133d1">ILayerVisitor</a>.</p>
1211
1212<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00150">150</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
1213<div class="fragment"><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;{</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; boost::ignore_unused(softmaxDescriptor);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; SetRange(layer, 0, 0.f, 1.f);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;}</div></div><!-- fragment -->
1214</div>
1215</div>
1216<a id="a8e327cc6432697fd55d6b91e554360d9"></a>
1217<h2 class="memtitle"><span class="permalink"><a href="#a8e327cc6432697fd55d6b91e554360d9">&#9670;&nbsp;</a></span>VisitSpaceToBatchNdLayer()</h2>
1218
1219<div class="memitem">
1220<div class="memproto">
1221<table class="mlabels">
1222 <tr>
1223 <td class="mlabels-left">
1224 <table class="memname">
1225 <tr>
1226 <td class="memname">void VisitSpaceToBatchNdLayer </td>
1227 <td>(</td>
1228 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
1229 <td class="paramname"><em>layer</em>, </td>
1230 </tr>
1231 <tr>
1232 <td class="paramkey"></td>
1233 <td></td>
1234 <td class="paramtype">const <a class="el" href="structarmnn_1_1_space_to_batch_nd_descriptor.html">SpaceToBatchNdDescriptor</a> &amp;&#160;</td>
1235 <td class="paramname"><em>spaceToBatchNdDescriptor</em>, </td>
1236 </tr>
1237 <tr>
1238 <td class="paramkey"></td>
1239 <td></td>
1240 <td class="paramtype">const char *&#160;</td>
1241 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1242 </tr>
1243 <tr>
1244 <td></td>
1245 <td>)</td>
1246 <td></td><td></td>
1247 </tr>
1248 </table>
1249 </td>
1250 <td class="mlabels-right">
1251<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1252 </tr>
1253</table>
1254</div><div class="memdoc">
1255<p>Function a space to batch layer should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
1256 <table class="params">
1257 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1258 <tr><td class="paramname">spaceToBatchNdDescriptor</td><td>- Parameters for the space to batch operation. </td></tr>
1259 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1260 </table>
1261 </dd>
1262</dl>
1263
1264<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#aa8c1ec6712293700fb3874f63f2ec5f0">ILayerVisitor</a>.</p>
1265
1266<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00132">132</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
1267<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;{</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; boost::ignore_unused(spaceToBatchNdDescriptor);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; ForwardParentParameters(layer);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;}</div></div><!-- fragment -->
1268</div>
1269</div>
1270<a id="afbea8aa2295f2ab71ea5bb64ccd47871"></a>
1271<h2 class="memtitle"><span class="permalink"><a href="#afbea8aa2295f2ab71ea5bb64ccd47871">&#9670;&nbsp;</a></span>VisitSplitterLayer()</h2>
1272
1273<div class="memitem">
1274<div class="memproto">
1275<table class="mlabels">
1276 <tr>
1277 <td class="mlabels-left">
1278 <table class="memname">
1279 <tr>
1280 <td class="memname">void VisitSplitterLayer </td>
1281 <td>(</td>
1282 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
1283 <td class="paramname"><em>layer</em>, </td>
1284 </tr>
1285 <tr>
1286 <td class="paramkey"></td>
1287 <td></td>
1288 <td class="paramtype">const <a class="el" href="namespacearmnn.html#a60291543fe872b795e71e05bcd835fd1">SplitterDescriptor</a> &amp;&#160;</td>
1289 <td class="paramname"><em>splitterDescriptor</em>, </td>
1290 </tr>
1291 <tr>
1292 <td class="paramkey"></td>
1293 <td></td>
1294 <td class="paramtype">const char *&#160;</td>
1295 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1296 </tr>
1297 <tr>
1298 <td></td>
1299 <td>)</td>
1300 <td></td><td></td>
1301 </tr>
1302 </table>
1303 </td>
1304 <td class="mlabels-right">
1305<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1306 </tr>
1307</table>
1308</div><div class="memdoc">
1309<p>Function that a splitter layer should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
1310 <table class="params">
1311 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1312 <tr><td class="paramname">splitterDescriptor</td><td>- <a class="el" href="structarmnn_1_1_views_descriptor.html" title="A ViewsDescriptor for the SplitterLayer. Descriptor to configure the splitting process. Number of Views must be equal to the number of outputs, and their order must match - e.g. first view corresponds to the first output, second view to the second output, etc. ">ViewsDescriptor</a> to configure the splitting process. Number of Views must be equal to the number of outputs, and their order must match - e.g. first view corresponds to the first output, second view to the second output, etc.... </td></tr>
1313 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1314 </table>
1315 </dd>
1316</dl>
1317
1318<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#a45c613d43c30b3314cafb1be3ef7685c">ILayerVisitor</a>.</p>
1319
1320<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00216">216</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
1321<div class="fragment"><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;{</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; boost::ignore_unused(splitterDescriptor);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; ForwardParentParameters(layer);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;}</div></div><!-- fragment -->
1322</div>
1323</div>
1324<a id="a61b7aa0305e7c45a625f7835fa26b9b6"></a>
1325<h2 class="memtitle"><span class="permalink"><a href="#a61b7aa0305e7c45a625f7835fa26b9b6">&#9670;&nbsp;</a></span>VisitStridedSliceLayer()</h2>
1326
1327<div class="memitem">
1328<div class="memproto">
1329<table class="mlabels">
1330 <tr>
1331 <td class="mlabels-left">
1332 <table class="memname">
1333 <tr>
1334 <td class="memname">void VisitStridedSliceLayer </td>
1335 <td>(</td>
1336 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> *&#160;</td>
1337 <td class="paramname"><em>layer</em>, </td>
1338 </tr>
1339 <tr>
1340 <td class="paramkey"></td>
1341 <td></td>
1342 <td class="paramtype">const <a class="el" href="structarmnn_1_1_strided_slice_descriptor.html">StridedSliceDescriptor</a> &amp;&#160;</td>
1343 <td class="paramname"><em>stridedSliceDescriptor</em>, </td>
1344 </tr>
1345 <tr>
1346 <td class="paramkey"></td>
1347 <td></td>
1348 <td class="paramtype">const char *&#160;</td>
1349 <td class="paramname"><em>name</em> = <code>nullptr</code>&#160;</td>
1350 </tr>
1351 <tr>
1352 <td></td>
1353 <td>)</td>
1354 <td></td><td></td>
1355 </tr>
1356 </table>
1357 </td>
1358 <td class="mlabels-right">
1359<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1360 </tr>
1361</table>
1362</div><div class="memdoc">
1363<p>Function a strided slice layer should call back to when its Accept(ILayerVisitor&amp;) function is invoked. </p><dl class="params"><dt>Parameters</dt><dd>
1364 <table class="params">
1365 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1366 <tr><td class="paramname">stridedSliceDescriptor</td><td>- Parameters for the strided slice operation. </td></tr>
1367 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
1368 </table>
1369 </dd>
1370</dl>
1371
1372<p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.html#ac2f4ca5ada6d8fcf82d7bea2e6a06924">ILayerVisitor</a>.</p>
1373
1374<p class="definition">Definition at line <a class="el" href="_static_range_visitor_8cpp_source.html#l00243">243</a> of file <a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a>.</p>
1375<div class="fragment"><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;{</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; boost::ignore_unused(stridedSliceDescriptor);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; boost::ignore_unused(name);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; ForwardParentParameters(layer);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;}</div></div><!-- fragment -->
1376</div>
1377</div>
1378<hr/>The documentation for this class was generated from the following files:<ul>
1379<li>src/armnn/<a class="el" href="_static_range_visitor_8hpp_source.html">StaticRangeVisitor.hpp</a></li>
1380<li>src/armnn/<a class="el" href="_static_range_visitor_8cpp_source.html">StaticRangeVisitor.cpp</a></li>
1381</ul>
1382</div><!-- contents -->
1383</div><!-- doc-content -->
1384<!-- start footer part -->
1385<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1386 <ul>
1387 <li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_static_range_visitor.html">StaticRangeVisitor</a></li>
1388 <li class="footer">Generated on Fri Mar 13 2020 16:07:05 for ArmNN by
1389 <a href="http://www.doxygen.org/index.html">
1390 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
1391 </ul>
1392</div>
1393</body>
1394</html>