blob: 2f1bdf13cfbfd779b32b4c5941a0b604024121e3 [file] [log] [blame]
Ryan OSheade36e4a2020-03-13 16:26:19 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.13"/>
7<meta name="viewport" content="width=device-width, initial-scale=1"/>
8<title>ArmNN: OutputLayer Class Reference</title>
9<link href="tabs.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="dynsections.js"></script>
12<link href="navtree.css" rel="stylesheet" type="text/css"/>
13<script type="text/javascript" src="resize.js"></script>
14<script type="text/javascript" src="navtreedata.js"></script>
15<script type="text/javascript" src="navtree.js"></script>
16<script type="text/javascript">
17 $(document).ready(initResizable);
18</script>
19<link href="search/search.css" rel="stylesheet" type="text/css"/>
20<script type="text/javascript" src="search/searchdata.js"></script>
21<script type="text/javascript" src="search/search.js"></script>
22<link href="doxygen.css" rel="stylesheet" type="text/css" />
23</head>
24<body>
25<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
26<div id="titlearea">
27<table cellspacing="0" cellpadding="0">
28 <tbody>
29 <tr style="height: 56px;">
30 <td id="projectalign" style="padding-left: 0.5em;">
31 <div id="projectname">ArmNN
32 &#160;<span id="projectnumber">NotReleased</span>
33 </div>
34 </td>
35 </tr>
36 </tbody>
37</table>
38</div>
39<!-- end header part -->
40<!-- Generated by Doxygen 1.8.13 -->
41<script type="text/javascript">
42var searchBox = new SearchBox("searchBox", "search",false,'Search');
43</script>
44<script type="text/javascript" src="menudata.js"></script>
45<script type="text/javascript" src="menu.js"></script>
46<script type="text/javascript">
47$(function() {
48 initMenu('',true,false,'search.php','Search');
49 $(document).ready(function() { init_search(); });
50});
51</script>
52<div id="main-nav"></div>
53</div><!-- top -->
54<div id="side-nav" class="ui-resizable side-nav-resizable">
55 <div id="nav-tree">
56 <div id="nav-tree-contents">
57 <div id="nav-sync" class="sync"></div>
58 </div>
59 </div>
60 <div id="splitbar" style="-moz-user-select:none;"
61 class="ui-resizable-handle">
62 </div>
63</div>
64<script type="text/javascript">
65$(document).ready(function(){initNavTree('classarmnn_1_1_output_layer.html','');});
66</script>
67<div id="doc-content">
68<!-- window showing the filter options -->
69<div id="MSearchSelectWindow"
70 onmouseover="return searchBox.OnSearchSelectShow()"
71 onmouseout="return searchBox.OnSearchSelectHide()"
72 onkeydown="return searchBox.OnSearchSelectKey(event)">
73</div>
74
75<!-- iframe showing the search results (closed by default) -->
76<div id="MSearchResultsWindow">
77<iframe src="javascript:void(0)" frameborder="0"
78 name="MSearchResults" id="MSearchResults">
79</iframe>
80</div>
81
82<div class="header">
83 <div class="summary">
84<a href="#pub-methods">Public Member Functions</a> &#124;
85<a href="#pro-methods">Protected Member Functions</a> &#124;
86<a href="classarmnn_1_1_output_layer-members.html">List of all members</a> </div>
87 <div class="headertitle">
88<div class="title">OutputLayer Class Reference</div> </div>
89</div><!--header-->
90<div class="contents">
91
92<p>A layer user-provided data can be bound to (e.g. inputs, outputs).
93 <a href="classarmnn_1_1_output_layer.html#details">More...</a></p>
94
95<p><code>#include &lt;<a class="el" href="_output_layer_8hpp_source.html">OutputLayer.hpp</a>&gt;</code></p>
96<div class="dynheader">
97Inheritance diagram for OutputLayer:</div>
98<div class="dyncontent">
99 <div class="center">
100 <img src="classarmnn_1_1_output_layer.png" usemap="#OutputLayer_map" alt=""/>
101 <map id="OutputLayer_map" name="OutputLayer_map">
102<area href="classarmnn_1_1_bindable_layer.html" alt="BindableLayer" shape="rect" coords="0,112,119,136"/>
103<area href="classarmnn_1_1_layer.html" alt="Layer" shape="rect" coords="0,56,119,80"/>
104<area href="classarmnn_1_1_i_connectable_layer.html" title="Interface for a layer that is connectable to other layers via InputSlots and OutputSlots. " alt="IConnectableLayer" shape="rect" coords="0,0,119,24"/>
105</map>
106 </div></div>
107<table class="memberdecls">
108<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
109Public Member Functions</h2></td></tr>
110<tr class="memitem:adfa912d0c4c6c00f1af2cbfa799572b7"><td class="memItemLeft" align="right" valign="top">virtual std::unique_ptr&lt; <a class="el" href="classarmnn_1_1_i_workload.html">IWorkload</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">CreateWorkload</a> (const <a class="el" href="classarmnn_1_1_i_workload_factory.html">IWorkloadFactory</a> &amp;factory) const override</td></tr>
111<tr class="separator:adfa912d0c4c6c00f1af2cbfa799572b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
112<tr class="memitem:aa88768cc82b080dddd5737bd91683649"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_layer.html#aa88768cc82b080dddd5737bd91683649">CreateTensorHandles</a> (const <a class="el" href="classarmnn_1_1_tensor_handle_factory_registry.html">TensorHandleFactoryRegistry</a> &amp;registry, const <a class="el" href="classarmnn_1_1_i_workload_factory.html">IWorkloadFactory</a> &amp;factory, const bool IsMemoryManaged=<a class="el" href="_ref_layer_tests_8cpp.html#a37f1c3ccc9fc906be85185350dd83d48">true</a>) override</td></tr>
113<tr class="separator:aa88768cc82b080dddd5737bd91683649"><td class="memSeparator" colspan="2">&#160;</td></tr>
114<tr class="memitem:a4589aa51155f0836bee3c3ed85f47082"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_output_layer.html">OutputLayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_layer.html#a4589aa51155f0836bee3c3ed85f47082">Clone</a> (<a class="el" href="classarmnn_1_1_graph.html">Graph</a> &amp;graph) const override</td></tr>
115<tr class="separator:a4589aa51155f0836bee3c3ed85f47082"><td class="memSeparator" colspan="2">&#160;</td></tr>
116<tr class="memitem:a8c8f543d7e9729362c266d12ec169966"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_layer.html#a8c8f543d7e9729362c266d12ec169966">ValidateTensorShapesFromInputs</a> () override</td></tr>
117<tr class="separator:a8c8f543d7e9729362c266d12ec169966"><td class="memSeparator" colspan="2">&#160;</td></tr>
118<tr class="memitem:a75a50f464326fefa605ea84ae2c9be85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_layer.html#a75a50f464326fefa605ea84ae2c9be85">Accept</a> (<a class="el" href="classarmnn_1_1_i_layer_visitor.html">ILayerVisitor</a> &amp;visitor) const override</td></tr>
119<tr class="separator:a75a50f464326fefa605ea84ae2c9be85"><td class="memSeparator" colspan="2">&#160;</td></tr>
120<tr class="inherit_header pub_methods_classarmnn_1_1_bindable_layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarmnn_1_1_bindable_layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarmnn_1_1_bindable_layer.html">BindableLayer</a></td></tr>
121<tr class="memitem:aa25fc28ef0074b440d78a6371ab08fb1 inherit pub_methods_classarmnn_1_1_bindable_layer"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_bindable_layer.html#aa25fc28ef0074b440d78a6371ab08fb1">BindableLayer</a> (unsigned int numInputSlots, unsigned int numOutputSlots, <a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a> type, const char *name, <a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a> id)</td></tr>
122<tr class="separator:aa25fc28ef0074b440d78a6371ab08fb1 inherit pub_methods_classarmnn_1_1_bindable_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
123<tr class="memitem:a7352bd7421ce8b5e86281b995848ed82 inherit pub_methods_classarmnn_1_1_bindable_layer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_bindable_layer.html#a7352bd7421ce8b5e86281b995848ed82">GetBindingId</a> () const</td></tr>
124<tr class="separator:a7352bd7421ce8b5e86281b995848ed82 inherit pub_methods_classarmnn_1_1_bindable_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
125<tr class="inherit_header pub_methods_classarmnn_1_1_layer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarmnn_1_1_layer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarmnn_1_1_layer.html">Layer</a></td></tr>
126<tr class="memitem:a5e5ae420d199a0bccae5139d38c30205 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a5e5ae420d199a0bccae5139d38c30205">Layer</a> (unsigned int numInputSlots, unsigned int numOutputSlots, <a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a> type, const char *name)</td></tr>
127<tr class="separator:a5e5ae420d199a0bccae5139d38c30205 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
128<tr class="memitem:a395d070748c18d903705799360088e80 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a395d070748c18d903705799360088e80">Layer</a> (unsigned int numInputSlots, unsigned int numOutputSlots, <a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a> type, <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> layout, const char *name)</td></tr>
129<tr class="separator:a395d070748c18d903705799360088e80 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
130<tr class="memitem:a9a97cb6d32661a57fc33bd29b8e41ff4 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a9a97cb6d32661a57fc33bd29b8e41ff4">GetNameStr</a> () const</td></tr>
131<tr class="separator:a9a97cb6d32661a57fc33bd29b8e41ff4 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
132<tr class="memitem:af2c0edc7ea62a8baaec4d3d9b2b09256 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_output_handler.html">OutputHandler</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#af2c0edc7ea62a8baaec4d3d9b2b09256">GetOutputHandler</a> (unsigned int i=0) const</td></tr>
133<tr class="separator:af2c0edc7ea62a8baaec4d3d9b2b09256 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
134<tr class="memitem:a1d4e05c17647232c514cfe58ca80744a inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_output_handler.html">OutputHandler</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a1d4e05c17647232c514cfe58ca80744a">GetOutputHandler</a> (unsigned int i=0)</td></tr>
135<tr class="separator:a1d4e05c17647232c514cfe58ca80744a inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
136<tr class="memitem:af5f530544d09a44d726f24702b67b35b inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classarmnn_1_1_input_slot.html">InputSlot</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#af5f530544d09a44d726f24702b67b35b">GetInputSlots</a> () const</td></tr>
137<tr class="separator:af5f530544d09a44d726f24702b67b35b inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
138<tr class="memitem:a98cdff4e0b45f4c80bfcedaf926e16e0 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classarmnn_1_1_output_slot.html">OutputSlot</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a98cdff4e0b45f4c80bfcedaf926e16e0">GetOutputSlots</a> () const</td></tr>
139<tr class="separator:a98cdff4e0b45f4c80bfcedaf926e16e0 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
140<tr class="memitem:af6cb8de21ef0da269ec9b67755ae92a0 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classarmnn_1_1_input_slot.html">InputSlot</a> &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#af6cb8de21ef0da269ec9b67755ae92a0">BeginInputSlots</a> ()</td></tr>
141<tr class="separator:af6cb8de21ef0da269ec9b67755ae92a0 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
142<tr class="memitem:a9752e12d6b79e18da1a25f76159d2a72 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classarmnn_1_1_input_slot.html">InputSlot</a> &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a9752e12d6b79e18da1a25f76159d2a72">EndInputSlots</a> ()</td></tr>
143<tr class="separator:a9752e12d6b79e18da1a25f76159d2a72 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
144<tr class="memitem:a817d4be6dd88f532d36f51748ec14185 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classarmnn_1_1_output_slot.html">OutputSlot</a> &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a817d4be6dd88f532d36f51748ec14185">BeginOutputSlots</a> ()</td></tr>
145<tr class="separator:a817d4be6dd88f532d36f51748ec14185 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
146<tr class="memitem:a55f76d98fcd2f5cdac3e2b14536cb7ab inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classarmnn_1_1_output_slot.html">OutputSlot</a> &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a55f76d98fcd2f5cdac3e2b14536cb7ab">EndOutputSlots</a> ()</td></tr>
147<tr class="separator:a55f76d98fcd2f5cdac3e2b14536cb7ab inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
148<tr class="memitem:a22485f444124128940e798a42f0b76d9 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a22485f444124128940e798a42f0b76d9">IsOutputUnconnected</a> ()</td></tr>
149<tr class="separator:a22485f444124128940e798a42f0b76d9 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
150<tr class="memitem:aac329cade047e952621b59a51a5d5f49 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#aac329cade047e952621b59a51a5d5f49">ResetPriority</a> () const</td></tr>
151<tr class="separator:aac329cade047e952621b59a51a5d5f49 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
152<tr class="memitem:af97a07195a67a638605b3c325763c2dd inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#a419086ecb4dc9d0f9e5d8933c87e2ea2">LayerPriority</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#af97a07195a67a638605b3c325763c2dd">GetPriority</a> () const</td></tr>
153<tr class="separator:af97a07195a67a638605b3c325763c2dd inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
154<tr class="memitem:aaef29472862381822654ab6cbf7cba2a inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#aaef29472862381822654ab6cbf7cba2a">GetType</a> () const</td></tr>
155<tr class="separator:aaef29472862381822654ab6cbf7cba2a inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
156<tr class="memitem:aea909c7327109228ef618d459015def3 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#aea909c7327109228ef618d459015def3">GetDataType</a> () const</td></tr>
157<tr class="separator:aea909c7327109228ef618d459015def3 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
158<tr class="memitem:afdb1d37740e7a083b625d669588b6a0e inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_backend_id.html">BackendId</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#afdb1d37740e7a083b625d669588b6a0e">GetBackendId</a> () const</td></tr>
159<tr class="separator:afdb1d37740e7a083b625d669588b6a0e inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
160<tr class="memitem:a3f6ad59212fa8a47c9265162fff8a274 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a3f6ad59212fa8a47c9265162fff8a274">SetBackendId</a> (const <a class="el" href="classarmnn_1_1_backend_id.html">BackendId</a> &amp;id)</td></tr>
161<tr class="separator:a3f6ad59212fa8a47c9265162fff8a274 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
162<tr class="memitem:a0607e36e88f38c34c71c663164b76776 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a0607e36e88f38c34c71c663164b76776">VerifyLayerConnections</a> (unsigned int expectedConnections, const <a class="el" href="structarmnn_1_1_check_location.html">CheckLocation</a> &amp;location) const</td></tr>
163<tr class="separator:a0607e36e88f38c34c71c663164b76776 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
164<tr class="memitem:a65ca562c882ad619684445a1402f415a inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a65ca562c882ad619684445a1402f415a">InferOutputShapes</a> (const std::vector&lt; <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &gt; &amp;inputShapes) const override</td></tr>
165<tr class="separator:a65ca562c882ad619684445a1402f415a inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
166<tr class="memitem:ac04cd8de9b9185756eb02463ffd432b1 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#ac04cd8de9b9185756eb02463ffd432b1">SerializeLayerParameters</a> (<a class="el" href="namespacearmnn.html#a8c42c6647e31ebe525aeba878d133e45">ParameterStringifyFunction</a> &amp;fn) const</td></tr>
167<tr class="separator:ac04cd8de9b9185756eb02463ffd432b1 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
168<tr class="memitem:a339bef86bc340c3d1393ed83950fe8af inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a339bef86bc340c3d1393ed83950fe8af">ReleaseConstantData</a> ()</td></tr>
169<tr class="separator:a339bef86bc340c3d1393ed83950fe8af inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
170<tr class="memitem:a386acff5f8430245239ce58d00ba7576 inherit pub_methods_classarmnn_1_1_layer"><td class="memTemplParams" colspan="2">template&lt;typename Op &gt; </td></tr>
171<tr class="memitem:a386acff5f8430245239ce58d00ba7576 inherit pub_methods_classarmnn_1_1_layer"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a386acff5f8430245239ce58d00ba7576">OperateOnConstantTensors</a> (Op op)</td></tr>
172<tr class="separator:a386acff5f8430245239ce58d00ba7576 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
173<tr class="memitem:a7ddf0cf6f620d59c10e63495ace795d0 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a7ddf0cf6f620d59c10e63495ace795d0">GetName</a> () const override</td></tr>
174<tr class="separator:a7ddf0cf6f620d59c10e63495ace795d0 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
175<tr class="memitem:abc0660dc440c8a285b456c9ef6383c26 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#abc0660dc440c8a285b456c9ef6383c26">GetNumInputSlots</a> () const override</td></tr>
176<tr class="separator:abc0660dc440c8a285b456c9ef6383c26 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
177<tr class="memitem:a1594bddc87d6477df300317658f566bb inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a1594bddc87d6477df300317658f566bb">GetNumOutputSlots</a> () const override</td></tr>
178<tr class="separator:a1594bddc87d6477df300317658f566bb inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
179<tr class="memitem:acf8b8e23bf647836592982f97088d375 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_input_slot.html">InputSlot</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">GetInputSlot</a> (unsigned int index) const override</td></tr>
180<tr class="separator:acf8b8e23bf647836592982f97088d375 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
181<tr class="memitem:a1b50eb1358cdf382f4bc3fc8849f8e8e inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_input_slot.html">InputSlot</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a1b50eb1358cdf382f4bc3fc8849f8e8e">GetInputSlot</a> (unsigned int index) override</td></tr>
182<tr class="separator:a1b50eb1358cdf382f4bc3fc8849f8e8e inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
183<tr class="memitem:a0e36688a43c35668d8db5257274c68fe inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_output_slot.html">OutputSlot</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a0e36688a43c35668d8db5257274c68fe">GetOutputSlot</a> (unsigned int index=0) const override</td></tr>
184<tr class="separator:a0e36688a43c35668d8db5257274c68fe inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
185<tr class="memitem:abbd71844785bb2f00a81baca30ea5ff0 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_output_slot.html">OutputSlot</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#abbd71844785bb2f00a81baca30ea5ff0">GetOutputSlot</a> (unsigned int index=0) override</td></tr>
186<tr class="separator:abbd71844785bb2f00a81baca30ea5ff0 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
187<tr class="memitem:a6d1024208b672a87ef2c1bfaf93d2b9f inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a6d1024208b672a87ef2c1bfaf93d2b9f">SetGuid</a> (<a class="el" href="namespacearmnn.html#afad4088a9a058114ee5f87246f87bf49">LayerGuid</a> guid)</td></tr>
188<tr class="separator:a6d1024208b672a87ef2c1bfaf93d2b9f inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
189<tr class="memitem:a8dc12f0ee5b232d397bd18ced1a72a64 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#afad4088a9a058114ee5f87246f87bf49">LayerGuid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a8dc12f0ee5b232d397bd18ced1a72a64">GetGuid</a> () const final</td></tr>
190<tr class="separator:a8dc12f0ee5b232d397bd18ced1a72a64 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
191<tr class="memitem:a339248d89d5e21534ecf74b4393ed4d2 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a339248d89d5e21534ecf74b4393ed4d2">AddRelatedLayerName</a> (const std::string layerName)</td></tr>
192<tr class="separator:a339248d89d5e21534ecf74b4393ed4d2 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
193<tr class="memitem:a5e5520194ea4042fe07b0bf53c28f634 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">const std::list&lt; std::string &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a5e5520194ea4042fe07b0bf53c28f634">GetRelatedLayerNames</a> ()</td></tr>
194<tr class="separator:a5e5520194ea4042fe07b0bf53c28f634 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
195<tr class="memitem:a72b18e4c5a403bc3fe2fecf20135c8d6 inherit pub_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a72b18e4c5a403bc3fe2fecf20135c8d6">Reparent</a> (<a class="el" href="classarmnn_1_1_graph.html">Graph</a> &amp;dest, std::list&lt; <a class="el" href="classarmnn_1_1_layer.html">Layer</a> *&gt;::const_iterator iterator)=0</td></tr>
196<tr class="separator:a72b18e4c5a403bc3fe2fecf20135c8d6 inherit pub_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
197</table><table class="memberdecls">
198<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
199Protected Member Functions</h2></td></tr>
200<tr class="memitem:a7c8422830ca22aec5f306bd2f8de3b6e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_layer.html#a7c8422830ca22aec5f306bd2f8de3b6e">OutputLayer</a> (<a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a> id, const char *name)</td></tr>
201<tr class="separator:a7c8422830ca22aec5f306bd2f8de3b6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
202<tr class="memitem:adae791f6b7dcf4e9c64f545a46c62009"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_output_layer.html#adae791f6b7dcf4e9c64f545a46c62009">~OutputLayer</a> ()=default</td></tr>
203<tr class="memdesc:adae791f6b7dcf4e9c64f545a46c62009"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor. <a href="#adae791f6b7dcf4e9c64f545a46c62009">More...</a><br /></td></tr>
204<tr class="separator:adae791f6b7dcf4e9c64f545a46c62009"><td class="memSeparator" colspan="2">&#160;</td></tr>
205<tr class="inherit_header pro_methods_classarmnn_1_1_bindable_layer"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classarmnn_1_1_bindable_layer')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classarmnn_1_1_bindable_layer.html">BindableLayer</a></td></tr>
206<tr class="memitem:abe51650bd0ebdb1cbe63b16a6a2639ea inherit pro_methods_classarmnn_1_1_bindable_layer"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_bindable_layer.html#abe51650bd0ebdb1cbe63b16a6a2639ea">~BindableLayer</a> ()=default</td></tr>
207<tr class="separator:abe51650bd0ebdb1cbe63b16a6a2639ea inherit pro_methods_classarmnn_1_1_bindable_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
208<tr class="inherit_header pro_methods_classarmnn_1_1_layer"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classarmnn_1_1_layer')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classarmnn_1_1_layer.html">Layer</a></td></tr>
209<tr class="memitem:aacfb208d750bdfce1bbd423e5cac76e2 inherit pro_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#aacfb208d750bdfce1bbd423e5cac76e2">~Layer</a> ()=default</td></tr>
210<tr class="separator:aacfb208d750bdfce1bbd423e5cac76e2 inherit pro_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
211<tr class="memitem:afc3239f5fc116259bf5451964e803646 inherit pro_methods_classarmnn_1_1_layer"><td class="memTemplParams" colspan="2">template&lt;typename QueueDescriptor &gt; </td></tr>
212<tr class="memitem:afc3239f5fc116259bf5451964e803646 inherit pro_methods_classarmnn_1_1_layer"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#afc3239f5fc116259bf5451964e803646">CollectQueueDescriptorInputs</a> (<a class="el" href="structarmnn_1_1_queue_descriptor.html">QueueDescriptor</a> &amp;descriptor, <a class="el" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a> &amp;<a class="el" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>) const</td></tr>
213<tr class="separator:afc3239f5fc116259bf5451964e803646 inherit pro_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
214<tr class="memitem:a499ca5a94d0174ed21786b6994b2cd8c inherit pro_methods_classarmnn_1_1_layer"><td class="memTemplParams" colspan="2">template&lt;typename QueueDescriptor &gt; </td></tr>
215<tr class="memitem:a499ca5a94d0174ed21786b6994b2cd8c inherit pro_methods_classarmnn_1_1_layer"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a499ca5a94d0174ed21786b6994b2cd8c">CollectQueueDescriptorOutputs</a> (<a class="el" href="structarmnn_1_1_queue_descriptor.html">QueueDescriptor</a> &amp;descriptor, <a class="el" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a> &amp;<a class="el" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>) const</td></tr>
216<tr class="separator:a499ca5a94d0174ed21786b6994b2cd8c inherit pro_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
217<tr class="memitem:a30a858b2b26d651a066537e499fbf40d inherit pro_methods_classarmnn_1_1_layer"><td class="memTemplParams" colspan="2">template&lt;typename QueueDescriptor &gt; </td></tr>
218<tr class="memitem:a30a858b2b26d651a066537e499fbf40d inherit pro_methods_classarmnn_1_1_layer"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a30a858b2b26d651a066537e499fbf40d">PrepInfoAndDesc</a> (<a class="el" href="structarmnn_1_1_queue_descriptor.html">QueueDescriptor</a> &amp;descriptor) const</td></tr>
219<tr class="memdesc:a30a858b2b26d651a066537e499fbf40d inherit pro_methods_classarmnn_1_1_layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to reduce duplication in *Layer<a class="el" href="_elementwise_unary_test_impl_8hpp.html#aa50938ed8f91e09acd4af904dcf5543a">CreateWorkload</a>. <a href="classarmnn_1_1_layer.html#a30a858b2b26d651a066537e499fbf40d">More...</a><br /></td></tr>
220<tr class="separator:a30a858b2b26d651a066537e499fbf40d inherit pro_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
221<tr class="memitem:aa10fd205c3f5469a9ecb2aa2a3ffd101 inherit pro_methods_classarmnn_1_1_layer"><td class="memTemplParams" colspan="2">template&lt;typename LayerType , typename ... Params&gt; </td></tr>
222<tr class="memitem:aa10fd205c3f5469a9ecb2aa2a3ffd101 inherit pro_methods_classarmnn_1_1_layer"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a> *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#aa10fd205c3f5469a9ecb2aa2a3ffd101">CloneBase</a> (<a class="el" href="classarmnn_1_1_graph.html">Graph</a> &amp;graph, Params &amp;&amp;... params) const</td></tr>
223<tr class="separator:aa10fd205c3f5469a9ecb2aa2a3ffd101 inherit pro_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
224<tr class="memitem:afbeac2d77ecaadc3e303a163b4146961 inherit pro_methods_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classarmnn_1_1_layer.html#a585d59ec610af46a76487fd6c1c55ac1">ConstantTensors</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#afbeac2d77ecaadc3e303a163b4146961">GetConstantTensorsByRef</a> ()</td></tr>
225<tr class="separator:afbeac2d77ecaadc3e303a163b4146961 inherit pro_methods_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
226<tr class="inherit_header pro_methods_classarmnn_1_1_i_connectable_layer"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classarmnn_1_1_i_connectable_layer')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a></td></tr>
227<tr class="memitem:a8c7faf37c1d965431aaa02ae934d67ee inherit pro_methods_classarmnn_1_1_i_connectable_layer"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#a8c7faf37c1d965431aaa02ae934d67ee">~IConnectableLayer</a> ()</td></tr>
228<tr class="memdesc:a8c7faf37c1d965431aaa02ae934d67ee inherit pro_methods_classarmnn_1_1_i_connectable_layer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Objects are not deletable via the handle. <a href="classarmnn_1_1_i_connectable_layer.html#a8c7faf37c1d965431aaa02ae934d67ee">More...</a><br /></td></tr>
229<tr class="separator:a8c7faf37c1d965431aaa02ae934d67ee inherit pro_methods_classarmnn_1_1_i_connectable_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
230</table><table class="memberdecls">
231<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
232Additional Inherited Members</h2></td></tr>
233<tr class="inherit_header pro_types_classarmnn_1_1_layer"><td colspan="2" onclick="javascript:toggleInherit('pro_types_classarmnn_1_1_layer')"><img src="closed.png" alt="-"/>&#160;Protected Types inherited from <a class="el" href="classarmnn_1_1_layer.html">Layer</a></td></tr>
234<tr class="memitem:a585d59ec610af46a76487fd6c1c55ac1 inherit pro_types_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a585d59ec610af46a76487fd6c1c55ac1">ConstantTensors</a> = std::vector&lt; std::reference_wrapper&lt; std::unique_ptr&lt; <a class="el" href="classarmnn_1_1_scoped_cpu_tensor_handle.html">ScopedCpuTensorHandle</a> &gt; &gt;&gt;</td></tr>
235<tr class="separator:a585d59ec610af46a76487fd6c1c55ac1 inherit pro_types_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
236<tr class="inherit_header pro_attribs_classarmnn_1_1_layer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classarmnn_1_1_layer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classarmnn_1_1_layer.html">Layer</a></td></tr>
237<tr class="memitem:aa44d91037bba52ba0dec6577509ade3b inherit pro_attribs_classarmnn_1_1_layer"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classarmnn_1_1_output_handler.html">OutputHandler</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#aa44d91037bba52ba0dec6577509ade3b">m_OutputHandlers</a></td></tr>
238<tr class="separator:aa44d91037bba52ba0dec6577509ade3b inherit pro_attribs_classarmnn_1_1_layer"><td class="memSeparator" colspan="2">&#160;</td></tr>
239</table>
240<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
241<div class="textblock"><p>A layer user-provided data can be bound to (e.g. inputs, outputs). </p>
242
243<p class="definition">Definition at line <a class="el" href="_output_layer_8hpp_source.html#l00013">13</a> of file <a class="el" href="_output_layer_8hpp_source.html">OutputLayer.hpp</a>.</p>
244</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
245<a id="a7c8422830ca22aec5f306bd2f8de3b6e"></a>
246<h2 class="memtitle"><span class="permalink"><a href="#a7c8422830ca22aec5f306bd2f8de3b6e">&#9670;&nbsp;</a></span>OutputLayer()</h2>
247
248<div class="memitem">
249<div class="memproto">
250<table class="mlabels">
251 <tr>
252 <td class="mlabels-left">
253 <table class="memname">
254 <tr>
255 <td class="memname"><a class="el" href="classarmnn_1_1_output_layer.html">OutputLayer</a> </td>
256 <td>(</td>
257 <td class="paramtype"><a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a>&#160;</td>
258 <td class="paramname"><em>id</em>, </td>
259 </tr>
260 <tr>
261 <td class="paramkey"></td>
262 <td></td>
263 <td class="paramtype">const char *&#160;</td>
264 <td class="paramname"><em>name</em>&#160;</td>
265 </tr>
266 <tr>
267 <td></td>
268 <td>)</td>
269 <td></td><td></td>
270 </tr>
271 </table>
272 </td>
273 <td class="mlabels-right">
274<span class="mlabels"><span class="mlabel">protected</span></span> </td>
275 </tr>
276</table>
277</div><div class="memdoc">
278<p>Constructor to create an <a class="el" href="classarmnn_1_1_output_layer.html" title="A layer user-provided data can be bound to (e.g. inputs, outputs). ">OutputLayer</a>. </p><dl class="params"><dt>Parameters</dt><dd>
279 <table class="params">
280 <tr><td class="paramname">id</td><td>The layer binding id number. </td></tr>
281 <tr><td class="paramname">name</td><td><a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer. </td></tr>
282 </table>
283 </dd>
284</dl>
285
286<p class="definition">Definition at line <a class="el" href="_output_layer_8cpp_source.html#l00017">17</a> of file <a class="el" href="_output_layer_8cpp_source.html">OutputLayer.cpp</a>.</p>
287
288<p class="reference">References <a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4a29c2c02a361c9d7028472e5d92cd4a54">armnn::Output</a>.</p>
289
290<p class="reference">Referenced by <a class="el" href="_output_layer_8hpp_source.html#l00027">OutputLayer::CreateTensorHandles()</a>.</p>
291<div class="fragment"><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; : <a class="code" href="classarmnn_1_1_bindable_layer.html#aa25fc28ef0074b440d78a6371ab08fb1">BindableLayer</a>(1, 0, <a class="code" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4a29c2c02a361c9d7028472e5d92cd4a54">LayerType::Output</a>, name, <span class="keywordtype">id</span>)</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;{</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_a56943a0946e5f15e5e58054b8e7a04a4a29c2c02a361c9d7028472e5d92cd4a54"><div class="ttname"><a href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4a29c2c02a361c9d7028472e5d92cd4a54">armnn::LayerType::Output</a></div></div>
292<div class="ttc" id="classarmnn_1_1_bindable_layer_html_aa25fc28ef0074b440d78a6371ab08fb1"><div class="ttname"><a href="classarmnn_1_1_bindable_layer.html#aa25fc28ef0074b440d78a6371ab08fb1">armnn::BindableLayer::BindableLayer</a></div><div class="ttdeci">BindableLayer(unsigned int numInputSlots, unsigned int numOutputSlots, LayerType type, const char *name, LayerBindingId id)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00388">Layer.hpp:388</a></div></div>
293</div><!-- fragment -->
294</div>
295</div>
296<a id="adae791f6b7dcf4e9c64f545a46c62009"></a>
297<h2 class="memtitle"><span class="permalink"><a href="#adae791f6b7dcf4e9c64f545a46c62009">&#9670;&nbsp;</a></span>~OutputLayer()</h2>
298
299<div class="memitem">
300<div class="memproto">
301<table class="mlabels">
302 <tr>
303 <td class="mlabels-left">
304 <table class="memname">
305 <tr>
306 <td class="memname">~<a class="el" href="classarmnn_1_1_output_layer.html">OutputLayer</a> </td>
307 <td>(</td>
308 <td class="paramname"></td><td>)</td>
309 <td></td>
310 </tr>
311 </table>
312 </td>
313 <td class="mlabels-right">
314<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span></span> </td>
315 </tr>
316</table>
317</div><div class="memdoc">
318
319<p>Default destructor. </p>
320
321<p class="reference">Referenced by <a class="el" href="_output_layer_8hpp_source.html#l00027">OutputLayer::CreateTensorHandles()</a>.</p>
322
323</div>
324</div>
325<h2 class="groupheader">Member Function Documentation</h2>
326<a id="a75a50f464326fefa605ea84ae2c9be85"></a>
327<h2 class="memtitle"><span class="permalink"><a href="#a75a50f464326fefa605ea84ae2c9be85">&#9670;&nbsp;</a></span>Accept()</h2>
328
329<div class="memitem">
330<div class="memproto">
331<table class="mlabels">
332 <tr>
333 <td class="mlabels-left">
334 <table class="memname">
335 <tr>
336 <td class="memname">void Accept </td>
337 <td>(</td>
338 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_layer_visitor.html">ILayerVisitor</a> &amp;&#160;</td>
339 <td class="paramname"><em>visitor</em></td><td>)</td>
340 <td> const</td>
341 </tr>
342 </table>
343 </td>
344 <td class="mlabels-right">
345<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
346 </tr>
347</table>
348</div><div class="memdoc">
349
350<p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a8c9198a992b02e61a6777329d487dde3">IConnectableLayer</a>.</p>
351
352<p class="definition">Definition at line <a class="el" href="_output_layer_8cpp_source.html#l00040">40</a> of file <a class="el" href="_output_layer_8cpp_source.html">OutputLayer.cpp</a>.</p>
353
354<p class="reference">References <a class="el" href="_layer_8hpp_source.html#l00398">BindableLayer::GetBindingId()</a>, <a class="el" href="_layer_8hpp_source.html#l00305">Layer::GetName()</a>, and <a class="el" href="classarmnn_1_1_i_layer_visitor.html#a0da6bde681d919b7282eddad4a446890">ILayerVisitor::VisitOutputLayer()</a>.</p>
355
356<p class="reference">Referenced by <a class="el" href="_output_layer_8hpp_source.html#l00027">OutputLayer::CreateTensorHandles()</a>.</p>
357<div class="fragment"><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; visitor.VisitOutputLayer(<span class="keyword">this</span>, <a class="code" href="classarmnn_1_1_bindable_layer.html#a7352bd7421ce8b5e86281b995848ed82">GetBindingId</a>(), <a class="code" href="classarmnn_1_1_layer.html#a7ddf0cf6f620d59c10e63495ace795d0">GetName</a>());</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_layer_html_a7ddf0cf6f620d59c10e63495ace795d0"><div class="ttname"><a href="classarmnn_1_1_layer.html#a7ddf0cf6f620d59c10e63495ace795d0">armnn::Layer::GetName</a></div><div class="ttdeci">const char * GetName() const override</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00305">Layer.hpp:305</a></div></div>
358<div class="ttc" id="classarmnn_1_1_bindable_layer_html_a7352bd7421ce8b5e86281b995848ed82"><div class="ttname"><a href="classarmnn_1_1_bindable_layer.html#a7352bd7421ce8b5e86281b995848ed82">armnn::BindableLayer::GetBindingId</a></div><div class="ttdeci">LayerBindingId GetBindingId() const</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00398">Layer.hpp:398</a></div></div>
359</div><!-- fragment -->
360</div>
361</div>
362<a id="a4589aa51155f0836bee3c3ed85f47082"></a>
363<h2 class="memtitle"><span class="permalink"><a href="#a4589aa51155f0836bee3c3ed85f47082">&#9670;&nbsp;</a></span>Clone()</h2>
364
365<div class="memitem">
366<div class="memproto">
367<table class="mlabels">
368 <tr>
369 <td class="mlabels-left">
370 <table class="memname">
371 <tr>
372 <td class="memname"><a class="el" href="classarmnn_1_1_output_layer.html">OutputLayer</a> * Clone </td>
373 <td>(</td>
374 <td class="paramtype"><a class="el" href="classarmnn_1_1_graph.html">Graph</a> &amp;&#160;</td>
375 <td class="paramname"><em>graph</em></td><td>)</td>
376 <td> const</td>
377 </tr>
378 </table>
379 </td>
380 <td class="mlabels-right">
381<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
382 </tr>
383</table>
384</div><div class="memdoc">
385<p>Creates a dynamically-allocated copy of this layer. </p><dl class="params"><dt>Parameters</dt><dd>
386 <table class="params">
387 <tr><td class="paramdir">[in]</td><td class="paramname">graph</td><td>The graph into which this layer is being cloned. </td></tr>
388 </table>
389 </dd>
390</dl>
391
392<p>Implements <a class="el" href="classarmnn_1_1_layer.html#ae89ff455503aa106d00bf34103d2f2e0">Layer</a>.</p>
393
394<p class="definition">Definition at line <a class="el" href="_output_layer_8cpp_source.html#l00028">28</a> of file <a class="el" href="_output_layer_8cpp_source.html">OutputLayer.cpp</a>.</p>
395
396<p class="reference">References <a class="el" href="_layer_8hpp_source.html#l00398">BindableLayer::GetBindingId()</a>, and <a class="el" href="_layer_8hpp_source.html#l00305">Layer::GetName()</a>.</p>
397
398<p class="reference">Referenced by <a class="el" href="_output_layer_8hpp_source.html#l00027">OutputLayer::CreateTensorHandles()</a>.</p>
399<div class="fragment"><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordflow">return</span> CloneBase&lt;OutputLayer&gt;(graph, <a class="code" href="classarmnn_1_1_bindable_layer.html#a7352bd7421ce8b5e86281b995848ed82">GetBindingId</a>(), <a class="code" href="classarmnn_1_1_layer.html#a7ddf0cf6f620d59c10e63495ace795d0">GetName</a>());</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_layer_html_a7ddf0cf6f620d59c10e63495ace795d0"><div class="ttname"><a href="classarmnn_1_1_layer.html#a7ddf0cf6f620d59c10e63495ace795d0">armnn::Layer::GetName</a></div><div class="ttdeci">const char * GetName() const override</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00305">Layer.hpp:305</a></div></div>
400<div class="ttc" id="classarmnn_1_1_bindable_layer_html_a7352bd7421ce8b5e86281b995848ed82"><div class="ttname"><a href="classarmnn_1_1_bindable_layer.html#a7352bd7421ce8b5e86281b995848ed82">armnn::BindableLayer::GetBindingId</a></div><div class="ttdeci">LayerBindingId GetBindingId() const</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00398">Layer.hpp:398</a></div></div>
401</div><!-- fragment -->
402</div>
403</div>
404<a id="aa88768cc82b080dddd5737bd91683649"></a>
405<h2 class="memtitle"><span class="permalink"><a href="#aa88768cc82b080dddd5737bd91683649">&#9670;&nbsp;</a></span>CreateTensorHandles()</h2>
406
407<div class="memitem">
408<div class="memproto">
409<table class="mlabels">
410 <tr>
411 <td class="mlabels-left">
412 <table class="memname">
413 <tr>
414 <td class="memname">virtual void CreateTensorHandles </td>
415 <td>(</td>
416 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_handle_factory_registry.html">TensorHandleFactoryRegistry</a> &amp;&#160;</td>
417 <td class="paramname"><em>registry</em>, </td>
418 </tr>
419 <tr>
420 <td class="paramkey"></td>
421 <td></td>
422 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_workload_factory.html">IWorkloadFactory</a> &amp;&#160;</td>
423 <td class="paramname"><em>factory</em>, </td>
424 </tr>
425 <tr>
426 <td class="paramkey"></td>
427 <td></td>
428 <td class="paramtype">const bool&#160;</td>
429 <td class="paramname"><em>IsMemoryManaged</em> = <code><a class="el" href="_ref_layer_tests_8cpp.html#a37f1c3ccc9fc906be85185350dd83d48">true</a></code>&#160;</td>
430 </tr>
431 <tr>
432 <td></td>
433 <td>)</td>
434 <td></td><td></td>
435 </tr>
436 </table>
437 </td>
438 <td class="mlabels-right">
439<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
440 </tr>
441</table>
442</div><div class="memdoc">
443<p>Set the outputs to be appropriate sub tensors of the input if sub tensors are supported otherwise creates tensor handlers by default. Ignores parameters for Output type. </p><dl class="params"><dt>Parameters</dt><dd>
444 <table class="params">
445 <tr><td class="paramdir">[in]</td><td class="paramname">registry</td><td>Contains all the registered tensor handle factories available for use. </td></tr>
446 <tr><td class="paramdir">[in]</td><td class="paramname">factory</td><td>The workload factory which will create the workload. </td></tr>
447 <tr><td class="paramdir">[in]</td><td class="paramname">IsMemoryManaged</td><td>Determine whether or not to assign a memory manager during creation </td></tr>
448 </table>
449 </dd>
450</dl>
451
452<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer.html#a3ff62126ec713a2708e5fbaa6146a7de">Layer</a>.</p>
453
454<p class="definition">Definition at line <a class="el" href="_output_layer_8hpp_source.html#l00027">27</a> of file <a class="el" href="_output_layer_8hpp_source.html">OutputLayer.hpp</a>.</p>
455
456<p class="reference">References <a class="el" href="_output_layer_8cpp_source.html#l00040">OutputLayer::Accept()</a>, <a class="el" href="_output_layer_8cpp_source.html#l00028">OutputLayer::Clone()</a>, <a class="el" href="_output_layer_8cpp_source.html#l00017">OutputLayer::OutputLayer()</a>, <a class="el" href="_output_layer_8cpp_source.html#l00033">OutputLayer::ValidateTensorShapesFromInputs()</a>, and <a class="el" href="classarmnn_1_1_output_layer.html#adae791f6b7dcf4e9c64f545a46c62009">OutputLayer::~OutputLayer()</a>.</p>
457<div class="fragment"><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; {</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; boost::ignore_unused(registry, factory, IsMemoryManaged);</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; }</div></div><!-- fragment -->
458</div>
459</div>
460<a id="adfa912d0c4c6c00f1af2cbfa799572b7"></a>
461<h2 class="memtitle"><span class="permalink"><a href="#adfa912d0c4c6c00f1af2cbfa799572b7">&#9670;&nbsp;</a></span>CreateWorkload()</h2>
462
463<div class="memitem">
464<div class="memproto">
465<table class="mlabels">
466 <tr>
467 <td class="mlabels-left">
468 <table class="memname">
469 <tr>
470 <td class="memname">std::unique_ptr&lt; <a class="el" href="classarmnn_1_1_i_workload.html">IWorkload</a> &gt; CreateWorkload </td>
471 <td>(</td>
472 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_workload_factory.html">IWorkloadFactory</a> &amp;&#160;</td>
473 <td class="paramname"><em>factory</em></td><td>)</td>
474 <td> const</td>
475 </tr>
476 </table>
477 </td>
478 <td class="mlabels-right">
479<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
480 </tr>
481</table>
482</div><div class="memdoc">
483<p>Returns nullptr for Output type. </p><dl class="params"><dt>Parameters</dt><dd>
484 <table class="params">
485 <tr><td class="paramdir">[in]</td><td class="paramname">graph</td><td>The graph where this layer can be found. </td></tr>
486 <tr><td class="paramdir">[in]</td><td class="paramname">factory</td><td>The workload factory which will create the workload. </td></tr>
487 </table>
488 </dd>
489</dl>
490<dl class="section return"><dt>Returns</dt><dd>A pointer to the created workload, or nullptr if not created. </dd></dl>
491
492<p>Implements <a class="el" href="classarmnn_1_1_layer.html#a08d1e10a45f15cd0bd02557be35a3864">Layer</a>.</p>
493
494<p class="definition">Definition at line <a class="el" href="_output_layer_8cpp_source.html#l00022">22</a> of file <a class="el" href="_output_layer_8cpp_source.html">OutputLayer.cpp</a>.</p>
495<div class="fragment"><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;{</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; boost::ignore_unused(factory);</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;}</div></div><!-- fragment -->
496</div>
497</div>
498<a id="a8c8f543d7e9729362c266d12ec169966"></a>
499<h2 class="memtitle"><span class="permalink"><a href="#a8c8f543d7e9729362c266d12ec169966">&#9670;&nbsp;</a></span>ValidateTensorShapesFromInputs()</h2>
500
501<div class="memitem">
502<div class="memproto">
503<table class="mlabels">
504 <tr>
505 <td class="mlabels-left">
506 <table class="memname">
507 <tr>
508 <td class="memname">void ValidateTensorShapesFromInputs </td>
509 <td>(</td>
510 <td class="paramname"></td><td>)</td>
511 <td></td>
512 </tr>
513 </table>
514 </td>
515 <td class="mlabels-right">
516<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
517 </tr>
518</table>
519</div><div class="memdoc">
520<p>Check if the input tensor shape(s) will lead to a valid configuration of <a class="el" href="classarmnn_1_1_output_layer.html">OutputLayer</a>. </p>
521
522<p>Implements <a class="el" href="classarmnn_1_1_layer.html#a84ff600212ba26e665de9b978ec896a4">Layer</a>.</p>
523
524<p class="definition">Definition at line <a class="el" href="_output_layer_8cpp_source.html#l00033">33</a> of file <a class="el" href="_output_layer_8cpp_source.html">OutputLayer.cpp</a>.</p>
525
526<p class="reference">References <a class="el" href="_layer_8hpp_source.html#l00199">InputSlot::GetConnection()</a>, and <a class="el" href="_layer_8hpp_source.html#l00310">Layer::GetInputSlot()</a>.</p>
527
528<p class="reference">Referenced by <a class="el" href="_output_layer_8hpp_source.html#l00027">OutputLayer::CreateTensorHandles()</a>.</p>
529<div class="fragment"><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;{</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="comment">// Just validates that the input is connected.</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; ConditionalThrow&lt;LayerValidationException&gt;(<a class="code" href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">GetInputSlot</a>(0).<a class="code" href="classarmnn_1_1_input_slot.html#a3153abb7c0c0a84629079b2fac7db54f">GetConnection</a>() != <span class="keyword">nullptr</span>,</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="stringliteral">&quot;OutputLayer: Input slot must be connected.&quot;</span>);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_input_slot_html_a3153abb7c0c0a84629079b2fac7db54f"><div class="ttname"><a href="classarmnn_1_1_input_slot.html#a3153abb7c0c0a84629079b2fac7db54f">armnn::InputSlot::GetConnection</a></div><div class="ttdeci">const IOutputSlot * GetConnection() const override</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00199">Layer.hpp:199</a></div></div>
530<div class="ttc" id="classarmnn_1_1_layer_html_acf8b8e23bf647836592982f97088d375"><div class="ttname"><a href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">armnn::Layer::GetInputSlot</a></div><div class="ttdeci">const InputSlot &amp; GetInputSlot(unsigned int index) const override</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00310">Layer.hpp:310</a></div></div>
531</div><!-- fragment -->
532</div>
533</div>
534<hr/>The documentation for this class was generated from the following files:<ul>
535<li>src/armnn/layers/<a class="el" href="_output_layer_8hpp_source.html">OutputLayer.hpp</a></li>
536<li>src/armnn/layers/<a class="el" href="_output_layer_8cpp_source.html">OutputLayer.cpp</a></li>
537</ul>
538</div><!-- contents -->
539</div><!-- doc-content -->
540<!-- start footer part -->
541<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
542 <ul>
543 <li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_output_layer.html">OutputLayer</a></li>
544 <li class="footer">Generated on Fri Mar 13 2020 16:07:04 for ArmNN by
545 <a href="http://www.doxygen.org/index.html">
546 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
547 </ul>
548</div>
549</body>
550</html>