1 <!-- Copyright (c) 2020 ARM Limited. -->
3 <!-- SPDX-License-Identifier: MIT -->
5 <!-- HTML header for doxygen 1.8.13-->
6 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
7 <html xmlns="http://www.w3.org/1999/xhtml">
9 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
10 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
11 <meta name="generator" content="Doxygen 1.8.13"/>
12 <meta name="robots" content="NOINDEX, NOFOLLOW" />
13 <meta name="viewport" content="width=device-width, initial-scale=1"/>
14 <title>ArmNN: DynamicQuantizationVisitor Class Reference</title>
15 <link href="tabs.css" rel="stylesheet" type="text/css"/>
16 <script type="text/javascript" src="jquery.js"></script>
17 <script type="text/javascript" src="dynsections.js"></script>
18 <link href="navtree.css" rel="stylesheet" type="text/css"/>
19 <script type="text/javascript" src="resize.js"></script>
20 <script type="text/javascript" src="navtreedata.js"></script>
21 <script type="text/javascript" src="navtree.js"></script>
22 <script type="text/javascript">
23 $(document).ready(initResizable);
25 <link href="search/search.css" rel="stylesheet" type="text/css"/>
26 <script type="text/javascript" src="search/searchdata.js"></script>
27 <script type="text/javascript" src="search/search.js"></script>
28 <script type="text/x-mathjax-config">
30 extensions: ["tex2jax.js"],
31 jax: ["input/TeX","output/HTML-CSS"],
33 </script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
34 <link href="doxygen.css" rel="stylesheet" type="text/css" />
35 <link href="stylesheet.css" rel="stylesheet" type="text/css"/>
38 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
40 <table cellspacing="0" cellpadding="0">
42 <tr style="height: 56px;">
43 <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
44 <td style="padding-left: 0.5em;">
45 <div id="projectname">
46  <span id="projectnumber">20.02</span>
53 <!-- end header part -->
54 <!-- Generated by Doxygen 1.8.13 -->
55 <script type="text/javascript">
56 var searchBox = new SearchBox("searchBox", "search",false,'Search');
58 <script type="text/javascript" src="menudata.js"></script>
59 <script type="text/javascript" src="menu.js"></script>
60 <script type="text/javascript">
62 initMenu('',true,false,'search.php','Search');
63 $(document).ready(function() { init_search(); });
66 <div id="main-nav"></div>
68 <div id="side-nav" class="ui-resizable side-nav-resizable">
70 <div id="nav-tree-contents">
71 <div id="nav-sync" class="sync"></div>
74 <div id="splitbar" style="-moz-user-select:none;"
75 class="ui-resizable-handle">
78 <script type="text/javascript">
79 $(document).ready(function(){initNavTree('classarmnn_1_1_dynamic_quantization_visitor.xhtml','');});
81 <div id="doc-content">
82 <!-- window showing the filter options -->
83 <div id="MSearchSelectWindow"
84 onmouseover="return searchBox.OnSearchSelectShow()"
85 onmouseout="return searchBox.OnSearchSelectHide()"
86 onkeydown="return searchBox.OnSearchSelectKey(event)">
89 <!-- iframe showing the search results (closed by default) -->
90 <div id="MSearchResultsWindow">
91 <iframe src="javascript:void(0)" frameborder="0"
92 name="MSearchResults" id="MSearchResults">
98 <a href="#pub-methods">Public Member Functions</a> |
99 <a href="classarmnn_1_1_dynamic_quantization_visitor-members.xhtml">List of all members</a> </div>
100 <div class="headertitle">
101 <div class="title">DynamicQuantizationVisitor Class Reference</div> </div>
103 <div class="contents">
105 <p>Visitor class to establish min/max ranges based on the type of the layer.
106 <a href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#details">More...</a></p>
108 <p><code>#include <<a class="el" href="_dynamic_quantization_visitor_8hpp_source.xhtml">DynamicQuantizationVisitor.hpp</a>></code></p>
109 <div class="dynheader">
110 Inheritance diagram for DynamicQuantizationVisitor:</div>
111 <div class="dyncontent">
113 <img src="classarmnn_1_1_dynamic_quantization_visitor.png" usemap="#DynamicQuantizationVisitor_map" alt=""/>
114 <map id="DynamicQuantizationVisitor_map" name="DynamicQuantizationVisitor_map">
115 <area href="classarmnn_1_1_layer_visitor_base.xhtml" alt="LayerVisitorBase< VisitorNoThrowPolicy >" shape="rect" coords="0,56,255,80"/>
116 <area href="classarmnn_1_1_i_layer_visitor.xhtml" alt="ILayerVisitor" shape="rect" coords="0,0,255,24"/>
119 <table class="memberdecls">
120 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
121 Public Member Functions</h2></td></tr>
122 <tr class="memitem:af377247c8cdc9bf91e9e5edd87331fef"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#af377247c8cdc9bf91e9e5edd87331fef">DynamicQuantizationVisitor</a> (<a class="el" href="classarmnn_1_1_range_tracker.xhtml">RangeTracker</a> &rangeTracker, <a class="el" href="classarmnn_1_1_graph.xhtml">Graph</a> &graph)</td></tr>
123 <tr class="separator:af377247c8cdc9bf91e9e5edd87331fef"><td class="memSeparator" colspan="2"> </td></tr>
124 <tr class="memitem:a4f083823a44ede4d3482361dcb61bebe"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#a4f083823a44ede4d3482361dcb61bebe">~DynamicQuantizationVisitor</a> ()=default</td></tr>
125 <tr class="separator:a4f083823a44ede4d3482361dcb61bebe"><td class="memSeparator" colspan="2"> </td></tr>
126 <tr class="memitem:a7cb4ef1bc9588c4319144460c288022f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#a7cb4ef1bc9588c4319144460c288022f">VisitAdditionLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const char *name=nullptr) override</td></tr>
127 <tr class="memdesc:a7cb4ef1bc9588c4319144460c288022f"><td class="mdescLeft"> </td><td class="mdescRight">Functions to set the Range on a per-layer-type basis. <a href="#a7cb4ef1bc9588c4319144460c288022f">More...</a><br /></td></tr>
128 <tr class="separator:a7cb4ef1bc9588c4319144460c288022f"><td class="memSeparator" colspan="2"> </td></tr>
129 <tr class="memitem:a1532cb8f551812e784ccc14faae407b9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#a1532cb8f551812e784ccc14faae407b9">VisitBatchNormalizationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_batch_normalization_descriptor.xhtml">BatchNormalizationDescriptor</a> &desc, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &mean, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &variance, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &beta, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &gamma, const char *name=nullptr) override</td></tr>
130 <tr class="memdesc:a1532cb8f551812e784ccc14faae407b9"><td class="mdescLeft"> </td><td class="mdescRight">Function that a batch normalization layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#a1532cb8f551812e784ccc14faae407b9">More...</a><br /></td></tr>
131 <tr class="separator:a1532cb8f551812e784ccc14faae407b9"><td class="memSeparator" colspan="2"> </td></tr>
132 <tr class="memitem:ac2f379ba77b06095e0c024e232ec1fd4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#ac2f379ba77b06095e0c024e232ec1fd4">VisitConvolution2dLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.xhtml">Convolution2dDescriptor</a> &convolution2dDescriptor, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &weights, const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>< <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> > &biases, const char *name=nullptr) override</td></tr>
133 <tr class="memdesc:ac2f379ba77b06095e0c024e232ec1fd4"><td class="mdescLeft"> </td><td class="mdescRight">Function that a 2D convolution layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#ac2f379ba77b06095e0c024e232ec1fd4">More...</a><br /></td></tr>
134 <tr class="separator:ac2f379ba77b06095e0c024e232ec1fd4"><td class="memSeparator" colspan="2"> </td></tr>
135 <tr class="memitem:a554e88817e6fd98645388873a108f868"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#a554e88817e6fd98645388873a108f868">VisitDepthwiseConvolution2dLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml">DepthwiseConvolution2dDescriptor</a> &desc, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &weights, const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>< <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> > &biases, const char *name=nullptr) override</td></tr>
136 <tr class="memdesc:a554e88817e6fd98645388873a108f868"><td class="mdescLeft"> </td><td class="mdescRight">Function that a 2D depthwise convolution layer with biases should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#a554e88817e6fd98645388873a108f868">More...</a><br /></td></tr>
137 <tr class="separator:a554e88817e6fd98645388873a108f868"><td class="memSeparator" colspan="2"> </td></tr>
138 <tr class="memitem:af493528dec93f39f5081dbefb40bff75"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#af493528dec93f39f5081dbefb40bff75">VisitActivationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_activation_descriptor.xhtml">ActivationDescriptor</a> &activationDescriptor, const char *name=nullptr) override</td></tr>
139 <tr class="memdesc:af493528dec93f39f5081dbefb40bff75"><td class="mdescLeft"> </td><td class="mdescRight">Function that an activation layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#af493528dec93f39f5081dbefb40bff75">More...</a><br /></td></tr>
140 <tr class="separator:af493528dec93f39f5081dbefb40bff75"><td class="memSeparator" colspan="2"> </td></tr>
141 <tr class="memitem:ac98eae261af6c8d5f7161a01a1959e72"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#ac98eae261af6c8d5f7161a01a1959e72">VisitFullyConnectedLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.xhtml">FullyConnectedDescriptor</a> &desc, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &weights, const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>< <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> > &biases, const char *name) override</td></tr>
142 <tr class="memdesc:ac98eae261af6c8d5f7161a01a1959e72"><td class="mdescLeft"> </td><td class="mdescRight">Function that a fully connected layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#ac98eae261af6c8d5f7161a01a1959e72">More...</a><br /></td></tr>
143 <tr class="separator:ac98eae261af6c8d5f7161a01a1959e72"><td class="memSeparator" colspan="2"> </td></tr>
144 <tr class="memitem:ad5532a4626c0228acc7b01fa0f5515eb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#ad5532a4626c0228acc7b01fa0f5515eb">VisitPermuteLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_permute_descriptor.xhtml">PermuteDescriptor</a> &permuteDescriptor, const char *name) override</td></tr>
145 <tr class="memdesc:ad5532a4626c0228acc7b01fa0f5515eb"><td class="mdescLeft"> </td><td class="mdescRight">Function that a permute layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#ad5532a4626c0228acc7b01fa0f5515eb">More...</a><br /></td></tr>
146 <tr class="separator:ad5532a4626c0228acc7b01fa0f5515eb"><td class="memSeparator" colspan="2"> </td></tr>
147 <tr class="memitem:a8e327cc6432697fd55d6b91e554360d9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#a8e327cc6432697fd55d6b91e554360d9">VisitSpaceToBatchNdLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_space_to_batch_nd_descriptor.xhtml">SpaceToBatchNdDescriptor</a> &spaceToBatchNdDescriptor, const char *name=nullptr) override</td></tr>
148 <tr class="memdesc:a8e327cc6432697fd55d6b91e554360d9"><td class="mdescLeft"> </td><td class="mdescRight">Function a space to batch layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#a8e327cc6432697fd55d6b91e554360d9">More...</a><br /></td></tr>
149 <tr class="separator:a8e327cc6432697fd55d6b91e554360d9"><td class="memSeparator" colspan="2"> </td></tr>
150 <tr class="memitem:aaca77d69321f5ba94d639fe40dbd0b1c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#aaca77d69321f5ba94d639fe40dbd0b1c">VisitPooling2dLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_pooling2d_descriptor.xhtml">Pooling2dDescriptor</a> &pooling2dDescriptor, const char *name) override</td></tr>
151 <tr class="memdesc:aaca77d69321f5ba94d639fe40dbd0b1c"><td class="mdescLeft"> </td><td class="mdescRight">Function that a pooling layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#aaca77d69321f5ba94d639fe40dbd0b1c">More...</a><br /></td></tr>
152 <tr class="separator:aaca77d69321f5ba94d639fe40dbd0b1c"><td class="memSeparator" colspan="2"> </td></tr>
153 <tr class="memitem:a98f34d2511f43324833060154cbdba8d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#a98f34d2511f43324833060154cbdba8d">VisitSoftmaxLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_softmax_descriptor.xhtml">SoftmaxDescriptor</a> &softmaxDescriptor, const char *name=nullptr) override</td></tr>
154 <tr class="memdesc:a98f34d2511f43324833060154cbdba8d"><td class="mdescLeft"> </td><td class="mdescRight">Function that a softmax layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#a98f34d2511f43324833060154cbdba8d">More...</a><br /></td></tr>
155 <tr class="separator:a98f34d2511f43324833060154cbdba8d"><td class="memSeparator" colspan="2"> </td></tr>
156 <tr class="memitem:a8a3cd0b0d46a765ad2b0652c72a31d0c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#a8a3cd0b0d46a765ad2b0652c72a31d0c">VisitConcatLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="namespacearmnn.xhtml#a7863c179ff92feec660c48ab7b95ae55">ConcatDescriptor</a> &originsDescriptor, const char *name=nullptr) override</td></tr>
157 <tr class="memdesc:a8a3cd0b0d46a765ad2b0652c72a31d0c"><td class="mdescLeft"> </td><td class="mdescRight">Function that a concat layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#a8a3cd0b0d46a765ad2b0652c72a31d0c">More...</a><br /></td></tr>
158 <tr class="separator:a8a3cd0b0d46a765ad2b0652c72a31d0c"><td class="memSeparator" colspan="2"> </td></tr>
159 <tr class="memitem:aeb652d74e4b3596e85b22c2d52144f73"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#aeb652d74e4b3596e85b22c2d52144f73">VisitConstantLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &input, const char *name=nullptr) override</td></tr>
160 <tr class="memdesc:aeb652d74e4b3596e85b22c2d52144f73"><td class="mdescLeft"> </td><td class="mdescRight">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&) function is invoked. <a href="#aeb652d74e4b3596e85b22c2d52144f73">More...</a><br /></td></tr>
161 <tr class="separator:aeb652d74e4b3596e85b22c2d52144f73"><td class="memSeparator" colspan="2"> </td></tr>
162 <tr class="memitem:a4a7f7f33591fd91e8fb1c08d06c0733a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#a4a7f7f33591fd91e8fb1c08d06c0733a">VisitReshapeLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_reshape_descriptor.xhtml">ReshapeDescriptor</a> &reshapeDescriptor, const char *name=nullptr) override</td></tr>
163 <tr class="memdesc:a4a7f7f33591fd91e8fb1c08d06c0733a"><td class="mdescLeft"> </td><td class="mdescRight">Function a reshape layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#a4a7f7f33591fd91e8fb1c08d06c0733a">More...</a><br /></td></tr>
164 <tr class="separator:a4a7f7f33591fd91e8fb1c08d06c0733a"><td class="memSeparator" colspan="2"> </td></tr>
165 <tr class="memitem:afbea8aa2295f2ab71ea5bb64ccd47871"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#afbea8aa2295f2ab71ea5bb64ccd47871">VisitSplitterLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="namespacearmnn.xhtml#a60291543fe872b795e71e05bcd835fd1">SplitterDescriptor</a> &splitterDescriptor, const char *name=nullptr) override</td></tr>
166 <tr class="memdesc:afbea8aa2295f2ab71ea5bb64ccd47871"><td class="mdescLeft"> </td><td class="mdescRight">Function that a splitter layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#afbea8aa2295f2ab71ea5bb64ccd47871">More...</a><br /></td></tr>
167 <tr class="separator:afbea8aa2295f2ab71ea5bb64ccd47871"><td class="memSeparator" colspan="2"> </td></tr>
168 <tr class="memitem:a5abbca55c908440acecfa6e0f921092d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#a5abbca55c908440acecfa6e0f921092d">VisitResizeBilinearLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_resize_bilinear_descriptor.xhtml">ResizeBilinearDescriptor</a> &resizeDesc, const char *name=nullptr) override</td></tr>
169 <tr class="memdesc:a5abbca55c908440acecfa6e0f921092d"><td class="mdescLeft"> </td><td class="mdescRight">Function that a resize bilinear layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#a5abbca55c908440acecfa6e0f921092d">More...</a><br /></td></tr>
170 <tr class="separator:a5abbca55c908440acecfa6e0f921092d"><td class="memSeparator" colspan="2"> </td></tr>
171 <tr class="memitem:a61b7aa0305e7c45a625f7835fa26b9b6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#a61b7aa0305e7c45a625f7835fa26b9b6">VisitStridedSliceLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_strided_slice_descriptor.xhtml">StridedSliceDescriptor</a> &stridedSliceDescriptor, const char *name=nullptr) override</td></tr>
172 <tr class="memdesc:a61b7aa0305e7c45a625f7835fa26b9b6"><td class="mdescLeft"> </td><td class="mdescRight">Function a strided slice layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#a61b7aa0305e7c45a625f7835fa26b9b6">More...</a><br /></td></tr>
173 <tr class="separator:a61b7aa0305e7c45a625f7835fa26b9b6"><td class="memSeparator" colspan="2"> </td></tr>
174 <tr class="memitem:af5d09e03a578afa9c0bb8afd11c65485"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#af5d09e03a578afa9c0bb8afd11c65485">VisitBatchToSpaceNdLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, const <a class="el" href="structarmnn_1_1_batch_to_space_nd_descriptor.xhtml">BatchToSpaceNdDescriptor</a> &batchToSpaceNdDescriptor, const char *name=nullptr) override</td></tr>
175 <tr class="memdesc:af5d09e03a578afa9c0bb8afd11c65485"><td class="mdescLeft"> </td><td class="mdescRight">Function that a batch to space ND layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#af5d09e03a578afa9c0bb8afd11c65485">More...</a><br /></td></tr>
176 <tr class="separator:af5d09e03a578afa9c0bb8afd11c65485"><td class="memSeparator" colspan="2"> </td></tr>
177 <tr class="memitem:a2ca539d734553e606c0134940e444298"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#a2ca539d734553e606c0134940e444298">VisitInputLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, <a class="el" href="namespacearmnn.xhtml#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a> id, const char *name=nullptr) override</td></tr>
178 <tr class="memdesc:a2ca539d734553e606c0134940e444298"><td class="mdescLeft"> </td><td class="mdescRight">Function that an <a class="el" href="classarmnn_1_1_input_layer.xhtml" title="A layer user-provided data can be bound to (e.g. inputs, outputs). ">InputLayer</a> should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#a2ca539d734553e606c0134940e444298">More...</a><br /></td></tr>
179 <tr class="separator:a2ca539d734553e606c0134940e444298"><td class="memSeparator" colspan="2"> </td></tr>
180 <tr class="memitem:ac75d60924c52b96ea6f9567fcfa2db10"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#ac75d60924c52b96ea6f9567fcfa2db10">VisitOutputLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *layer, <a class="el" href="namespacearmnn.xhtml#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a> id, const char *name=nullptr) override</td></tr>
181 <tr class="memdesc:ac75d60924c52b96ea6f9567fcfa2db10"><td class="mdescLeft"> </td><td class="mdescRight">Function an output layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="#ac75d60924c52b96ea6f9567fcfa2db10">More...</a><br /></td></tr>
182 <tr class="separator:ac75d60924c52b96ea6f9567fcfa2db10"><td class="memSeparator" colspan="2"> </td></tr>
183 <tr class="memitem:a65ad16db7d3eab9c6bfc2cdb7271ef3b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#a65ad16db7d3eab9c6bfc2cdb7271ef3b">FinishVisit</a> () override</td></tr>
184 <tr class="separator:a65ad16db7d3eab9c6bfc2cdb7271ef3b"><td class="memSeparator" colspan="2"> </td></tr>
185 <tr class="memitem:a795e9253dab52825add51ffc569eb81e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#a795e9253dab52825add51ffc569eb81e">VisitNonCalibratedLayers</a> ()</td></tr>
186 <tr class="separator:a795e9253dab52825add51ffc569eb81e"><td class="memSeparator" colspan="2"> </td></tr>
187 <tr class="memitem:a2004cc285dba7f2d4e69352e60a9a7a0"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="namespacearmnn.xhtml#ab8cf8f9fb6792e654c2d8d8382f6f01b">armnn::LayerBindingId</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml#a2004cc285dba7f2d4e69352e60a9a7a0">GetOutputLayers</a> ()</td></tr>
188 <tr class="separator:a2004cc285dba7f2d4e69352e60a9a7a0"><td class="memSeparator" colspan="2"> </td></tr>
189 <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="-"/> Public Member Functions inherited from <a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml">LayerVisitorBase< VisitorNoThrowPolicy ></a></td></tr>
190 <tr class="memitem:acb663f7919f9566c3dcc8b6478999d34 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#acb663f7919f9566c3dcc8b6478999d34">VisitAbsLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
191 <tr class="memdesc:acb663f7919f9566c3dcc8b6478999d34 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function an absolute layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#acb663f7919f9566c3dcc8b6478999d34">More...</a><br /></td></tr>
192 <tr class="separator:acb663f7919f9566c3dcc8b6478999d34 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
193 <tr class="memitem:a30b99e5202fc77b02f92d5c44e5ca86d inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a30b99e5202fc77b02f92d5c44e5ca86d">VisitActivationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_activation_descriptor.xhtml">ActivationDescriptor</a> &, const char *) override</td></tr>
194 <tr class="memdesc:a30b99e5202fc77b02f92d5c44e5ca86d inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that an activation layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a30b99e5202fc77b02f92d5c44e5ca86d">More...</a><br /></td></tr>
195 <tr class="separator:a30b99e5202fc77b02f92d5c44e5ca86d inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
196 <tr class="memitem:a0c9f3396207de48925016a2eee6aa12b inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a0c9f3396207de48925016a2eee6aa12b">VisitAdditionLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
197 <tr class="memdesc:a0c9f3396207de48925016a2eee6aa12b inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that an addition layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a0c9f3396207de48925016a2eee6aa12b">More...</a><br /></td></tr>
198 <tr class="separator:a0c9f3396207de48925016a2eee6aa12b inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
199 <tr class="memitem:a719076848950255b929636c97aaaede4 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a719076848950255b929636c97aaaede4">VisitArgMinMaxLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_arg_min_max_descriptor.xhtml">ArgMinMaxDescriptor</a> &, const char *) override</td></tr>
200 <tr class="memdesc:a719076848950255b929636c97aaaede4 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that an arg min max layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a719076848950255b929636c97aaaede4">More...</a><br /></td></tr>
201 <tr class="separator:a719076848950255b929636c97aaaede4 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
202 <tr class="memitem:ab0ae25ba5f3c494d1fb32f06cd57af10 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#ab0ae25ba5f3c494d1fb32f06cd57af10">VisitBatchNormalizationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_batch_normalization_descriptor.xhtml">BatchNormalizationDescriptor</a> &, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &, const char *) override</td></tr>
203 <tr class="memdesc:ab0ae25ba5f3c494d1fb32f06cd57af10 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a batch normalization layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#ab0ae25ba5f3c494d1fb32f06cd57af10">More...</a><br /></td></tr>
204 <tr class="separator:ab0ae25ba5f3c494d1fb32f06cd57af10 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
205 <tr class="memitem:a62aac266e23bd680633e62832f56bc11 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a62aac266e23bd680633e62832f56bc11">VisitBatchToSpaceNdLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_batch_to_space_nd_descriptor.xhtml">BatchToSpaceNdDescriptor</a> &, const char *) override</td></tr>
206 <tr class="memdesc:a62aac266e23bd680633e62832f56bc11 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a batch to space ND layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a62aac266e23bd680633e62832f56bc11">More...</a><br /></td></tr>
207 <tr class="separator:a62aac266e23bd680633e62832f56bc11 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
208 <tr class="memitem:a95dc828296e6d05c0bf0b691d4dc6a3f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a95dc828296e6d05c0bf0b691d4dc6a3f">VisitComparisonLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_comparison_descriptor.xhtml">ComparisonDescriptor</a> &, const char *) override</td></tr>
209 <tr class="memdesc:a95dc828296e6d05c0bf0b691d4dc6a3f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a Comparison layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a95dc828296e6d05c0bf0b691d4dc6a3f">More...</a><br /></td></tr>
210 <tr class="separator:a95dc828296e6d05c0bf0b691d4dc6a3f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
211 <tr class="memitem:a2d4f84683c4a00dfb5eecb6b165d41b9 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a2d4f84683c4a00dfb5eecb6b165d41b9">VisitConcatLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="namespacearmnn.xhtml#a7863c179ff92feec660c48ab7b95ae55">ConcatDescriptor</a> &, const char *) override</td></tr>
212 <tr class="memdesc:a2d4f84683c4a00dfb5eecb6b165d41b9 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a concat layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a2d4f84683c4a00dfb5eecb6b165d41b9">More...</a><br /></td></tr>
213 <tr class="separator:a2d4f84683c4a00dfb5eecb6b165d41b9 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
214 <tr class="memitem:a90698dba3e90ced6f562cda146bf15e3 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a90698dba3e90ced6f562cda146bf15e3">VisitConstantLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &, const char *) override</td></tr>
215 <tr class="memdesc:a90698dba3e90ced6f562cda146bf15e3 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">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&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a90698dba3e90ced6f562cda146bf15e3">More...</a><br /></td></tr>
216 <tr class="separator:a90698dba3e90ced6f562cda146bf15e3 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
217 <tr class="memitem:aff3099f516e132f4d8818a54fa1ee767 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#aff3099f516e132f4d8818a54fa1ee767">VisitConvolution2dLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.xhtml">Convolution2dDescriptor</a> &, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &, const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>< <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> > &, const char *) override</td></tr>
218 <tr class="memdesc:aff3099f516e132f4d8818a54fa1ee767 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a 2D convolution layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#aff3099f516e132f4d8818a54fa1ee767">More...</a><br /></td></tr>
219 <tr class="separator:aff3099f516e132f4d8818a54fa1ee767 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
220 <tr class="memitem:ad3aaff3b6165f8de16522bc4a1ed32a0 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#ad3aaff3b6165f8de16522bc4a1ed32a0">VisitDepthToSpaceLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="namespacearmnn.xhtml#a3647f60510bc8ddaced01c51b0ee8714">DepthToSpaceDescriptor</a> &, const char *) override</td></tr>
221 <tr class="memdesc:ad3aaff3b6165f8de16522bc4a1ed32a0 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a depth to space layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#ad3aaff3b6165f8de16522bc4a1ed32a0">More...</a><br /></td></tr>
222 <tr class="separator:ad3aaff3b6165f8de16522bc4a1ed32a0 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
223 <tr class="memitem:a70050fc50ee44a439665f914d5fe9684 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a70050fc50ee44a439665f914d5fe9684">VisitDepthwiseConvolution2dLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml">DepthwiseConvolution2dDescriptor</a> &, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &, const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>< <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> > &, const char *) override</td></tr>
224 <tr class="memdesc:a70050fc50ee44a439665f914d5fe9684 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a 2D depthwise convolution layer with biases should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a70050fc50ee44a439665f914d5fe9684">More...</a><br /></td></tr>
225 <tr class="separator:a70050fc50ee44a439665f914d5fe9684 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
226 <tr class="memitem:aa27cc900d32dcc4a92f59e3bab4f4653 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#aa27cc900d32dcc4a92f59e3bab4f4653">VisitDequantizeLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
227 <tr class="memdesc:aa27cc900d32dcc4a92f59e3bab4f4653 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a Dequantize layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#aa27cc900d32dcc4a92f59e3bab4f4653">More...</a><br /></td></tr>
228 <tr class="separator:aa27cc900d32dcc4a92f59e3bab4f4653 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
229 <tr class="memitem:a88bad2eef809ccf6f2129f9ed4a6f3a7 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a88bad2eef809ccf6f2129f9ed4a6f3a7">VisitDetectionPostProcessLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_detection_post_process_descriptor.xhtml">DetectionPostProcessDescriptor</a> &, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &, const char *) override</td></tr>
230 <tr class="memdesc:a88bad2eef809ccf6f2129f9ed4a6f3a7 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a Detection PostProcess layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a88bad2eef809ccf6f2129f9ed4a6f3a7">More...</a><br /></td></tr>
231 <tr class="separator:a88bad2eef809ccf6f2129f9ed4a6f3a7 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
232 <tr class="memitem:a7450859464a381eafaedb33adc582f75 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a7450859464a381eafaedb33adc582f75">VisitDivisionLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
233 <tr class="memdesc:a7450859464a381eafaedb33adc582f75 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a division layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a7450859464a381eafaedb33adc582f75">More...</a><br /></td></tr>
234 <tr class="separator:a7450859464a381eafaedb33adc582f75 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
235 <tr class="memitem:a9d02f4bfaffcb16e340e9b8c20bc5e35 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a9d02f4bfaffcb16e340e9b8c20bc5e35">VisitElementwiseUnaryLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_elementwise_unary_descriptor.xhtml">ElementwiseUnaryDescriptor</a> &, const char *) override</td></tr>
236 <tr class="memdesc:a9d02f4bfaffcb16e340e9b8c20bc5e35 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a ElementwiseUnary layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a9d02f4bfaffcb16e340e9b8c20bc5e35">More...</a><br /></td></tr>
237 <tr class="separator:a9d02f4bfaffcb16e340e9b8c20bc5e35 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
238 <tr class="memitem:a3249cd1186dc7e700a0ec0884fb9d5fa inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a3249cd1186dc7e700a0ec0884fb9d5fa">VisitEqualLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
239 <tr class="memdesc:a3249cd1186dc7e700a0ec0884fb9d5fa inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function an Equal layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a3249cd1186dc7e700a0ec0884fb9d5fa">More...</a><br /></td></tr>
240 <tr class="separator:a3249cd1186dc7e700a0ec0884fb9d5fa inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
241 <tr class="memitem:a060c3a3f978fec03212afaff1fe1648d inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a060c3a3f978fec03212afaff1fe1648d">VisitFloorLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
242 <tr class="memdesc:a060c3a3f978fec03212afaff1fe1648d inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a floor layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a060c3a3f978fec03212afaff1fe1648d">More...</a><br /></td></tr>
243 <tr class="separator:a060c3a3f978fec03212afaff1fe1648d inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
244 <tr class="memitem:a9049cf6d72d4b67fff93670f21c09da3 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a9049cf6d72d4b67fff93670f21c09da3">VisitFullyConnectedLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.xhtml">FullyConnectedDescriptor</a> &, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &, const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>< <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> > &, const char *) override</td></tr>
245 <tr class="memdesc:a9049cf6d72d4b67fff93670f21c09da3 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a fully connected layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a9049cf6d72d4b67fff93670f21c09da3">More...</a><br /></td></tr>
246 <tr class="separator:a9049cf6d72d4b67fff93670f21c09da3 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
247 <tr class="memitem:ae7639178bd8c29ffa83162dfd108b725 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#ae7639178bd8c29ffa83162dfd108b725">VisitGatherLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
248 <tr class="memdesc:ae7639178bd8c29ffa83162dfd108b725 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a Gather layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#ae7639178bd8c29ffa83162dfd108b725">More...</a><br /></td></tr>
249 <tr class="separator:ae7639178bd8c29ffa83162dfd108b725 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
250 <tr class="memitem:a2a28dbfcd1e83bc8158d78feb93d4a0c inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a2a28dbfcd1e83bc8158d78feb93d4a0c">VisitGreaterLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
251 <tr class="memdesc:a2a28dbfcd1e83bc8158d78feb93d4a0c inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a Greater layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a2a28dbfcd1e83bc8158d78feb93d4a0c">More...</a><br /></td></tr>
252 <tr class="separator:a2a28dbfcd1e83bc8158d78feb93d4a0c inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
253 <tr class="memitem:a6c23f9e9d8427775925d071feee5dbd1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a6c23f9e9d8427775925d071feee5dbd1">VisitInputLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, <a class="el" href="namespacearmnn.xhtml#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a>, const char *) override</td></tr>
254 <tr class="memdesc:a6c23f9e9d8427775925d071feee5dbd1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that an InputLayer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a6c23f9e9d8427775925d071feee5dbd1">More...</a><br /></td></tr>
255 <tr class="separator:a6c23f9e9d8427775925d071feee5dbd1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
256 <tr class="memitem:a58f90a911e6827702c478cabaeac57fe inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a58f90a911e6827702c478cabaeac57fe">VisitInstanceNormalizationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_instance_normalization_descriptor.xhtml">InstanceNormalizationDescriptor</a> &, const char *) override</td></tr>
257 <tr class="memdesc:a58f90a911e6827702c478cabaeac57fe inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that an instance normalization layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a58f90a911e6827702c478cabaeac57fe">More...</a><br /></td></tr>
258 <tr class="separator:a58f90a911e6827702c478cabaeac57fe inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
259 <tr class="memitem:ae68e2b431ea3d2822f19ad4ac806fdaa inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#ae68e2b431ea3d2822f19ad4ac806fdaa">VisitL2NormalizationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_l2_normalization_descriptor.xhtml">L2NormalizationDescriptor</a> &, const char *) override</td></tr>
260 <tr class="memdesc:ae68e2b431ea3d2822f19ad4ac806fdaa inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that an L2 normalization layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#ae68e2b431ea3d2822f19ad4ac806fdaa">More...</a><br /></td></tr>
261 <tr class="separator:ae68e2b431ea3d2822f19ad4ac806fdaa inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
262 <tr class="memitem:a8d4d2e5580385ee664830720698d112c inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a8d4d2e5580385ee664830720698d112c">VisitLogSoftmaxLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="namespacearmnn.xhtml#ac14705405cbcdd580df613de6766fe65">LogSoftmaxDescriptor</a> &, const char *) override</td></tr>
263 <tr class="memdesc:a8d4d2e5580385ee664830720698d112c inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a log softmax layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a8d4d2e5580385ee664830720698d112c">More...</a><br /></td></tr>
264 <tr class="separator:a8d4d2e5580385ee664830720698d112c inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
265 <tr class="memitem:aaf1a238ec5b6bb172bc4cd3811f08b28 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#aaf1a238ec5b6bb172bc4cd3811f08b28">VisitLstmLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_lstm_descriptor.xhtml">LstmDescriptor</a> &, const <a class="el" href="structarmnn_1_1_lstm_input_params.xhtml">LstmInputParams</a> &, const char *) override</td></tr>
266 <tr class="memdesc:aaf1a238ec5b6bb172bc4cd3811f08b28 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function an Lstm layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#aaf1a238ec5b6bb172bc4cd3811f08b28">More...</a><br /></td></tr>
267 <tr class="separator:aaf1a238ec5b6bb172bc4cd3811f08b28 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
268 <tr class="memitem:a778e1b2219e3eb2d790d6e6e653a9f25 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a778e1b2219e3eb2d790d6e6e653a9f25">VisitMaximumLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
269 <tr class="memdesc:a778e1b2219e3eb2d790d6e6e653a9f25 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a Maximum layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a778e1b2219e3eb2d790d6e6e653a9f25">More...</a><br /></td></tr>
270 <tr class="separator:a778e1b2219e3eb2d790d6e6e653a9f25 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
271 <tr class="memitem:a0180a15e542f4ef240fadc09fe4b2e3f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a0180a15e542f4ef240fadc09fe4b2e3f">VisitMeanLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_mean_descriptor.xhtml">MeanDescriptor</a> &, const char *) override</td></tr>
272 <tr class="memdesc:a0180a15e542f4ef240fadc09fe4b2e3f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a Mean layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a0180a15e542f4ef240fadc09fe4b2e3f">More...</a><br /></td></tr>
273 <tr class="separator:a0180a15e542f4ef240fadc09fe4b2e3f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
274 <tr class="memitem:aafb62c879f0c78bfdc3c4e4f2cb82e68 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#aafb62c879f0c78bfdc3c4e4f2cb82e68">VisitMergeLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
275 <tr class="memdesc:aafb62c879f0c78bfdc3c4e4f2cb82e68 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a merge layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#aafb62c879f0c78bfdc3c4e4f2cb82e68">More...</a><br /></td></tr>
276 <tr class="separator:aafb62c879f0c78bfdc3c4e4f2cb82e68 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
277 <tr class="memitem:acef69a3870409ca9a6130db91047e729 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#acef69a3870409ca9a6130db91047e729">VisitMergerLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="namespacearmnn.xhtml#a003d213dd28b0b8c0f26fbf268ccb975">MergerDescriptor</a> &, const char *) override</td></tr>
278 <tr class="memdesc:acef69a3870409ca9a6130db91047e729 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a merger layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#acef69a3870409ca9a6130db91047e729">More...</a><br /></td></tr>
279 <tr class="separator:acef69a3870409ca9a6130db91047e729 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
280 <tr class="memitem:a1e24e9a7bf52efc1699c126435574e95 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a1e24e9a7bf52efc1699c126435574e95">VisitMinimumLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
281 <tr class="memdesc:a1e24e9a7bf52efc1699c126435574e95 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a Minimum layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a1e24e9a7bf52efc1699c126435574e95">More...</a><br /></td></tr>
282 <tr class="separator:a1e24e9a7bf52efc1699c126435574e95 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
283 <tr class="memitem:ac57d22126a9131108214df9177addade inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#ac57d22126a9131108214df9177addade">VisitMultiplicationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
284 <tr class="memdesc:ac57d22126a9131108214df9177addade inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a multiplication layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#ac57d22126a9131108214df9177addade">More...</a><br /></td></tr>
285 <tr class="separator:ac57d22126a9131108214df9177addade inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
286 <tr class="memitem:a3150ff2299a2e193952300b8c9edd1e1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a3150ff2299a2e193952300b8c9edd1e1">VisitNormalizationLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_normalization_descriptor.xhtml">NormalizationDescriptor</a> &, const char *) override</td></tr>
287 <tr class="memdesc:a3150ff2299a2e193952300b8c9edd1e1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a normalization layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a3150ff2299a2e193952300b8c9edd1e1">More...</a><br /></td></tr>
288 <tr class="separator:a3150ff2299a2e193952300b8c9edd1e1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
289 <tr class="memitem:acc39ddb06acfd91cf3cfb0fcd9337005 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#acc39ddb06acfd91cf3cfb0fcd9337005">VisitOutputLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, <a class="el" href="namespacearmnn.xhtml#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a>, const char *) override</td></tr>
290 <tr class="memdesc:acc39ddb06acfd91cf3cfb0fcd9337005 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function an output layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#acc39ddb06acfd91cf3cfb0fcd9337005">More...</a><br /></td></tr>
291 <tr class="separator:acc39ddb06acfd91cf3cfb0fcd9337005 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
292 <tr class="memitem:a8a240e1b725cc204bb468b6b402e1670 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a8a240e1b725cc204bb468b6b402e1670">VisitPadLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_pad_descriptor.xhtml">PadDescriptor</a> &, const char *) override</td></tr>
293 <tr class="memdesc:a8a240e1b725cc204bb468b6b402e1670 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a pad layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a8a240e1b725cc204bb468b6b402e1670">More...</a><br /></td></tr>
294 <tr class="separator:a8a240e1b725cc204bb468b6b402e1670 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
295 <tr class="memitem:a275f4c270ce472abc8701f6475ff7f38 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a275f4c270ce472abc8701f6475ff7f38">VisitPermuteLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_permute_descriptor.xhtml">PermuteDescriptor</a> &, const char *) override</td></tr>
296 <tr class="memdesc:a275f4c270ce472abc8701f6475ff7f38 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a permute layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a275f4c270ce472abc8701f6475ff7f38">More...</a><br /></td></tr>
297 <tr class="separator:a275f4c270ce472abc8701f6475ff7f38 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
298 <tr class="memitem:a5e369658cb00178eeb9136f1c912fd3f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a5e369658cb00178eeb9136f1c912fd3f">VisitPooling2dLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_pooling2d_descriptor.xhtml">Pooling2dDescriptor</a> &, const char *) override</td></tr>
299 <tr class="memdesc:a5e369658cb00178eeb9136f1c912fd3f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a pooling layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a5e369658cb00178eeb9136f1c912fd3f">More...</a><br /></td></tr>
300 <tr class="separator:a5e369658cb00178eeb9136f1c912fd3f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
301 <tr class="memitem:a79c933bea6fb9986c3baa171be98da5c inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a79c933bea6fb9986c3baa171be98da5c">VisitPreluLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
302 <tr class="memdesc:a79c933bea6fb9986c3baa171be98da5c inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a PReLU activation layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a79c933bea6fb9986c3baa171be98da5c">More...</a><br /></td></tr>
303 <tr class="separator:a79c933bea6fb9986c3baa171be98da5c inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
304 <tr class="memitem:a8a6db421f0be147916cb4894ad3885d1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a8a6db421f0be147916cb4894ad3885d1">VisitQuantizeLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
305 <tr class="memdesc:a8a6db421f0be147916cb4894ad3885d1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a quantize layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a8a6db421f0be147916cb4894ad3885d1">More...</a><br /></td></tr>
306 <tr class="separator:a8a6db421f0be147916cb4894ad3885d1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
307 <tr class="memitem:a2fdb21a22a95af72177b4e909741b5c7 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a2fdb21a22a95af72177b4e909741b5c7">VisitQuantizedLstmLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_quantized_lstm_input_params.xhtml">QuantizedLstmInputParams</a> &, const char *) override</td></tr>
308 <tr class="memdesc:a2fdb21a22a95af72177b4e909741b5c7 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a QuantizedLstm layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a2fdb21a22a95af72177b4e909741b5c7">More...</a><br /></td></tr>
309 <tr class="separator:a2fdb21a22a95af72177b4e909741b5c7 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
310 <tr class="memitem:a9ebd504c48864d63917836e0dc335725 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a9ebd504c48864d63917836e0dc335725">VisitReshapeLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_reshape_descriptor.xhtml">ReshapeDescriptor</a> &, const char *) override</td></tr>
311 <tr class="memdesc:a9ebd504c48864d63917836e0dc335725 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a reshape layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a9ebd504c48864d63917836e0dc335725">More...</a><br /></td></tr>
312 <tr class="separator:a9ebd504c48864d63917836e0dc335725 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
313 <tr class="memitem:a8d4c5571a4b3db2badf7f1dce3467391 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a8d4c5571a4b3db2badf7f1dce3467391">VisitResizeBilinearLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_resize_bilinear_descriptor.xhtml">ResizeBilinearDescriptor</a> &, const char *) override</td></tr>
314 <tr class="memdesc:a8d4c5571a4b3db2badf7f1dce3467391 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a resize bilinear layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a8d4c5571a4b3db2badf7f1dce3467391">More...</a><br /></td></tr>
315 <tr class="separator:a8d4c5571a4b3db2badf7f1dce3467391 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
316 <tr class="memitem:a49c296c5d0f9efb76f165954cf40c281 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a49c296c5d0f9efb76f165954cf40c281">VisitResizeLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_resize_descriptor.xhtml">ResizeDescriptor</a> &, const char *) override</td></tr>
317 <tr class="memdesc:a49c296c5d0f9efb76f165954cf40c281 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a resize layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a49c296c5d0f9efb76f165954cf40c281">More...</a><br /></td></tr>
318 <tr class="separator:a49c296c5d0f9efb76f165954cf40c281 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
319 <tr class="memitem:a6a62605ac51992ce0913cc119b59546b inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a6a62605ac51992ce0913cc119b59546b">VisitRsqrtLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
320 <tr class="memdesc:a6a62605ac51992ce0913cc119b59546b inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a Reciprocal of square root layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a6a62605ac51992ce0913cc119b59546b">More...</a><br /></td></tr>
321 <tr class="separator:a6a62605ac51992ce0913cc119b59546b inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
322 <tr class="memitem:a1c023b3170bed9368b65730bc7fff60b inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a1c023b3170bed9368b65730bc7fff60b">VisitSliceLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_slice_descriptor.xhtml">SliceDescriptor</a> &, const char *) override</td></tr>
323 <tr class="memdesc:a1c023b3170bed9368b65730bc7fff60b inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a slice layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a1c023b3170bed9368b65730bc7fff60b">More...</a><br /></td></tr>
324 <tr class="separator:a1c023b3170bed9368b65730bc7fff60b inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
325 <tr class="memitem:abd8b0b2e365bbeabceddc35a1cb52916 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#abd8b0b2e365bbeabceddc35a1cb52916">VisitSoftmaxLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_softmax_descriptor.xhtml">SoftmaxDescriptor</a> &, const char *) override</td></tr>
326 <tr class="memdesc:abd8b0b2e365bbeabceddc35a1cb52916 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a softmax layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#abd8b0b2e365bbeabceddc35a1cb52916">More...</a><br /></td></tr>
327 <tr class="separator:abd8b0b2e365bbeabceddc35a1cb52916 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
328 <tr class="memitem:a9478c4f41840a2e2c12b7f336e725a8a inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a9478c4f41840a2e2c12b7f336e725a8a">VisitSpaceToBatchNdLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_space_to_batch_nd_descriptor.xhtml">SpaceToBatchNdDescriptor</a> &, const char *) override</td></tr>
329 <tr class="memdesc:a9478c4f41840a2e2c12b7f336e725a8a inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a space to batch layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a9478c4f41840a2e2c12b7f336e725a8a">More...</a><br /></td></tr>
330 <tr class="separator:a9478c4f41840a2e2c12b7f336e725a8a inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
331 <tr class="memitem:acdedda623455cc7a0f982d6f4e96d53a inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#acdedda623455cc7a0f982d6f4e96d53a">VisitSpaceToDepthLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_space_to_depth_descriptor.xhtml">SpaceToDepthDescriptor</a> &, const char *) override</td></tr>
332 <tr class="memdesc:acdedda623455cc7a0f982d6f4e96d53a inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a space to depth layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#acdedda623455cc7a0f982d6f4e96d53a">More...</a><br /></td></tr>
333 <tr class="separator:acdedda623455cc7a0f982d6f4e96d53a inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
334 <tr class="memitem:a8689a80f8939de6323319aba5806ee9e inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a8689a80f8939de6323319aba5806ee9e">VisitSplitterLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_views_descriptor.xhtml">ViewsDescriptor</a> &, const char *) override</td></tr>
335 <tr class="memdesc:a8689a80f8939de6323319aba5806ee9e inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a splitter layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a8689a80f8939de6323319aba5806ee9e">More...</a><br /></td></tr>
336 <tr class="separator:a8689a80f8939de6323319aba5806ee9e inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
337 <tr class="memitem:a8b47d411d147aa420f7a69356d84fb80 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a8b47d411d147aa420f7a69356d84fb80">VisitStackLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_stack_descriptor.xhtml">StackDescriptor</a> &, const char *) override</td></tr>
338 <tr class="memdesc:a8b47d411d147aa420f7a69356d84fb80 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a stack layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a8b47d411d147aa420f7a69356d84fb80">More...</a><br /></td></tr>
339 <tr class="separator:a8b47d411d147aa420f7a69356d84fb80 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
340 <tr class="memitem:a3c15053a7e295099a1a34c4add5a03b8 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a3c15053a7e295099a1a34c4add5a03b8">VisitStandInLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_stand_in_descriptor.xhtml">StandInDescriptor</a> &, const char *) override</td></tr>
341 <tr class="memdesc:a3c15053a7e295099a1a34c4add5a03b8 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a StandInLayer should call back to when its Accept(ILaterVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a3c15053a7e295099a1a34c4add5a03b8">More...</a><br /></td></tr>
342 <tr class="separator:a3c15053a7e295099a1a34c4add5a03b8 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
343 <tr class="memitem:a31862ce4ffaddde96ebe0afcf04f3577 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a31862ce4ffaddde96ebe0afcf04f3577">VisitStridedSliceLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_strided_slice_descriptor.xhtml">StridedSliceDescriptor</a> &, const char *) override</td></tr>
344 <tr class="memdesc:a31862ce4ffaddde96ebe0afcf04f3577 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a strided slice layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a31862ce4ffaddde96ebe0afcf04f3577">More...</a><br /></td></tr>
345 <tr class="separator:a31862ce4ffaddde96ebe0afcf04f3577 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
346 <tr class="memitem:ac42c3a57a82260c8315d4f0320620934 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#ac42c3a57a82260c8315d4f0320620934">VisitSubtractionLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
347 <tr class="memdesc:ac42c3a57a82260c8315d4f0320620934 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a subtraction layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#ac42c3a57a82260c8315d4f0320620934">More...</a><br /></td></tr>
348 <tr class="separator:ac42c3a57a82260c8315d4f0320620934 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
349 <tr class="memitem:a877d400155151a5afba9f0b17fbcf8f3 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a877d400155151a5afba9f0b17fbcf8f3">VisitSwitchLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const char *) override</td></tr>
350 <tr class="memdesc:a877d400155151a5afba9f0b17fbcf8f3 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function a switch layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a877d400155151a5afba9f0b17fbcf8f3">More...</a><br /></td></tr>
351 <tr class="separator:a877d400155151a5afba9f0b17fbcf8f3 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
352 <tr class="memitem:a4dfb04de9aa0b8b55c70fe96af13e1e1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a4dfb04de9aa0b8b55c70fe96af13e1e1">VisitTransposeConvolution2dLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_transpose_convolution2d_descriptor.xhtml">TransposeConvolution2dDescriptor</a> &, const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> &, const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>< <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> > &, const char *) override</td></tr>
353 <tr class="memdesc:a4dfb04de9aa0b8b55c70fe96af13e1e1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a 2D transpose convolution layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a4dfb04de9aa0b8b55c70fe96af13e1e1">More...</a><br /></td></tr>
354 <tr class="separator:a4dfb04de9aa0b8b55c70fe96af13e1e1 inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
355 <tr class="memitem:a2cb213b083367f4fe9bed2916206525f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#a2cb213b083367f4fe9bed2916206525f">VisitTransposeLayer</a> (const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> *, const <a class="el" href="structarmnn_1_1_transpose_descriptor.xhtml">TransposeDescriptor</a> &, const char *) override</td></tr>
356 <tr class="memdesc:a2cb213b083367f4fe9bed2916206525f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="mdescLeft"> </td><td class="mdescRight">Function that a transpose layer should call back to when its Accept(ILayerVisitor&) function is invoked. <a href="classarmnn_1_1_layer_visitor_base.xhtml#a2cb213b083367f4fe9bed2916206525f">More...</a><br /></td></tr>
357 <tr class="separator:a2cb213b083367f4fe9bed2916206525f inherit pub_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
358 <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="-"/> Public Member Functions inherited from <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml">ILayerVisitor</a></td></tr>
359 <tr class="memitem:a463965a96896bf0d261b44eea5172c7b inherit pub_methods_classarmnn_1_1_i_layer_visitor"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#a463965a96896bf0d261b44eea5172c7b">StartVisit</a> ()</td></tr>
360 <tr class="separator:a463965a96896bf0d261b44eea5172c7b inherit pub_methods_classarmnn_1_1_i_layer_visitor"><td class="memSeparator" colspan="2"> </td></tr>
361 </table><table class="memberdecls">
362 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
363 Additional Inherited Members</h2></td></tr>
364 <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="-"/> Protected Member Functions inherited from <a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml">LayerVisitorBase< VisitorNoThrowPolicy ></a></td></tr>
365 <tr class="memitem:aec6644c81f84f086262dfd06088acd99 inherit pro_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#aec6644c81f84f086262dfd06088acd99">LayerVisitorBase</a> ()</td></tr>
366 <tr class="separator:aec6644c81f84f086262dfd06088acd99 inherit pro_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
367 <tr class="memitem:ab59e5e8c65aa44857c27db70fc412baa inherit pro_methods_classarmnn_1_1_layer_visitor_base"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_visitor_base.xhtml#ab59e5e8c65aa44857c27db70fc412baa">~LayerVisitorBase</a> ()</td></tr>
368 <tr class="separator:ab59e5e8c65aa44857c27db70fc412baa inherit pro_methods_classarmnn_1_1_layer_visitor_base"><td class="memSeparator" colspan="2"> </td></tr>
369 <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="-"/> Protected Member Functions inherited from <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml">ILayerVisitor</a></td></tr>
370 <tr class="memitem:a27fa880bce96ac7355284a7681f2377e inherit pro_methods_classarmnn_1_1_i_layer_visitor"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#a27fa880bce96ac7355284a7681f2377e">ILayerVisitor</a> ()</td></tr>
371 <tr class="separator:a27fa880bce96ac7355284a7681f2377e inherit pro_methods_classarmnn_1_1_i_layer_visitor"><td class="memSeparator" colspan="2"> </td></tr>
372 <tr class="memitem:a7ad7aeeaf26228ef11c15fa5d4507d8a inherit pro_methods_classarmnn_1_1_i_layer_visitor"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#a7ad7aeeaf26228ef11c15fa5d4507d8a">~ILayerVisitor</a> ()</td></tr>
373 <tr class="separator:a7ad7aeeaf26228ef11c15fa5d4507d8a inherit pro_methods_classarmnn_1_1_i_layer_visitor"><td class="memSeparator" colspan="2"> </td></tr>
375 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
376 <div class="textblock"><p>Visitor class to establish min/max ranges based on the type of the layer. </p>
378 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8hpp_source.xhtml#l00019">19</a> of file <a class="el" href="_dynamic_quantization_visitor_8hpp_source.xhtml">DynamicQuantizationVisitor.hpp</a>.</p>
379 </div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
380 <a id="af377247c8cdc9bf91e9e5edd87331fef"></a>
381 <h2 class="memtitle"><span class="permalink"><a href="#af377247c8cdc9bf91e9e5edd87331fef">◆ </a></span>DynamicQuantizationVisitor()</h2>
383 <div class="memitem">
384 <div class="memproto">
385 <table class="memname">
387 <td class="memname"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml">DynamicQuantizationVisitor</a> </td>
389 <td class="paramtype"><a class="el" href="classarmnn_1_1_range_tracker.xhtml">RangeTracker</a> & </td>
390 <td class="paramname"><em>rangeTracker</em>, </td>
393 <td class="paramkey"></td>
395 <td class="paramtype"><a class="el" href="classarmnn_1_1_graph.xhtml">Graph</a> & </td>
396 <td class="paramname"><em>graph</em> </td>
404 </div><div class="memdoc">
406 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00018">18</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
408 <p class="reference">References <a class="el" href="classarmnn_1_1_i_output_slot.xhtml#a41d30a9cd272e05986d71a69d6ad618b">IOutputSlot::CalculateIndexOnOwner()</a>, <a class="el" href="classarmnn_1_1_i_input_slot.xhtml#a81fbf6103761e55061b62ba989b00f10">IInputSlot::GetConnection()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml#a6ec9e0eb66d7d6a01240492a0b18104c">IConnectableLayer::GetInputSlot()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml#a9c2cba04b6d7ace4fc2a2436b82a5a63">IConnectableLayer::GetNumInputSlots()</a>, <a class="el" href="classarmnn_1_1_i_output_slot.xhtml#ad0c3555b126975ad6b3e250fe2a59534">IOutputSlot::GetOwningLayerGuid()</a>, <a class="el" href="_range_tracker_8cpp_source.xhtml#l00029">RangeTracker::GetRange()</a>, and <a class="el" href="_range_tracker_8cpp_source.xhtml#l00012">RangeTracker::SetRange()</a>.</p>
409 <div class="fragment"><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  : m_RangeTracker(rangeTracker),</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  m_Graph(graph)</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> {}</div></div><!-- fragment -->
412 <a id="a4f083823a44ede4d3482361dcb61bebe"></a>
413 <h2 class="memtitle"><span class="permalink"><a href="#a4f083823a44ede4d3482361dcb61bebe">◆ </a></span>~DynamicQuantizationVisitor()</h2>
415 <div class="memitem">
416 <div class="memproto">
417 <table class="mlabels">
419 <td class="mlabels-left">
420 <table class="memname">
422 <td class="memname">~<a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml">DynamicQuantizationVisitor</a> </td>
424 <td class="paramname"></td><td>)</td>
429 <td class="mlabels-right">
430 <span class="mlabels"><span class="mlabel">default</span></span> </td>
433 </div><div class="memdoc">
437 <h2 class="groupheader">Member Function Documentation</h2>
438 <a id="a65ad16db7d3eab9c6bfc2cdb7271ef3b"></a>
439 <h2 class="memtitle"><span class="permalink"><a href="#a65ad16db7d3eab9c6bfc2cdb7271ef3b">◆ </a></span>FinishVisit()</h2>
441 <div class="memitem">
442 <div class="memproto">
443 <table class="mlabels">
445 <td class="mlabels-left">
446 <table class="memname">
448 <td class="memname">void FinishVisit </td>
450 <td class="paramname"></td><td>)</td>
455 <td class="mlabels-right">
456 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
459 </div><div class="memdoc">
461 <p>Reimplemented from <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#a4549b1bbb63fa26700d74854e388784f">ILayerVisitor</a>.</p>
463 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00050">50</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
465 <p class="reference">References <a class="el" href="_layer_8cpp_source.xhtml#l00079">OutputSlot::Connect()</a>, <a class="el" href="_layer_8cpp_source.xhtml#l00087">OutputSlot::Disconnect()</a>, <a class="el" href="_graph_8hpp_source.xhtml#l00442">Graph::EraseLayer()</a>, and <a class="el" href="_network_utils_8cpp_source.xhtml#l00112">armnn::InsertDebugLayerAfter()</a>.</p>
466 <div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> IConnectableLayer* layer : m_LayersToCalibrate)</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  std::vector<DebugLayer*> newDebugLayers = <a class="code" href="namespacearmnn.xhtml#a2616ffdae2db993af5c08019fb61860a">InsertDebugLayerAfter</a>(</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  m_Graph, *boost::polymorphic_downcast<Layer*>(const_cast<IConnectableLayer*>(layer)));</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="comment">// record them so we can take them out again efficiently afterward</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  m_DebugLayers.insert(std::end(m_DebugLayers), std::begin(newDebugLayers), std::end(newDebugLayers));</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  }</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a2616ffdae2db993af5c08019fb61860a"><div class="ttname"><a href="namespacearmnn.xhtml#a2616ffdae2db993af5c08019fb61860a">armnn::InsertDebugLayerAfter</a></div><div class="ttdeci">std::vector< DebugLayer * > InsertDebugLayerAfter(Graph &graph, Layer &layer)</div><div class="ttdef"><b>Definition:</b> <a href="_network_utils_8cpp_source.xhtml#l00112">NetworkUtils.cpp:112</a></div></div>
467 </div><!-- fragment -->
470 <a id="a2004cc285dba7f2d4e69352e60a9a7a0"></a>
471 <h2 class="memtitle"><span class="permalink"><a href="#a2004cc285dba7f2d4e69352e60a9a7a0">◆ </a></span>GetOutputLayers()</h2>
473 <div class="memitem">
474 <div class="memproto">
475 <table class="memname">
477 <td class="memname">const std::vector< <a class="el" href="namespacearmnn.xhtml#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a> > & GetOutputLayers </td>
479 <td class="paramname"></td><td>)</td>
483 </div><div class="memdoc">
485 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00330">330</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
486 <div class="fragment"><div class="line"><a name="l00331"></a><span class="lineno"> 331</span> {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">return</span> m_OutputLayers;</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span> }</div></div><!-- fragment -->
489 <a id="af493528dec93f39f5081dbefb40bff75"></a>
490 <h2 class="memtitle"><span class="permalink"><a href="#af493528dec93f39f5081dbefb40bff75">◆ </a></span>VisitActivationLayer()</h2>
492 <div class="memitem">
493 <div class="memproto">
494 <table class="mlabels">
496 <td class="mlabels-left">
497 <table class="memname">
499 <td class="memname">void VisitActivationLayer </td>
501 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
502 <td class="paramname"><em>layer</em>, </td>
505 <td class="paramkey"></td>
507 <td class="paramtype">const <a class="el" href="structarmnn_1_1_activation_descriptor.xhtml">ActivationDescriptor</a> & </td>
508 <td class="paramname"><em>activationDescriptor</em>, </td>
511 <td class="paramkey"></td>
513 <td class="paramtype">const char * </td>
514 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
523 <td class="mlabels-right">
524 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
527 </div><div class="memdoc">
529 <p>Function that an activation layer should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
530 <dl class="params"><dt>Parameters</dt><dd>
531 <table class="params">
532 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
533 <tr><td class="paramname">activationDescriptor</td><td>- <a class="el" href="structarmnn_1_1_activation_descriptor.xhtml" title="An ActivationDescriptor for the ActivationLayer. ">ActivationDescriptor</a> to configure the activation. </td></tr>
534 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
539 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#ab2a1e493b983a932792bc5d0c1a20127">ILayerVisitor</a>.</p>
541 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00139">139</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
543 <p class="reference">References <a class="el" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">armnn::Abs</a>, <a class="el" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaabc5a0f0d6e7cf7fca73299dcd46c0f0d">armnn::BoundedReLu</a>, <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>, <a class="el" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaacb7667f5ec2f6e8a5943b781ba6c2735">armnn::LeakyReLu</a>, <a class="el" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa32a843da6ea40ab3b17a3421ccdf671b">armnn::Linear</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00037">ActivationDescriptor::m_A</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00035">ActivationDescriptor::m_Function</a>, <a class="el" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa3d90c0a5ab3fcf8e6f6608cb3d3a1559">armnn::ReLu</a>, <a class="el" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa6bba7052636d1740303b1b2ef3b53fef">armnn::SoftReLu</a>, and <a class="el" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa23b68da1de2b77d74da9da2635722a3e">armnn::TanH</a>.</p>
544 <div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name, activationDescriptor);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">switch</span> (activationDescriptor.m_Function)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="comment">// Range is 0, 15 for Abs, Linear, ReLu and Soft ReLu</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">ActivationFunction::Abs</a>:</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa32a843da6ea40ab3b17a3421ccdf671b">ActivationFunction::Linear</a>:</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa3d90c0a5ab3fcf8e6f6608cb3d3a1559">ActivationFunction::ReLu</a>:</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa6bba7052636d1740303b1b2ef3b53fef">ActivationFunction::SoftReLu</a>:</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  SetRange(layer, 0, 0.f, 15.f);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaabc5a0f0d6e7cf7fca73299dcd46c0f0d">ActivationFunction::BoundedReLu</a>:</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  SetRange(layer, 0, 0.f, activationDescriptor.m_A);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa23b68da1de2b77d74da9da2635722a3e">ActivationFunction::TanH</a>:</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  SetRange(layer, 0, -1.f, 1.f);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaacb7667f5ec2f6e8a5943b781ba6c2735">ActivationFunction::LeakyReLu</a>:</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  SetRange(layer, 0, -5.f, 15.f);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  SetRange(layer, 0, -15.f, 15.f);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  AddToCalibratedLayers(layer);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaa3d90c0a5ab3fcf8e6f6608cb3d3a1559"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa3d90c0a5ab3fcf8e6f6608cb3d3a1559">armnn::ActivationFunction::ReLu</a></div></div>
545 <div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaacb7667f5ec2f6e8a5943b781ba6c2735"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaacb7667f5ec2f6e8a5943b781ba6c2735">armnn::ActivationFunction::LeakyReLu</a></div></div>
546 <div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">armnn::ActivationFunction::Abs</a></div></div>
547 <div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
548 <div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaa6bba7052636d1740303b1b2ef3b53fef"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa6bba7052636d1740303b1b2ef3b53fef">armnn::ActivationFunction::SoftReLu</a></div></div>
549 <div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaabc5a0f0d6e7cf7fca73299dcd46c0f0d"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaabc5a0f0d6e7cf7fca73299dcd46c0f0d">armnn::ActivationFunction::BoundedReLu</a></div><div class="ttdoc">min(a, max(b, input)) ReLu1 & ReLu6. </div></div>
550 <div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaa32a843da6ea40ab3b17a3421ccdf671b"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa32a843da6ea40ab3b17a3421ccdf671b">armnn::ActivationFunction::Linear</a></div></div>
551 <div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaa23b68da1de2b77d74da9da2635722a3e"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa23b68da1de2b77d74da9da2635722a3e">armnn::ActivationFunction::TanH</a></div></div>
552 </div><!-- fragment -->
555 <a id="a7cb4ef1bc9588c4319144460c288022f"></a>
556 <h2 class="memtitle"><span class="permalink"><a href="#a7cb4ef1bc9588c4319144460c288022f">◆ </a></span>VisitAdditionLayer()</h2>
558 <div class="memitem">
559 <div class="memproto">
560 <table class="mlabels">
562 <td class="mlabels-left">
563 <table class="memname">
565 <td class="memname">void VisitAdditionLayer </td>
567 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
568 <td class="paramname"><em>layer</em>, </td>
571 <td class="paramkey"></td>
573 <td class="paramtype">const char * </td>
574 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
583 <td class="mlabels-right">
584 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
587 </div><div class="memdoc">
589 <p>Functions to set the Range on a per-layer-type basis. </p>
591 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#a2d20b94b7de822f3d29ab12e47e3be4e">ILayerVisitor</a>.</p>
593 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00086">86</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
595 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
596 <div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  SetRange(layer, 0, -20.f, 20.f);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  AddToCalibratedLayers(layer);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
597 </div><!-- fragment -->
600 <a id="a1532cb8f551812e784ccc14faae407b9"></a>
601 <h2 class="memtitle"><span class="permalink"><a href="#a1532cb8f551812e784ccc14faae407b9">◆ </a></span>VisitBatchNormalizationLayer()</h2>
603 <div class="memitem">
604 <div class="memproto">
605 <table class="mlabels">
607 <td class="mlabels-left">
608 <table class="memname">
610 <td class="memname">void VisitBatchNormalizationLayer </td>
612 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
613 <td class="paramname"><em>layer</em>, </td>
616 <td class="paramkey"></td>
618 <td class="paramtype">const <a class="el" href="structarmnn_1_1_batch_normalization_descriptor.xhtml">BatchNormalizationDescriptor</a> & </td>
619 <td class="paramname"><em>desc</em>, </td>
622 <td class="paramkey"></td>
624 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> & </td>
625 <td class="paramname"><em>mean</em>, </td>
628 <td class="paramkey"></td>
630 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> & </td>
631 <td class="paramname"><em>variance</em>, </td>
634 <td class="paramkey"></td>
636 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> & </td>
637 <td class="paramname"><em>beta</em>, </td>
640 <td class="paramkey"></td>
642 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> & </td>
643 <td class="paramname"><em>gamma</em>, </td>
646 <td class="paramkey"></td>
648 <td class="paramtype">const char * </td>
649 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
658 <td class="mlabels-right">
659 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
662 </div><div class="memdoc">
664 <p>Function that a batch normalization layer should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
665 <dl class="params"><dt>Parameters</dt><dd>
666 <table class="params">
667 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
668 <tr><td class="paramname">mean</td><td>- Pre-calculated mean for each channel. </td></tr>
669 <tr><td class="paramname">variance</td><td>- Pre-calculated variance for each channel. </td></tr>
670 <tr><td class="paramname">beta</td><td>- Per-channel additive factor. </td></tr>
671 <tr><td class="paramname">gamma</td><td>- Per-channel multiplicative factor. </td></tr>
672 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
677 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#a9e642355474f31268e66a404e6c1b81d">ILayerVisitor</a>.</p>
679 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00093">93</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
681 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
682 <div class="fragment"><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(desc);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(mean);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(variance);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(beta);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(gamma);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  SetRange(layer, 0, -15.0f, 15.0f);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  AddToCalibratedLayers(layer);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
683 </div><!-- fragment -->
686 <a id="af5d09e03a578afa9c0bb8afd11c65485"></a>
687 <h2 class="memtitle"><span class="permalink"><a href="#af5d09e03a578afa9c0bb8afd11c65485">◆ </a></span>VisitBatchToSpaceNdLayer()</h2>
689 <div class="memitem">
690 <div class="memproto">
691 <table class="mlabels">
693 <td class="mlabels-left">
694 <table class="memname">
696 <td class="memname">void VisitBatchToSpaceNdLayer </td>
698 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
699 <td class="paramname"><em>layer</em>, </td>
702 <td class="paramkey"></td>
704 <td class="paramtype">const <a class="el" href="structarmnn_1_1_batch_to_space_nd_descriptor.xhtml">BatchToSpaceNdDescriptor</a> & </td>
705 <td class="paramname"><em>batchToSpaceNdDescriptor</em>, </td>
708 <td class="paramkey"></td>
710 <td class="paramtype">const char * </td>
711 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
720 <td class="mlabels-right">
721 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
724 </div><div class="memdoc">
726 <p>Function that a batch to space ND layer should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
727 <dl class="params"><dt>Parameters</dt><dd>
728 <table class="params">
729 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
730 <tr><td class="paramname">batchToSpaceNdDescriptor</td><td>- Description of the layer. </td></tr>
731 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
736 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#a1cee693185bcda15bd777008e60c7cf7">ILayerVisitor</a>.</p>
738 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00305">305</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
740 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
741 <div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> {</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(batchToSpaceNdDescriptor);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  AddToNonCalibratedLayers(layer);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
742 </div><!-- fragment -->
745 <a id="a8a3cd0b0d46a765ad2b0652c72a31d0c"></a>
746 <h2 class="memtitle"><span class="permalink"><a href="#a8a3cd0b0d46a765ad2b0652c72a31d0c">◆ </a></span>VisitConcatLayer()</h2>
748 <div class="memitem">
749 <div class="memproto">
750 <table class="mlabels">
752 <td class="mlabels-left">
753 <table class="memname">
755 <td class="memname">void VisitConcatLayer </td>
757 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
758 <td class="paramname"><em>layer</em>, </td>
761 <td class="paramkey"></td>
763 <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#a7863c179ff92feec660c48ab7b95ae55">ConcatDescriptor</a> & </td>
764 <td class="paramname"><em>concatDescriptor</em>, </td>
767 <td class="paramkey"></td>
769 <td class="paramtype">const char * </td>
770 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
779 <td class="mlabels-right">
780 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
783 </div><div class="memdoc">
785 <p>Function that a concat layer should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
786 <dl class="params"><dt>Parameters</dt><dd>
787 <table class="params">
788 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
789 <tr><td class="paramname">concatDescriptor</td><td>- ConcatDescriptor (synonym for <a class="el" href="structarmnn_1_1_origins_descriptor.xhtml" title="An OriginsDescriptor for the ConcatLayer. ">OriginsDescriptor</a>) to configure the concatenation process. Number of Views must be equal to the number of inputs, and their order must match - e.g. first view corresponds to the first input, second view to the second input, etc.... </td></tr>
790 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
795 <p>Reimplemented from <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#aeb90d7587f7887aee1f2b43261d4ee5c">ILayerVisitor</a>.</p>
797 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00248">248</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
799 <p class="reference">References <a class="el" href="classarmnn_1_1_i_output_slot.xhtml#a41d30a9cd272e05986d71a69d6ad618b">IOutputSlot::CalculateIndexOnOwner()</a>, <a class="el" href="classarmnn_1_1_i_input_slot.xhtml#a81fbf6103761e55061b62ba989b00f10">IInputSlot::GetConnection()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml#a6ec9e0eb66d7d6a01240492a0b18104c">IConnectableLayer::GetInputSlot()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml#a9c2cba04b6d7ace4fc2a2436b82a5a63">IConnectableLayer::GetNumInputSlots()</a>, <a class="el" href="classarmnn_1_1_i_output_slot.xhtml#ad0c3555b126975ad6b3e250fe2a59534">IOutputSlot::GetOwningLayerGuid()</a>, <a class="el" href="_range_tracker_8cpp_source.xhtml#l00029">RangeTracker::GetRange()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
800 <div class="fragment"><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> {</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(originsDescriptor);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordtype">float</span> min = std::numeric_limits<float>::max();</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordtype">float</span> max = std::numeric_limits<float>::lowest();</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < layer->GetNumInputSlots(); ++i)</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keyword">const</span> IOutputSlot* outputSlot = layer->GetInputSlot(i).GetConnection();</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <a class="code" href="namespacearmnn.xhtml#afad4088a9a058114ee5f87246f87bf49">LayerGuid</a> layerId = outputSlot->GetOwningLayerGuid();</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> slotIndex = outputSlot->CalculateIndexOnOwner();</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <a class="code" href="classarmnn_1_1_range_tracker.xhtml#a997e96288bdb106c922202e3f33d5d7b">RangeTracker::MinMaxRange</a> range = m_RangeTracker.<a class="code" href="classarmnn_1_1_range_tracker.xhtml#a507bae23f59e94b4161886ebe663cdf4">GetRange</a>(layerId, slotIndex);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  min = std::min(min, range.first);</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  max = std::max(max, range.second);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  }</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  SetRange(layer, 0, min, max);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  AddToCalibratedLayers(layer);</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
801 <div class="ttc" id="classarmnn_1_1_range_tracker_xhtml_a997e96288bdb106c922202e3f33d5d7b"><div class="ttname"><a href="classarmnn_1_1_range_tracker.xhtml#a997e96288bdb106c922202e3f33d5d7b">armnn::RangeTracker::MinMaxRange</a></div><div class="ttdeci">std::pair< float, float > MinMaxRange</div><div class="ttdef"><b>Definition:</b> <a href="_range_tracker_8hpp_source.xhtml#l00020">RangeTracker.hpp:20</a></div></div>
802 <div class="ttc" id="classarmnn_1_1_range_tracker_xhtml_a507bae23f59e94b4161886ebe663cdf4"><div class="ttname"><a href="classarmnn_1_1_range_tracker.xhtml#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.xhtml#l00029">RangeTracker.cpp:29</a></div></div>
803 <div class="ttc" id="namespacearmnn_xhtml_afad4088a9a058114ee5f87246f87bf49"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00236">Types.hpp:236</a></div></div>
804 </div><!-- fragment -->
807 <a id="aeb652d74e4b3596e85b22c2d52144f73"></a>
808 <h2 class="memtitle"><span class="permalink"><a href="#aeb652d74e4b3596e85b22c2d52144f73">◆ </a></span>VisitConstantLayer()</h2>
810 <div class="memitem">
811 <div class="memproto">
812 <table class="mlabels">
814 <td class="mlabels-left">
815 <table class="memname">
817 <td class="memname">void VisitConstantLayer </td>
819 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
820 <td class="paramname"><em>layer</em>, </td>
823 <td class="paramkey"></td>
825 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> & </td>
826 <td class="paramname"><em>input</em>, </td>
829 <td class="paramkey"></td>
831 <td class="paramtype">const char * </td>
832 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
841 <td class="mlabels-right">
842 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
845 </div><div class="memdoc">
847 <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&) function is invoked. </p>
848 <dl class="params"><dt>Parameters</dt><dd>
849 <table class="params">
850 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
851 <tr><td class="paramname">input</td><td>- <a class="el" href="classarmnn_1_1_tensor.xhtml" title="A tensor defined by a TensorInfo (shape and data type) and a mutable backing store. ">Tensor</a> to be provided as the only output of the layer. The layer will maintain its own copy of the tensor data, meaning the memory referenced by <em>input</em> can be freed or reused after this function is called. </td></tr>
852 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
857 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#a2f123a6a99ac143c0f3806cb505765cd">ILayerVisitor</a>.</p>
859 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00220">220</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
861 <p class="reference">References <a class="el" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::Float32</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00172">BaseTensor< MemoryType >::GetDataType()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00177">BaseTensor< MemoryType >::GetMemoryArea()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00175">BaseTensor< MemoryType >::GetNumElements()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
862 <div class="fragment"><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> {</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">if</span> (input.GetDataType() != <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>)</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">throw</span> InvalidArgumentException(<span class="stringliteral">"Quantization is supported only for FP32 tensors"</span>);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  }</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="comment">// Work out the range based on the input constants</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> inputNumElements = input.GetNumElements();</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keyword">const</span> <span class="keywordtype">float</span>* inputData = <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><span class="keywordtype">float</span>*<span class="keyword">></span>(input.GetMemoryArea());</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordtype">float</span> min = std::numeric_limits<float>::max();</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordtype">float</span> max = std::numeric_limits<float>::lowest();</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < inputNumElements; i++)</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  {</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> inputValue = inputData[i];</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  min = std::min(min, inputValue);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  max = std::max(max, inputValue);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  }</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  SetRange(layer, 0, min, max);</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
863 <div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
864 </div><!-- fragment -->
867 <a id="ac2f379ba77b06095e0c024e232ec1fd4"></a>
868 <h2 class="memtitle"><span class="permalink"><a href="#ac2f379ba77b06095e0c024e232ec1fd4">◆ </a></span>VisitConvolution2dLayer()</h2>
870 <div class="memitem">
871 <div class="memproto">
872 <table class="mlabels">
874 <td class="mlabels-left">
875 <table class="memname">
877 <td class="memname">void VisitConvolution2dLayer </td>
879 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
880 <td class="paramname"><em>layer</em>, </td>
883 <td class="paramkey"></td>
885 <td class="paramtype">const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.xhtml">Convolution2dDescriptor</a> & </td>
886 <td class="paramname"><em>convolution2dDescriptor</em>, </td>
889 <td class="paramkey"></td>
891 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> & </td>
892 <td class="paramname"><em>weights</em>, </td>
895 <td class="paramkey"></td>
897 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>< <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> > & </td>
898 <td class="paramname"><em>biases</em>, </td>
901 <td class="paramkey"></td>
903 <td class="paramtype">const char * </td>
904 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
913 <td class="mlabels-right">
914 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
917 </div><div class="memdoc">
919 <p>Function that a 2D convolution layer should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
920 <dl class="params"><dt>Parameters</dt><dd>
921 <table class="params">
922 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
923 <tr><td class="paramname">convolution2dDescriptor</td><td>- Description of the 2D convolution layer. </td></tr>
924 <tr><td class="paramname">weights</td><td>- <a class="el" href="classarmnn_1_1_tensor.xhtml" title="A tensor defined by a TensorInfo (shape and data type) and a mutable backing store. ">Tensor</a> for the weights data. </td></tr>
925 <tr><td class="paramname">biases</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> tensor for the bias data. If specified, must match the output tensor shape. </td></tr>
926 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
931 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#abc8fe4c6cbc8fa2b13c525500dddfbf6">ILayerVisitor</a>.</p>
933 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00111">111</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
935 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
936 <div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(convolution2dDescriptor);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(weights);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(biases);</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  SetRange(layer, 0, -15.0f, 15.0f);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  AddToCalibratedLayers(layer);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
937 </div><!-- fragment -->
940 <a id="a554e88817e6fd98645388873a108f868"></a>
941 <h2 class="memtitle"><span class="permalink"><a href="#a554e88817e6fd98645388873a108f868">◆ </a></span>VisitDepthwiseConvolution2dLayer()</h2>
943 <div class="memitem">
944 <div class="memproto">
945 <table class="mlabels">
947 <td class="mlabels-left">
948 <table class="memname">
950 <td class="memname">void VisitDepthwiseConvolution2dLayer </td>
952 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
953 <td class="paramname"><em>layer</em>, </td>
956 <td class="paramkey"></td>
958 <td class="paramtype">const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml">DepthwiseConvolution2dDescriptor</a> & </td>
959 <td class="paramname"><em>convolution2dDescriptor</em>, </td>
962 <td class="paramkey"></td>
964 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> & </td>
965 <td class="paramname"><em>weights</em>, </td>
968 <td class="paramkey"></td>
970 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>< <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> > & </td>
971 <td class="paramname"><em>biases</em>, </td>
974 <td class="paramkey"></td>
976 <td class="paramtype">const char * </td>
977 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
986 <td class="mlabels-right">
987 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
990 </div><div class="memdoc">
992 <p>Function that a 2D depthwise convolution layer with biases should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
993 <dl class="params"><dt>Parameters</dt><dd>
994 <table class="params">
995 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
996 <tr><td class="paramname">convolution2dDescriptor</td><td>- Description of the 2D depthwise convolution layer. </td></tr>
997 <tr><td class="paramname">weights</td><td>- <a class="el" href="classarmnn_1_1_tensor.xhtml" title="A tensor defined by a TensorInfo (shape and data type) and a mutable backing store. ">Tensor</a> for the weights. Expected format: [channelMultiplier, inputChannels, height, width]. </td></tr>
998 <tr><td class="paramname">biases</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> tensor for the bias data. If specified, must match the output tensor shape. </td></tr>
999 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
1004 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#ad39aaac8f8fb790ae364c87f1a249d68">ILayerVisitor</a>.</p>
1006 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00125">125</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
1008 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1009 <div class="fragment"><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(desc);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(weights);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(biases);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  SetRange(layer, 0, -15.0f, 15.0f);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  AddToCalibratedLayers(layer);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1010 </div><!-- fragment -->
1013 <a id="ac98eae261af6c8d5f7161a01a1959e72"></a>
1014 <h2 class="memtitle"><span class="permalink"><a href="#ac98eae261af6c8d5f7161a01a1959e72">◆ </a></span>VisitFullyConnectedLayer()</h2>
1016 <div class="memitem">
1017 <div class="memproto">
1018 <table class="mlabels">
1020 <td class="mlabels-left">
1021 <table class="memname">
1023 <td class="memname">void VisitFullyConnectedLayer </td>
1025 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
1026 <td class="paramname"><em>layer</em>, </td>
1029 <td class="paramkey"></td>
1031 <td class="paramtype">const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.xhtml">FullyConnectedDescriptor</a> & </td>
1032 <td class="paramname"><em>fullyConnectedDescriptor</em>, </td>
1035 <td class="paramkey"></td>
1037 <td class="paramtype">const <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> & </td>
1038 <td class="paramname"><em>weights</em>, </td>
1041 <td class="paramkey"></td>
1043 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>< <a class="el" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> > & </td>
1044 <td class="paramname"><em>biases</em>, </td>
1047 <td class="paramkey"></td>
1049 <td class="paramtype">const char * </td>
1050 <td class="paramname"><em>name</em> </td>
1059 <td class="mlabels-right">
1060 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1063 </div><div class="memdoc">
1065 <p>Function that a fully connected layer should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
1066 <dl class="params"><dt>Parameters</dt><dd>
1067 <table class="params">
1068 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1069 <tr><td class="paramname">fullyConnectedDescriptor</td><td>- Description of the fully connected layer. </td></tr>
1070 <tr><td class="paramname">weights</td><td>- <a class="el" href="classarmnn_1_1_tensor.xhtml" title="A tensor defined by a TensorInfo (shape and data type) and a mutable backing store. ">Tensor</a> for the weights data. </td></tr>
1071 <tr><td class="paramname">biases</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> tensor for the bias data. </td></tr>
1072 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
1077 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#ab93a48970564c6eabbc982a2116c1262">ILayerVisitor</a>.</p>
1079 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00169">169</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
1081 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1082 <div class="fragment"><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> {</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(desc);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(weights);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(biases);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  SetRange(layer, 0, -15.0f, 15.0f);</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  AddToCalibratedLayers(layer);</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1083 </div><!-- fragment -->
1086 <a id="a2ca539d734553e606c0134940e444298"></a>
1087 <h2 class="memtitle"><span class="permalink"><a href="#a2ca539d734553e606c0134940e444298">◆ </a></span>VisitInputLayer()</h2>
1089 <div class="memitem">
1090 <div class="memproto">
1091 <table class="mlabels">
1093 <td class="mlabels-left">
1094 <table class="memname">
1096 <td class="memname">void VisitInputLayer </td>
1098 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
1099 <td class="paramname"><em>layer</em>, </td>
1102 <td class="paramkey"></td>
1104 <td class="paramtype"><a class="el" href="namespacearmnn.xhtml#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a> </td>
1105 <td class="paramname"><em>id</em>, </td>
1108 <td class="paramkey"></td>
1110 <td class="paramtype">const char * </td>
1111 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
1120 <td class="mlabels-right">
1121 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1124 </div><div class="memdoc">
1126 <p>Function that an <a class="el" href="classarmnn_1_1_input_layer.xhtml" title="A layer user-provided data can be bound to (e.g. inputs, outputs). ">InputLayer</a> should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
1127 <dl class="params"><dt>Parameters</dt><dd>
1128 <table class="params">
1129 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1130 <tr><td class="paramname">id</td><td>- User generated id to uniquely identify a particular input. The same id needs to be specified when passing the inputs to the <a class="el" href="classarmnn_1_1_i_runtime.xhtml#aec0dc8016a3b1e444dfc1ffb5f15195c" title="Evaluates a network using input in inputTensors and outputs filled into outputTensors. ">IRuntime::EnqueueWorkload()</a> function. </td></tr>
1131 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
1136 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#ab6dc51682cb4178194f3f00c2309ec7b">ILayerVisitor</a>.</p>
1138 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00314">314</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
1140 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1141 <div class="fragment"><div class="line"><a name="l00315"></a><span class="lineno"> 315</span> {</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  SetRange(layer, 0, -0.0f, 0.0f);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  AddToCalibratedLayers(layer);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1142 </div><!-- fragment -->
1145 <a id="a795e9253dab52825add51ffc569eb81e"></a>
1146 <h2 class="memtitle"><span class="permalink"><a href="#a795e9253dab52825add51ffc569eb81e">◆ </a></span>VisitNonCalibratedLayers()</h2>
1148 <div class="memitem">
1149 <div class="memproto">
1150 <table class="memname">
1152 <td class="memname">void VisitNonCalibratedLayers </td>
1154 <td class="paramname"></td><td>)</td>
1158 </div><div class="memdoc">
1160 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00078">78</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
1161 <div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  RemoveDebugLayers();</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> IConnectableLayer* layer : m_LayersNotToCalibrate)</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  ForwardParentParameters(layer);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> }</div></div><!-- fragment -->
1164 <a id="ac75d60924c52b96ea6f9567fcfa2db10"></a>
1165 <h2 class="memtitle"><span class="permalink"><a href="#ac75d60924c52b96ea6f9567fcfa2db10">◆ </a></span>VisitOutputLayer()</h2>
1167 <div class="memitem">
1168 <div class="memproto">
1169 <table class="mlabels">
1171 <td class="mlabels-left">
1172 <table class="memname">
1174 <td class="memname">void VisitOutputLayer </td>
1176 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
1177 <td class="paramname"><em>layer</em>, </td>
1180 <td class="paramkey"></td>
1182 <td class="paramtype"><a class="el" href="namespacearmnn.xhtml#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a> </td>
1183 <td class="paramname"><em>id</em>, </td>
1186 <td class="paramkey"></td>
1188 <td class="paramtype">const char * </td>
1189 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
1198 <td class="mlabels-right">
1199 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1202 </div><div class="memdoc">
1204 <p>Function an output layer should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
1205 <dl class="params"><dt>Parameters</dt><dd>
1206 <table class="params">
1207 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1208 <tr><td class="paramname">id</td><td>- User generated id to uniquely identify a particular output. The same id needs to be specified when passing the outputs to the <a class="el" href="classarmnn_1_1_i_runtime.xhtml#aec0dc8016a3b1e444dfc1ffb5f15195c" title="Evaluates a network using input in inputTensors and outputs filled into outputTensors. ">IRuntime::EnqueueWorkload()</a> function. </td></tr>
1209 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
1214 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#a0da6bde681d919b7282eddad4a446890">ILayerVisitor</a>.</p>
1216 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00322">322</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
1218 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1219 <div class="fragment"><div class="line"><a name="l00323"></a><span class="lineno"> 323</span> {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  AddToNonCalibratedLayers(layer);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  m_OutputLayers.push_back(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1220 </div><!-- fragment -->
1223 <a id="ad5532a4626c0228acc7b01fa0f5515eb"></a>
1224 <h2 class="memtitle"><span class="permalink"><a href="#ad5532a4626c0228acc7b01fa0f5515eb">◆ </a></span>VisitPermuteLayer()</h2>
1226 <div class="memitem">
1227 <div class="memproto">
1228 <table class="mlabels">
1230 <td class="mlabels-left">
1231 <table class="memname">
1233 <td class="memname">void VisitPermuteLayer </td>
1235 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
1236 <td class="paramname"><em>layer</em>, </td>
1239 <td class="paramkey"></td>
1241 <td class="paramtype">const <a class="el" href="structarmnn_1_1_permute_descriptor.xhtml">PermuteDescriptor</a> & </td>
1242 <td class="paramname"><em>permuteDescriptor</em>, </td>
1245 <td class="paramkey"></td>
1247 <td class="paramtype">const char * </td>
1248 <td class="paramname"><em>name</em> </td>
1257 <td class="mlabels-right">
1258 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1261 </div><div class="memdoc">
1263 <p>Function that a permute layer should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
1264 <dl class="params"><dt>Parameters</dt><dd>
1265 <table class="params">
1266 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1267 <tr><td class="paramname">permuteDescriptor</td><td>- <a class="el" href="structarmnn_1_1_permute_descriptor.xhtml" title="A PermuteDescriptor for the PermuteLayer. ">PermuteDescriptor</a> to configure the permute. </td></tr>
1268 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
1273 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#a211e587a05b0c7e7202f8f8894f89894">ILayerVisitor</a>.</p>
1275 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00183">183</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
1277 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1278 <div class="fragment"><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(permuteDescriptor);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  AddToNonCalibratedLayers(layer);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1279 </div><!-- fragment -->
1282 <a id="aaca77d69321f5ba94d639fe40dbd0b1c"></a>
1283 <h2 class="memtitle"><span class="permalink"><a href="#aaca77d69321f5ba94d639fe40dbd0b1c">◆ </a></span>VisitPooling2dLayer()</h2>
1285 <div class="memitem">
1286 <div class="memproto">
1287 <table class="mlabels">
1289 <td class="mlabels-left">
1290 <table class="memname">
1292 <td class="memname">void VisitPooling2dLayer </td>
1294 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
1295 <td class="paramname"><em>layer</em>, </td>
1298 <td class="paramkey"></td>
1300 <td class="paramtype">const <a class="el" href="structarmnn_1_1_pooling2d_descriptor.xhtml">Pooling2dDescriptor</a> & </td>
1301 <td class="paramname"><em>pooling2dDescriptor</em>, </td>
1304 <td class="paramkey"></td>
1306 <td class="paramtype">const char * </td>
1307 <td class="paramname"><em>name</em> </td>
1316 <td class="mlabels-right">
1317 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1320 </div><div class="memdoc">
1322 <p>Function that a pooling layer should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
1323 <dl class="params"><dt>Parameters</dt><dd>
1324 <table class="params">
1325 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1326 <tr><td class="paramname">pooling2dDescriptor</td><td>- <a class="el" href="structarmnn_1_1_pooling2d_descriptor.xhtml" title="A Pooling2dDescriptor for the Pooling2dLayer. ">Pooling2dDescriptor</a> to configure the pooling. </td></tr>
1327 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
1332 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#aef56afef7d87afa51fd363487c375af5">ILayerVisitor</a>.</p>
1334 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00201">201</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
1336 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1337 <div class="fragment"><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(pooling2dDescriptor);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  AddToNonCalibratedLayers(layer);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1338 </div><!-- fragment -->
1341 <a id="a4a7f7f33591fd91e8fb1c08d06c0733a"></a>
1342 <h2 class="memtitle"><span class="permalink"><a href="#a4a7f7f33591fd91e8fb1c08d06c0733a">◆ </a></span>VisitReshapeLayer()</h2>
1344 <div class="memitem">
1345 <div class="memproto">
1346 <table class="mlabels">
1348 <td class="mlabels-left">
1349 <table class="memname">
1351 <td class="memname">void VisitReshapeLayer </td>
1353 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
1354 <td class="paramname"><em>layer</em>, </td>
1357 <td class="paramkey"></td>
1359 <td class="paramtype">const <a class="el" href="structarmnn_1_1_reshape_descriptor.xhtml">ReshapeDescriptor</a> & </td>
1360 <td class="paramname"><em>reshapeDescriptor</em>, </td>
1363 <td class="paramkey"></td>
1365 <td class="paramtype">const char * </td>
1366 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
1375 <td class="mlabels-right">
1376 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1379 </div><div class="memdoc">
1381 <p>Function a reshape layer should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
1382 <dl class="params"><dt>Parameters</dt><dd>
1383 <table class="params">
1384 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1385 <tr><td class="paramname">reshapeDescriptor</td><td>- Parameters for the reshape operation. </td></tr>
1386 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
1391 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#acb732489554691ba852ca323888093ac">ILayerVisitor</a>.</p>
1393 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00269">269</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
1395 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1396 <div class="fragment"><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> {</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(reshapeDescriptor);</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  AddToNonCalibratedLayers(layer);</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1397 </div><!-- fragment -->
1400 <a id="a5abbca55c908440acecfa6e0f921092d"></a>
1401 <h2 class="memtitle"><span class="permalink"><a href="#a5abbca55c908440acecfa6e0f921092d">◆ </a></span>VisitResizeBilinearLayer()</h2>
1403 <div class="memitem">
1404 <div class="memproto">
1405 <table class="mlabels">
1407 <td class="mlabels-left">
1408 <table class="memname">
1410 <td class="memname">void VisitResizeBilinearLayer </td>
1412 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
1413 <td class="paramname"><em>layer</em>, </td>
1416 <td class="paramkey"></td>
1418 <td class="paramtype">const <a class="el" href="structarmnn_1_1_resize_bilinear_descriptor.xhtml">ResizeBilinearDescriptor</a> & </td>
1419 <td class="paramname"><em>resizeDesc</em>, </td>
1422 <td class="paramkey"></td>
1424 <td class="paramtype">const char * </td>
1425 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
1434 <td class="mlabels-right">
1435 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1438 </div><div class="memdoc">
1440 <p>Function that a resize bilinear layer should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
1441 <dl class="params"><dt>Parameters</dt><dd>
1442 <table class="params">
1443 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1444 <tr><td class="paramname">resizeDesc</td><td>- Parameters for the resize operation. </td></tr>
1445 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
1450 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#a8d87dab666a8aa6e132fcd93717a3c4b">ILayerVisitor</a>.</p>
1452 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00287">287</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
1454 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1455 <div class="fragment"><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> {</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(resizeDesc);</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  AddToNonCalibratedLayers(layer);</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1456 </div><!-- fragment -->
1459 <a id="a98f34d2511f43324833060154cbdba8d"></a>
1460 <h2 class="memtitle"><span class="permalink"><a href="#a98f34d2511f43324833060154cbdba8d">◆ </a></span>VisitSoftmaxLayer()</h2>
1462 <div class="memitem">
1463 <div class="memproto">
1464 <table class="mlabels">
1466 <td class="mlabels-left">
1467 <table class="memname">
1469 <td class="memname">void VisitSoftmaxLayer </td>
1471 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
1472 <td class="paramname"><em>layer</em>, </td>
1475 <td class="paramkey"></td>
1477 <td class="paramtype">const <a class="el" href="structarmnn_1_1_softmax_descriptor.xhtml">SoftmaxDescriptor</a> & </td>
1478 <td class="paramname"><em>softmaxDescriptor</em>, </td>
1481 <td class="paramkey"></td>
1483 <td class="paramtype">const char * </td>
1484 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
1493 <td class="mlabels-right">
1494 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1497 </div><div class="memdoc">
1499 <p>Function that a softmax layer should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
1500 <dl class="params"><dt>Parameters</dt><dd>
1501 <table class="params">
1502 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1503 <tr><td class="paramname">softmaxDescriptor</td><td>- <a class="el" href="structarmnn_1_1_softmax_descriptor.xhtml" title="A SoftmaxDescriptor for the SoftmaxLayer. ">SoftmaxDescriptor</a> to configure the softmax. </td></tr>
1504 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
1509 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#ae47c90e3188970462a28d297644133d1">ILayerVisitor</a>.</p>
1511 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00210">210</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
1513 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1514 <div class="fragment"><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(softmaxDescriptor);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  SetRange(layer, 0, 0.f, 1.f);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  AddToCalibratedLayers(layer);</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1515 </div><!-- fragment -->
1518 <a id="a8e327cc6432697fd55d6b91e554360d9"></a>
1519 <h2 class="memtitle"><span class="permalink"><a href="#a8e327cc6432697fd55d6b91e554360d9">◆ </a></span>VisitSpaceToBatchNdLayer()</h2>
1521 <div class="memitem">
1522 <div class="memproto">
1523 <table class="mlabels">
1525 <td class="mlabels-left">
1526 <table class="memname">
1528 <td class="memname">void VisitSpaceToBatchNdLayer </td>
1530 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
1531 <td class="paramname"><em>layer</em>, </td>
1534 <td class="paramkey"></td>
1536 <td class="paramtype">const <a class="el" href="structarmnn_1_1_space_to_batch_nd_descriptor.xhtml">SpaceToBatchNdDescriptor</a> & </td>
1537 <td class="paramname"><em>spaceToBatchNdDescriptor</em>, </td>
1540 <td class="paramkey"></td>
1542 <td class="paramtype">const char * </td>
1543 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
1552 <td class="mlabels-right">
1553 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1556 </div><div class="memdoc">
1558 <p>Function a space to batch layer should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
1559 <dl class="params"><dt>Parameters</dt><dd>
1560 <table class="params">
1561 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1562 <tr><td class="paramname">spaceToBatchNdDescriptor</td><td>- Parameters for the space to batch operation. </td></tr>
1563 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
1568 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#aa8c1ec6712293700fb3874f63f2ec5f0">ILayerVisitor</a>.</p>
1570 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00192">192</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
1572 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1573 <div class="fragment"><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(spaceToBatchNdDescriptor);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  AddToNonCalibratedLayers(layer);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1574 </div><!-- fragment -->
1577 <a id="afbea8aa2295f2ab71ea5bb64ccd47871"></a>
1578 <h2 class="memtitle"><span class="permalink"><a href="#afbea8aa2295f2ab71ea5bb64ccd47871">◆ </a></span>VisitSplitterLayer()</h2>
1580 <div class="memitem">
1581 <div class="memproto">
1582 <table class="mlabels">
1584 <td class="mlabels-left">
1585 <table class="memname">
1587 <td class="memname">void VisitSplitterLayer </td>
1589 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
1590 <td class="paramname"><em>layer</em>, </td>
1593 <td class="paramkey"></td>
1595 <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#a60291543fe872b795e71e05bcd835fd1">SplitterDescriptor</a> & </td>
1596 <td class="paramname"><em>splitterDescriptor</em>, </td>
1599 <td class="paramkey"></td>
1601 <td class="paramtype">const char * </td>
1602 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
1611 <td class="mlabels-right">
1612 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1615 </div><div class="memdoc">
1617 <p>Function that a splitter layer should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
1618 <dl class="params"><dt>Parameters</dt><dd>
1619 <table class="params">
1620 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1621 <tr><td class="paramname">splitterDescriptor</td><td>- <a class="el" href="structarmnn_1_1_views_descriptor.xhtml" title="A ViewsDescriptor for the SplitterLayer. ">ViewsDescriptor</a> to configure the splitting process. Number of Views must be equal to the number of outputs, and their order must match - e.g. first view corresponds to the first output, second view to the second output, etc.... </td></tr>
1622 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
1627 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#a45c613d43c30b3314cafb1be3ef7685c">ILayerVisitor</a>.</p>
1629 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00278">278</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
1631 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1632 <div class="fragment"><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> {</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(splitterDescriptor);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  AddToNonCalibratedLayers(layer);</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1633 </div><!-- fragment -->
1636 <a id="a61b7aa0305e7c45a625f7835fa26b9b6"></a>
1637 <h2 class="memtitle"><span class="permalink"><a href="#a61b7aa0305e7c45a625f7835fa26b9b6">◆ </a></span>VisitStridedSliceLayer()</h2>
1639 <div class="memitem">
1640 <div class="memproto">
1641 <table class="mlabels">
1643 <td class="mlabels-left">
1644 <table class="memname">
1646 <td class="memname">void VisitStridedSliceLayer </td>
1648 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a> * </td>
1649 <td class="paramname"><em>layer</em>, </td>
1652 <td class="paramkey"></td>
1654 <td class="paramtype">const <a class="el" href="structarmnn_1_1_strided_slice_descriptor.xhtml">StridedSliceDescriptor</a> & </td>
1655 <td class="paramname"><em>stridedSliceDescriptor</em>, </td>
1658 <td class="paramkey"></td>
1660 <td class="paramtype">const char * </td>
1661 <td class="paramname"><em>name</em> = <code>nullptr</code> </td>
1670 <td class="mlabels-right">
1671 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1674 </div><div class="memdoc">
1676 <p>Function a strided slice layer should call back to when its Accept(ILayerVisitor&) function is invoked. </p>
1677 <dl class="params"><dt>Parameters</dt><dd>
1678 <table class="params">
1679 <tr><td class="paramname">layer</td><td>- pointer to the layer which is calling back to this visit function. </td></tr>
1680 <tr><td class="paramname">stridedSliceDescriptor</td><td>- Parameters for the strided slice operation. </td></tr>
1681 <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a> name for the layer. </td></tr>
1686 <p>Implements <a class="el" href="classarmnn_1_1_i_layer_visitor.xhtml#ac2f4ca5ada6d8fcf82d7bea2e6a06924">ILayerVisitor</a>.</p>
1688 <p class="definition">Definition at line <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml#l00296">296</a> of file <a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a>.</p>
1690 <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1691 <div class="fragment"><div class="line"><a name="l00299"></a><span class="lineno"> 299</span> {</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(stridedSliceDescriptor);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(name);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  AddToNonCalibratedLayers(layer);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> }</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1692 </div><!-- fragment -->
1695 <hr/>The documentation for this class was generated from the following files:<ul>
1696 <li>src/armnn/<a class="el" href="_dynamic_quantization_visitor_8hpp_source.xhtml">DynamicQuantizationVisitor.hpp</a></li>
1697 <li>src/armnn/<a class="el" href="_dynamic_quantization_visitor_8cpp_source.xhtml">DynamicQuantizationVisitor.cpp</a></li>
1699 </div><!-- contents -->
1700 </div><!-- doc-content -->
1701 <!-- start footer part -->
1702 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1704 <li class="navelem"><a class="el" href="namespacearmnn.xhtml">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_dynamic_quantization_visitor.xhtml">DynamicQuantizationVisitor</a></li>
1705 <li class="footer">Generated on Fri Mar 13 2020 16:09:17 for ArmNN by
1706 <a href="http://www.doxygen.org/index.html">
1707 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>