Nikhil Raj | 1dc83fe | 2024-05-16 09:47:51 +0100 | [diff] [blame^] | 1 | <!-- HTML header for doxygen 1.8.17--> |
| 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 3 | <html xmlns="http://www.w3.org/1999/xhtml"> |
| 4 | <head> |
| 5 | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
| 6 | <meta http-equiv="X-UA-Compatible" content="IE=9"/> |
| 7 | <meta name="generator" content="Doxygen 1.8.17"/> |
| 8 | <meta name="viewport" content="width=device-width, initial-scale=1"/> |
| 9 | <title>Arm NN: Layer Class Reference</title> |
| 10 | <link href="tabs.css" rel="stylesheet" type="text/css"/> |
| 11 | <script type="text/javascript" src="jquery.js"></script> |
| 12 | <script type="text/javascript" src="dynsections.js"></script> |
| 13 | <link href="navtree.css" rel="stylesheet" type="text/css"/> |
| 14 | <script type="text/javascript" src="resize.js"></script> |
| 15 | <script type="text/javascript" src="navtreedata.js"></script> |
| 16 | <script type="text/javascript" src="navtree.js"></script> |
| 17 | <link href="search/search.css" rel="stylesheet" type="text/css"/> |
| 18 | <script type="text/javascript" src="search/searchdata.js"></script> |
| 19 | <script type="text/javascript" src="search/search.js"></script> |
| 20 | <script type="text/x-mathjax-config"> |
| 21 | MathJax.Hub.Config({ |
| 22 | extensions: ["tex2jax.js"], |
| 23 | jax: ["input/TeX","output/HTML-CSS"], |
| 24 | }); |
| 25 | </script> |
| 26 | <script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script> |
| 27 | <link href="doxygen.css" rel="stylesheet" type="text/css" /> |
| 28 | <link href="customdoxygen.css" rel="stylesheet" type="text/css"/> |
| 29 | </head> |
| 30 | <body> |
| 31 | <div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
| 32 | <div id="titlearea"> |
| 33 | <table cellspacing="0" cellpadding="0"> |
| 34 | <tbody> |
| 35 | <tr style="height: 56px;"> |
| 36 | <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/> |
| 37 | <td id="projectalign" style="padding-left: 0.9em;"> |
| 38 | <div id="projectname"> |
| 39 |  <span id="projectnumber">24.05</span> |
| 40 | </div> |
| 41 | </td> |
| 42 | </tr> |
| 43 | </tbody> |
| 44 | </table> |
| 45 | </div> |
| 46 | <!-- end header part --> |
| 47 | <!-- Generated by Doxygen 1.8.17 --> |
| 48 | <script type="text/javascript"> |
| 49 | /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| 50 | var searchBox = new SearchBox("searchBox", "search",false,'Search'); |
| 51 | /* @license-end */ |
| 52 | </script> |
| 53 | <script type="text/javascript" src="menudata.js"></script> |
| 54 | <script type="text/javascript" src="menu.js"></script> |
| 55 | <script type="text/javascript"> |
| 56 | /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| 57 | $(function() { |
| 58 | initMenu('',true,false,'search.php','Search'); |
| 59 | $(document).ready(function() { init_search(); }); |
| 60 | }); |
| 61 | /* @license-end */</script> |
| 62 | <div id="main-nav"></div> |
| 63 | </div><!-- top --> |
| 64 | <div id="side-nav" class="ui-resizable side-nav-resizable"> |
| 65 | <div id="nav-tree"> |
| 66 | <div id="nav-tree-contents"> |
| 67 | <div id="nav-sync" class="sync"></div> |
| 68 | </div> |
| 69 | </div> |
| 70 | <div id="splitbar" style="-moz-user-select:none;" |
| 71 | class="ui-resizable-handle"> |
| 72 | </div> |
| 73 | </div> |
| 74 | <script type="text/javascript"> |
| 75 | /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| 76 | $(document).ready(function(){initNavTree('classarmnn_1_1_layer.html',''); initResizable(); }); |
| 77 | /* @license-end */ |
| 78 | </script> |
| 79 | <div id="doc-content"> |
| 80 | <!-- window showing the filter options --> |
| 81 | <div id="MSearchSelectWindow" |
| 82 | onmouseover="return searchBox.OnSearchSelectShow()" |
| 83 | onmouseout="return searchBox.OnSearchSelectHide()" |
| 84 | onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| 85 | </div> |
| 86 | |
| 87 | <!-- iframe showing the search results (closed by default) --> |
| 88 | <div id="MSearchResultsWindow"> |
| 89 | <iframe src="javascript:void(0)" frameborder="0" |
| 90 | name="MSearchResults" id="MSearchResults"> |
| 91 | </iframe> |
| 92 | </div> |
| 93 | |
| 94 | <div class="header"> |
| 95 | <div class="summary"> |
| 96 | <a href="#pub-methods">Public Member Functions</a> | |
| 97 | <a href="#pro-methods">Protected Member Functions</a> | |
| 98 | <a href="#pro-attribs">Protected Attributes</a> | |
| 99 | <a href="#friends">Friends</a> | |
| 100 | <a href="classarmnn_1_1_layer-members.html">List of all members</a> </div> |
| 101 | <div class="headertitle"> |
| 102 | <div class="title">Layer Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div> |
| 103 | </div><!--header--> |
| 104 | <div class="contents"> |
| 105 | |
| 106 | <p><code>#include <<a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>></code></p> |
| 107 | <div class="dynheader"> |
| 108 | Inheritance diagram for Layer:</div> |
| 109 | <div class="dyncontent"> |
| 110 | <div class="center"><iframe scrolling="no" frameborder="0" src="classarmnn_1_1_layer__inherit__graph.svg" width="1348" height="4986"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> |
| 111 | </div> |
| 112 | <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> |
| 113 | <div class="dynheader"> |
| 114 | Collaboration diagram for Layer:</div> |
| 115 | <div class="dyncontent"> |
| 116 | <div class="center"><iframe scrolling="no" frameborder="0" src="classarmnn_1_1_layer__coll__graph.svg" width="154" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> |
| 117 | </div> |
| 118 | <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> |
| 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:a5e5ae420d199a0bccae5139d38c30205"><td class="memItemLeft" align="right" valign="top"> </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> |
| 123 | <tr class="separator:a5e5ae420d199a0bccae5139d38c30205"><td class="memSeparator" colspan="2"> </td></tr> |
| 124 | <tr class="memitem:a395d070748c18d903705799360088e80"><td class="memItemLeft" align="right" valign="top"> </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> |
| 125 | <tr class="separator:a395d070748c18d903705799360088e80"><td class="memSeparator" colspan="2"> </td></tr> |
| 126 | <tr class="memitem:a46fc3fdd4b2a5dd6d184e57983cf20bc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ExecuteStrategy</a> (<a class="el" href="classarmnn_1_1_i_strategy.html">IStrategy</a> &strategy) const override</td></tr> |
| 127 | <tr class="memdesc:a46fc3fdd4b2a5dd6d184e57983cf20bc"><td class="mdescLeft"> </td><td class="mdescRight">Apply a visitor to this layer. <a href="classarmnn_1_1_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">More...</a><br /></td></tr> |
| 128 | <tr class="separator:a46fc3fdd4b2a5dd6d184e57983cf20bc"><td class="memSeparator" colspan="2"> </td></tr> |
| 129 | <tr class="memitem:a9a97cb6d32661a57fc33bd29b8e41ff4"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a9a97cb6d32661a57fc33bd29b8e41ff4">GetNameStr</a> () const</td></tr> |
| 130 | <tr class="separator:a9a97cb6d32661a57fc33bd29b8e41ff4"><td class="memSeparator" colspan="2"> </td></tr> |
| 131 | <tr class="memitem:af2c0edc7ea62a8baaec4d3d9b2b09256"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_output_handler.html">OutputHandler</a> & </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> |
| 132 | <tr class="separator:af2c0edc7ea62a8baaec4d3d9b2b09256"><td class="memSeparator" colspan="2"> </td></tr> |
| 133 | <tr class="memitem:a1d4e05c17647232c514cfe58ca80744a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_output_handler.html">OutputHandler</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a1d4e05c17647232c514cfe58ca80744a">GetOutputHandler</a> (unsigned int i=0)</td></tr> |
| 134 | <tr class="separator:a1d4e05c17647232c514cfe58ca80744a"><td class="memSeparator" colspan="2"> </td></tr> |
| 135 | <tr class="memitem:a3560e0733f829e5194887d014a133144"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9">ShapeInferenceMethod</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a3560e0733f829e5194887d014a133144">GetShapeInferenceMethod</a> () const</td></tr> |
| 136 | <tr class="separator:a3560e0733f829e5194887d014a133144"><td class="memSeparator" colspan="2"> </td></tr> |
| 137 | <tr class="memitem:ad6f282c92535e2be398a9b350d4e2ee9"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#ad6f282c92535e2be398a9b350d4e2ee9">GetAllowExpandedDims</a> () const</td></tr> |
| 138 | <tr class="separator:ad6f282c92535e2be398a9b350d4e2ee9"><td class="memSeparator" colspan="2"> </td></tr> |
| 139 | <tr class="memitem:af5f530544d09a44d726f24702b67b35b"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classarmnn_1_1_input_slot.html">InputSlot</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#af5f530544d09a44d726f24702b67b35b">GetInputSlots</a> () const</td></tr> |
| 140 | <tr class="separator:af5f530544d09a44d726f24702b67b35b"><td class="memSeparator" colspan="2"> </td></tr> |
| 141 | <tr class="memitem:a98cdff4e0b45f4c80bfcedaf926e16e0"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classarmnn_1_1_output_slot.html">OutputSlot</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a98cdff4e0b45f4c80bfcedaf926e16e0">GetOutputSlots</a> () const</td></tr> |
| 142 | <tr class="separator:a98cdff4e0b45f4c80bfcedaf926e16e0"><td class="memSeparator" colspan="2"> </td></tr> |
| 143 | <tr class="memitem:af6cb8de21ef0da269ec9b67755ae92a0"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classarmnn_1_1_input_slot.html">InputSlot</a> >::iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#af6cb8de21ef0da269ec9b67755ae92a0">BeginInputSlots</a> ()</td></tr> |
| 144 | <tr class="separator:af6cb8de21ef0da269ec9b67755ae92a0"><td class="memSeparator" colspan="2"> </td></tr> |
| 145 | <tr class="memitem:a9752e12d6b79e18da1a25f76159d2a72"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classarmnn_1_1_input_slot.html">InputSlot</a> >::iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a9752e12d6b79e18da1a25f76159d2a72">EndInputSlots</a> ()</td></tr> |
| 146 | <tr class="separator:a9752e12d6b79e18da1a25f76159d2a72"><td class="memSeparator" colspan="2"> </td></tr> |
| 147 | <tr class="memitem:a817d4be6dd88f532d36f51748ec14185"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classarmnn_1_1_output_slot.html">OutputSlot</a> >::iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a817d4be6dd88f532d36f51748ec14185">BeginOutputSlots</a> ()</td></tr> |
| 148 | <tr class="separator:a817d4be6dd88f532d36f51748ec14185"><td class="memSeparator" colspan="2"> </td></tr> |
| 149 | <tr class="memitem:a55f76d98fcd2f5cdac3e2b14536cb7ab"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classarmnn_1_1_output_slot.html">OutputSlot</a> >::iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a55f76d98fcd2f5cdac3e2b14536cb7ab">EndOutputSlots</a> ()</td></tr> |
| 150 | <tr class="separator:a55f76d98fcd2f5cdac3e2b14536cb7ab"><td class="memSeparator" colspan="2"> </td></tr> |
| 151 | <tr class="memitem:a22485f444124128940e798a42f0b76d9"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a22485f444124128940e798a42f0b76d9">IsOutputUnconnected</a> ()</td></tr> |
| 152 | <tr class="separator:a22485f444124128940e798a42f0b76d9"><td class="memSeparator" colspan="2"> </td></tr> |
| 153 | <tr class="memitem:aac329cade047e952621b59a51a5d5f49"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#aac329cade047e952621b59a51a5d5f49">ResetPriority</a> () const</td></tr> |
| 154 | <tr class="separator:aac329cade047e952621b59a51a5d5f49"><td class="memSeparator" colspan="2"> </td></tr> |
| 155 | <tr class="memitem:af97a07195a67a638605b3c325763c2dd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#a419086ecb4dc9d0f9e5d8933c87e2ea2">LayerPriority</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#af97a07195a67a638605b3c325763c2dd">GetPriority</a> () const</td></tr> |
| 156 | <tr class="separator:af97a07195a67a638605b3c325763c2dd"><td class="memSeparator" colspan="2"> </td></tr> |
| 157 | <tr class="memitem:ad8e15c530c929ab823d89ae9fd2d3f11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#ad8e15c530c929ab823d89ae9fd2d3f11">GetType</a> () const override</td></tr> |
| 158 | <tr class="memdesc:ad8e15c530c929ab823d89ae9fd2d3f11"><td class="mdescLeft"> </td><td class="mdescRight">Returns the <a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4" title="When adding a new layer, adapt also the LastLayer enum value in the enum class LayerType below.">armnn::LayerType</a> of this layer. <a href="classarmnn_1_1_layer.html#ad8e15c530c929ab823d89ae9fd2d3f11">More...</a><br /></td></tr> |
| 159 | <tr class="separator:ad8e15c530c929ab823d89ae9fd2d3f11"><td class="memSeparator" colspan="2"> </td></tr> |
| 160 | <tr class="memitem:aea909c7327109228ef618d459015def3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#aea909c7327109228ef618d459015def3">GetDataType</a> () const</td></tr> |
| 161 | <tr class="separator:aea909c7327109228ef618d459015def3"><td class="memSeparator" colspan="2"> </td></tr> |
| 162 | <tr class="memitem:afdb1d37740e7a083b625d669588b6a0e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_backend_id.html">BackendId</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#afdb1d37740e7a083b625d669588b6a0e">GetBackendId</a> () const</td></tr> |
| 163 | <tr class="separator:afdb1d37740e7a083b625d669588b6a0e"><td class="memSeparator" colspan="2"> </td></tr> |
| 164 | <tr class="memitem:a316670cb6b65902e017c32ca4bcb4b98"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a316670cb6b65902e017c32ca4bcb4b98">SetBackendId</a> (const <a class="el" href="classarmnn_1_1_backend_id.html">BackendId</a> &id) override</td></tr> |
| 165 | <tr class="memdesc:a316670cb6b65902e017c32ca4bcb4b98"><td class="mdescLeft"> </td><td class="mdescRight">Set the backend of the <a class="el" href="classarmnn_1_1_i_connectable_layer.html" title="Interface for a layer that is connectable to other layers via InputSlots and OutputSlots.">IConnectableLayer</a>. <a href="classarmnn_1_1_layer.html#a316670cb6b65902e017c32ca4bcb4b98">More...</a><br /></td></tr> |
| 166 | <tr class="separator:a316670cb6b65902e017c32ca4bcb4b98"><td class="memSeparator" colspan="2"> </td></tr> |
| 167 | <tr class="memitem:a08d1e10a45f15cd0bd02557be35a3864"><td class="memItemLeft" align="right" valign="top">virtual std::unique_ptr< <a class="el" href="classarmnn_1_1_i_workload.html">IWorkload</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a08d1e10a45f15cd0bd02557be35a3864">CreateWorkload</a> (const <a class="el" href="classarmnn_1_1_i_workload_factory.html">IWorkloadFactory</a> &factory) const =0</td></tr> |
| 168 | <tr class="separator:a08d1e10a45f15cd0bd02557be35a3864"><td class="memSeparator" colspan="2"> </td></tr> |
| 169 | <tr class="memitem:a3ff62126ec713a2708e5fbaa6146a7de"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a3ff62126ec713a2708e5fbaa6146a7de">CreateTensorHandles</a> (const <a class="el" href="classarmnn_1_1_tensor_handle_factory_registry.html">TensorHandleFactoryRegistry</a> &registry, const <a class="el" href="classarmnn_1_1_i_workload_factory.html">IWorkloadFactory</a> &factory, const bool IsMemoryManaged=true)</td></tr> |
| 170 | <tr class="separator:a3ff62126ec713a2708e5fbaa6146a7de"><td class="memSeparator" colspan="2"> </td></tr> |
| 171 | <tr class="memitem:ae89ff455503aa106d00bf34103d2f2e0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classarmnn_1_1_layer.html">Layer</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#ae89ff455503aa106d00bf34103d2f2e0">Clone</a> (<a class="el" href="classarmnn_1_1_graph.html">Graph</a> &graph) const =0</td></tr> |
| 172 | <tr class="memdesc:ae89ff455503aa106d00bf34103d2f2e0"><td class="mdescLeft"> </td><td class="mdescRight">Creates a dynamically-allocated copy of this layer. <a href="classarmnn_1_1_layer.html#ae89ff455503aa106d00bf34103d2f2e0">More...</a><br /></td></tr> |
| 173 | <tr class="separator:ae89ff455503aa106d00bf34103d2f2e0"><td class="memSeparator" colspan="2"> </td></tr> |
| 174 | <tr class="memitem:a0607e36e88f38c34c71c663164b76776"><td class="memItemLeft" align="right" valign="top">void </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> &location) const</td></tr> |
| 175 | <tr class="separator:a0607e36e88f38c34c71c663164b76776"><td class="memSeparator" colspan="2"> </td></tr> |
| 176 | <tr class="memitem:a84ff600212ba26e665de9b978ec896a4"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a84ff600212ba26e665de9b978ec896a4">ValidateTensorShapesFromInputs</a> ()=0</td></tr> |
| 177 | <tr class="separator:a84ff600212ba26e665de9b978ec896a4"><td class="memSeparator" colspan="2"> </td></tr> |
| 178 | <tr class="memitem:a65ca562c882ad619684445a1402f415a"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a65ca562c882ad619684445a1402f415a">InferOutputShapes</a> (const std::vector< <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> > &inputShapes) const override</td></tr> |
| 179 | <tr class="memdesc:a65ca562c882ad619684445a1402f415a"><td class="mdescLeft"> </td><td class="mdescRight">Infer the shape of the output(s) based on the provided input shape(s) <a href="classarmnn_1_1_layer.html#a65ca562c882ad619684445a1402f415a">More...</a><br /></td></tr> |
| 180 | <tr class="separator:a65ca562c882ad619684445a1402f415a"><td class="memSeparator" colspan="2"> </td></tr> |
| 181 | <tr class="memitem:ac04cd8de9b9185756eb02463ffd432b1"><td class="memItemLeft" align="right" valign="top">virtual void </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> &fn) const</td></tr> |
| 182 | <tr class="memdesc:ac04cd8de9b9185756eb02463ffd432b1"><td class="mdescLeft"> </td><td class="mdescRight">Helper to serialize the layer parameters to string. <a href="classarmnn_1_1_layer.html#ac04cd8de9b9185756eb02463ffd432b1">More...</a><br /></td></tr> |
| 183 | <tr class="separator:ac04cd8de9b9185756eb02463ffd432b1"><td class="memSeparator" colspan="2"> </td></tr> |
| 184 | <tr class="memitem:a339bef86bc340c3d1393ed83950fe8af"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a339bef86bc340c3d1393ed83950fe8af">ReleaseConstantData</a> ()</td></tr> |
| 185 | <tr class="separator:a339bef86bc340c3d1393ed83950fe8af"><td class="memSeparator" colspan="2"> </td></tr> |
| 186 | <tr class="memitem:a386acff5f8430245239ce58d00ba7576"><td class="memTemplParams" colspan="2">template<typename Op > </td></tr> |
| 187 | <tr class="memitem:a386acff5f8430245239ce58d00ba7576"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a386acff5f8430245239ce58d00ba7576">OperateOnConstantTensors</a> (Op op)</td></tr> |
| 188 | <tr class="separator:a386acff5f8430245239ce58d00ba7576"><td class="memSeparator" colspan="2"> </td></tr> |
| 189 | <tr class="memitem:a7ddf0cf6f620d59c10e63495ace795d0"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a7ddf0cf6f620d59c10e63495ace795d0">GetName</a> () const override</td></tr> |
| 190 | <tr class="memdesc:a7ddf0cf6f620d59c10e63495ace795d0"><td class="mdescLeft"> </td><td class="mdescRight">Returns the name of the layer. <a href="classarmnn_1_1_layer.html#a7ddf0cf6f620d59c10e63495ace795d0">More...</a><br /></td></tr> |
| 191 | <tr class="separator:a7ddf0cf6f620d59c10e63495ace795d0"><td class="memSeparator" colspan="2"> </td></tr> |
| 192 | <tr class="memitem:abc0660dc440c8a285b456c9ef6383c26"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#abc0660dc440c8a285b456c9ef6383c26">GetNumInputSlots</a> () const override</td></tr> |
| 193 | <tr class="memdesc:abc0660dc440c8a285b456c9ef6383c26"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of connectable input slots. <a href="classarmnn_1_1_layer.html#abc0660dc440c8a285b456c9ef6383c26">More...</a><br /></td></tr> |
| 194 | <tr class="separator:abc0660dc440c8a285b456c9ef6383c26"><td class="memSeparator" colspan="2"> </td></tr> |
| 195 | <tr class="memitem:a1594bddc87d6477df300317658f566bb"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a1594bddc87d6477df300317658f566bb">GetNumOutputSlots</a> () const override</td></tr> |
| 196 | <tr class="memdesc:a1594bddc87d6477df300317658f566bb"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of connectable output slots. <a href="classarmnn_1_1_layer.html#a1594bddc87d6477df300317658f566bb">More...</a><br /></td></tr> |
| 197 | <tr class="separator:a1594bddc87d6477df300317658f566bb"><td class="memSeparator" colspan="2"> </td></tr> |
| 198 | <tr class="memitem:acf8b8e23bf647836592982f97088d375"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_input_slot.html">InputSlot</a> & </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> |
| 199 | <tr class="memdesc:acf8b8e23bf647836592982f97088d375"><td class="mdescLeft"> </td><td class="mdescRight">Get a const input slot handle by slot index. <a href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">More...</a><br /></td></tr> |
| 200 | <tr class="separator:acf8b8e23bf647836592982f97088d375"><td class="memSeparator" colspan="2"> </td></tr> |
| 201 | <tr class="memitem:a1b50eb1358cdf382f4bc3fc8849f8e8e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_input_slot.html">InputSlot</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a1b50eb1358cdf382f4bc3fc8849f8e8e">GetInputSlot</a> (unsigned int index) override</td></tr> |
| 202 | <tr class="memdesc:a1b50eb1358cdf382f4bc3fc8849f8e8e"><td class="mdescLeft"> </td><td class="mdescRight">Get the input slot handle by slot index. <a href="classarmnn_1_1_layer.html#a1b50eb1358cdf382f4bc3fc8849f8e8e">More...</a><br /></td></tr> |
| 203 | <tr class="separator:a1b50eb1358cdf382f4bc3fc8849f8e8e"><td class="memSeparator" colspan="2"> </td></tr> |
| 204 | <tr class="memitem:a0e36688a43c35668d8db5257274c68fe"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_output_slot.html">OutputSlot</a> & </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> |
| 205 | <tr class="memdesc:a0e36688a43c35668d8db5257274c68fe"><td class="mdescLeft"> </td><td class="mdescRight">Get the const output slot handle by slot index. <a href="classarmnn_1_1_layer.html#a0e36688a43c35668d8db5257274c68fe">More...</a><br /></td></tr> |
| 206 | <tr class="separator:a0e36688a43c35668d8db5257274c68fe"><td class="memSeparator" colspan="2"> </td></tr> |
| 207 | <tr class="memitem:abbd71844785bb2f00a81baca30ea5ff0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_output_slot.html">OutputSlot</a> & </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> |
| 208 | <tr class="memdesc:abbd71844785bb2f00a81baca30ea5ff0"><td class="mdescLeft"> </td><td class="mdescRight">Get the output slot handle by slot index. <a href="classarmnn_1_1_layer.html#abbd71844785bb2f00a81baca30ea5ff0">More...</a><br /></td></tr> |
| 209 | <tr class="separator:abbd71844785bb2f00a81baca30ea5ff0"><td class="memSeparator" colspan="2"> </td></tr> |
| 210 | <tr class="memitem:a6d1024208b672a87ef2c1bfaf93d2b9f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a6d1024208b672a87ef2c1bfaf93d2b9f">SetGuid</a> (<a class="el" href="_types_8hpp.html#af22094b802160f09f7c89ad9eee10084">LayerGuid</a> guid)</td></tr> |
| 211 | <tr class="separator:a6d1024208b672a87ef2c1bfaf93d2b9f"><td class="memSeparator" colspan="2"> </td></tr> |
| 212 | <tr class="memitem:a8dc12f0ee5b232d397bd18ced1a72a64"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_types_8hpp.html#af22094b802160f09f7c89ad9eee10084">LayerGuid</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a8dc12f0ee5b232d397bd18ced1a72a64">GetGuid</a> () const final</td></tr> |
| 213 | <tr class="memdesc:a8dc12f0ee5b232d397bd18ced1a72a64"><td class="mdescLeft"> </td><td class="mdescRight">Returns the unique id of the layer. <a href="classarmnn_1_1_layer.html#a8dc12f0ee5b232d397bd18ced1a72a64">More...</a><br /></td></tr> |
| 214 | <tr class="separator:a8dc12f0ee5b232d397bd18ced1a72a64"><td class="memSeparator" colspan="2"> </td></tr> |
| 215 | <tr class="memitem:a339248d89d5e21534ecf74b4393ed4d2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a339248d89d5e21534ecf74b4393ed4d2">AddRelatedLayerName</a> (const std::string layerName)</td></tr> |
| 216 | <tr class="separator:a339248d89d5e21534ecf74b4393ed4d2"><td class="memSeparator" colspan="2"> </td></tr> |
| 217 | <tr class="memitem:a5e5520194ea4042fe07b0bf53c28f634"><td class="memItemLeft" align="right" valign="top">const std::list< std::string > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a5e5520194ea4042fe07b0bf53c28f634">GetRelatedLayerNames</a> ()</td></tr> |
| 218 | <tr class="separator:a5e5520194ea4042fe07b0bf53c28f634"><td class="memSeparator" colspan="2"> </td></tr> |
| 219 | <tr class="memitem:ae68bb844446f28cf8580ecbe2f516ff6"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#ae68bb844446f28cf8580ecbe2f516ff6">Reparent</a> (<a class="el" href="classarmnn_1_1_graph.html">Graph</a> &dest, std::list< <a class="el" href="classarmnn_1_1_layer.html">Layer</a> * >::const_iterator iterator)=0</td></tr> |
| 220 | <tr class="separator:ae68bb844446f28cf8580ecbe2f516ff6"><td class="memSeparator" colspan="2"> </td></tr> |
| 221 | <tr class="memitem:a43a46eafee5c08787ab17b4342730c20"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a43a46eafee5c08787ab17b4342730c20">BackendSelectionHint</a> (<a class="el" href="classarmnn_1_1_optional.html">Optional</a>< <a class="el" href="classarmnn_1_1_backend_id.html">BackendId</a> > backend) final</td></tr> |
| 222 | <tr class="memdesc:a43a46eafee5c08787ab17b4342730c20"><td class="mdescLeft"> </td><td class="mdescRight">Provide a hint for the optimizer as to which backend to prefer for this layer. <a href="classarmnn_1_1_layer.html#a43a46eafee5c08787ab17b4342730c20">More...</a><br /></td></tr> |
| 223 | <tr class="separator:a43a46eafee5c08787ab17b4342730c20"><td class="memSeparator" colspan="2"> </td></tr> |
| 224 | <tr class="memitem:a6ff80e440308295056b57e2adaa42888"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>< <a class="el" href="classarmnn_1_1_backend_id.html">BackendId</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a6ff80e440308295056b57e2adaa42888">GetBackendHint</a> () const</td></tr> |
| 225 | <tr class="separator:a6ff80e440308295056b57e2adaa42888"><td class="memSeparator" colspan="2"> </td></tr> |
| 226 | <tr class="memitem:a429abdfa769f4d48268938dcaea00904"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a429abdfa769f4d48268938dcaea00904">SetShapeInferenceMethod</a> (<a class="el" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9">ShapeInferenceMethod</a> shapeInferenceMethod)</td></tr> |
| 227 | <tr class="separator:a429abdfa769f4d48268938dcaea00904"><td class="memSeparator" colspan="2"> </td></tr> |
| 228 | <tr class="memitem:a328c9cf1c3abf2febcce4801ba706541"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a328c9cf1c3abf2febcce4801ba706541">SetAllowExpandedDims</a> (bool allowExpandedDims)</td></tr> |
| 229 | <tr class="separator:a328c9cf1c3abf2febcce4801ba706541"><td class="memSeparator" colspan="2"> </td></tr> |
| 230 | <tr class="memitem:aefb14147290b6b928c5fc924ba035acc"><td class="memTemplParams" colspan="2">template<typename T > </td></tr> |
| 231 | <tr class="memitem:aefb14147290b6b928c5fc924ba035acc"><td class="memTemplItemLeft" align="right" valign="top">std::shared_ptr< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#aefb14147290b6b928c5fc924ba035acc">GetAdditionalInformation</a> () const</td></tr> |
| 232 | <tr class="separator:aefb14147290b6b928c5fc924ba035acc"><td class="memSeparator" colspan="2"> </td></tr> |
| 233 | <tr class="memitem:aea1c8483ebeabc0dcbd9090b4f648f1d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#aea1c8483ebeabc0dcbd9090b4f648f1d">SetAdditionalInfoForObject</a> (const <a class="el" href="namespacearmnn.html#a2a5caf3721af872f43c7642fec9449bc">AdditionalInfoObjectPtr</a> &additionalInfo)</td></tr> |
| 234 | <tr class="separator:aea1c8483ebeabc0dcbd9090b4f648f1d"><td class="memSeparator" colspan="2"> </td></tr> |
| 235 | <tr class="memitem:a94a487f29157eeec10e2f9a372487bcc"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="structarmnn_1_1_base_descriptor.html">BaseDescriptor</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a94a487f29157eeec10e2f9a372487bcc">GetParameters</a> () const override</td></tr> |
| 236 | <tr class="memdesc:a94a487f29157eeec10e2f9a372487bcc"><td class="mdescLeft"> </td><td class="mdescRight">If the layer has a descriptor return it. <a href="classarmnn_1_1_layer.html#a94a487f29157eeec10e2f9a372487bcc">More...</a><br /></td></tr> |
| 237 | <tr class="separator:a94a487f29157eeec10e2f9a372487bcc"><td class="memSeparator" colspan="2"> </td></tr> |
| 238 | </table><table class="memberdecls"> |
| 239 | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a> |
| 240 | Protected Member Functions</h2></td></tr> |
| 241 | <tr class="memitem:aacfb208d750bdfce1bbd423e5cac76e2"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#aacfb208d750bdfce1bbd423e5cac76e2">~Layer</a> ()=default</td></tr> |
| 242 | <tr class="separator:aacfb208d750bdfce1bbd423e5cac76e2"><td class="memSeparator" colspan="2"> </td></tr> |
| 243 | <tr class="memitem:afc3239f5fc116259bf5451964e803646"><td class="memTemplParams" colspan="2">template<typename QueueDescriptor > </td></tr> |
| 244 | <tr class="memitem:afc3239f5fc116259bf5451964e803646"><td class="memTemplItemLeft" align="right" valign="top">void </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> &descriptor, <a class="el" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a> &info) const</td></tr> |
| 245 | <tr class="separator:afc3239f5fc116259bf5451964e803646"><td class="memSeparator" colspan="2"> </td></tr> |
| 246 | <tr class="memitem:a499ca5a94d0174ed21786b6994b2cd8c"><td class="memTemplParams" colspan="2">template<typename QueueDescriptor > </td></tr> |
| 247 | <tr class="memitem:a499ca5a94d0174ed21786b6994b2cd8c"><td class="memTemplItemLeft" align="right" valign="top">void </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> &descriptor, <a class="el" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a> &info) const</td></tr> |
| 248 | <tr class="separator:a499ca5a94d0174ed21786b6994b2cd8c"><td class="memSeparator" colspan="2"> </td></tr> |
| 249 | <tr class="memitem:aeb2d638cc0e02c10075e015100996f2d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#aeb2d638cc0e02c10075e015100996f2d">ValidateAndCopyShape</a> (const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &outputShape, const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &inferredShape, const <a class="el" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9">ShapeInferenceMethod</a> shapeInferenceMethod, const std::string &layerName, const unsigned int outputSlotIndex=0)</td></tr> |
| 250 | <tr class="separator:aeb2d638cc0e02c10075e015100996f2d"><td class="memSeparator" colspan="2"> </td></tr> |
| 251 | <tr class="memitem:a448afc716fda85394df1e8e5b7d530e8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a448afc716fda85394df1e8e5b7d530e8">VerifyShapeInferenceType</a> (const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &outputShape, <a class="el" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9">ShapeInferenceMethod</a> shapeInferenceMethod)</td></tr> |
| 252 | <tr class="separator:a448afc716fda85394df1e8e5b7d530e8"><td class="memSeparator" colspan="2"> </td></tr> |
| 253 | <tr class="memitem:a30a858b2b26d651a066537e499fbf40d"><td class="memTemplParams" colspan="2">template<typename QueueDescriptor > </td></tr> |
| 254 | <tr class="memitem:a30a858b2b26d651a066537e499fbf40d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a> </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> &descriptor) const</td></tr> |
| 255 | <tr class="memdesc:a30a858b2b26d651a066537e499fbf40d"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to reduce duplication in *Layer::CreateWorkload. <a href="classarmnn_1_1_layer.html#a30a858b2b26d651a066537e499fbf40d">More...</a><br /></td></tr> |
| 256 | <tr class="separator:a30a858b2b26d651a066537e499fbf40d"><td class="memSeparator" colspan="2"> </td></tr> |
| 257 | <tr class="memitem:aa10fd205c3f5469a9ecb2aa2a3ffd101"><td class="memTemplParams" colspan="2">template<typename LayerType , typename ... Params> </td></tr> |
| 258 | <tr class="memitem:aa10fd205c3f5469a9ecb2aa2a3ffd101"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a> * </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> &graph, Params &&... params) const</td></tr> |
| 259 | <tr class="separator:aa10fd205c3f5469a9ecb2aa2a3ffd101"><td class="memSeparator" colspan="2"> </td></tr> |
| 260 | <tr class="memitem:a9114de666bc2d910faa846b04fc26974"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classarmnn_1_1_i_connectable_layer.html#af978f897fb7e115a901cb7ed95f8e532">ConstantTensors</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a9114de666bc2d910faa846b04fc26974">GetConstantTensorsByRef</a> () override final</td></tr> |
| 261 | <tr class="separator:a9114de666bc2d910faa846b04fc26974"><td class="memSeparator" colspan="2"> </td></tr> |
| 262 | <tr class="memitem:a45544992c89527fa4d51498a91401640"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classarmnn_1_1_i_connectable_layer.html#aba5c20cadbebd2e7ba67e20a47e31472">ImmutableConstantTensors</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#a45544992c89527fa4d51498a91401640">GetConstantTensorsByRef</a> () const override</td></tr> |
| 263 | <tr class="separator:a45544992c89527fa4d51498a91401640"><td class="memSeparator" colspan="2"> </td></tr> |
| 264 | <tr class="memitem:af7f0460d32511de0da525f1817d13e8c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#af7f0460d32511de0da525f1817d13e8c">SetAdditionalInfo</a> (<a class="el" href="structarmnn_1_1_queue_descriptor.html">QueueDescriptor</a> &descriptor) const</td></tr> |
| 265 | <tr class="separator:af7f0460d32511de0da525f1817d13e8c"><td class="memSeparator" colspan="2"> </td></tr> |
| 266 | <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="-"/> Protected Member Functions inherited from <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a></td></tr> |
| 267 | <tr class="memitem:a8c7faf37c1d965431aaa02ae934d67ee inherit pro_methods_classarmnn_1_1_i_connectable_layer"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#a8c7faf37c1d965431aaa02ae934d67ee">~IConnectableLayer</a> ()</td></tr> |
| 268 | <tr class="memdesc:a8c7faf37c1d965431aaa02ae934d67ee inherit pro_methods_classarmnn_1_1_i_connectable_layer"><td class="mdescLeft"> </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> |
| 269 | <tr class="separator:a8c7faf37c1d965431aaa02ae934d67ee inherit pro_methods_classarmnn_1_1_i_connectable_layer"><td class="memSeparator" colspan="2"> </td></tr> |
| 270 | </table><table class="memberdecls"> |
| 271 | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a> |
| 272 | Protected Attributes</h2></td></tr> |
| 273 | <tr class="memitem:ac7170f79bd0eadb1b6153e359c023cc0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#a2a5caf3721af872f43c7642fec9449bc">AdditionalInfoObjectPtr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#ac7170f79bd0eadb1b6153e359c023cc0">m_AdditionalInfoObject</a></td></tr> |
| 274 | <tr class="separator:ac7170f79bd0eadb1b6153e359c023cc0"><td class="memSeparator" colspan="2"> </td></tr> |
| 275 | <tr class="memitem:aa44d91037bba52ba0dec6577509ade3b"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classarmnn_1_1_output_handler.html">OutputHandler</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#aa44d91037bba52ba0dec6577509ade3b">m_OutputHandlers</a></td></tr> |
| 276 | <tr class="separator:aa44d91037bba52ba0dec6577509ade3b"><td class="memSeparator" colspan="2"> </td></tr> |
| 277 | <tr class="memitem:afe508761cc8318b15329ba4acf7fbfec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9">ShapeInferenceMethod</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#afe508761cc8318b15329ba4acf7fbfec">m_ShapeInferenceMethod</a></td></tr> |
| 278 | <tr class="separator:afe508761cc8318b15329ba4acf7fbfec"><td class="memSeparator" colspan="2"> </td></tr> |
| 279 | </table><table class="memberdecls"> |
| 280 | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a> |
| 281 | Friends</h2></td></tr> |
| 282 | <tr class="memitem:afab89afd724f1b07b1aaad6bdc61c47a"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer.html#afab89afd724f1b07b1aaad6bdc61c47a">Graph</a></td></tr> |
| 283 | <tr class="separator:afab89afd724f1b07b1aaad6bdc61c47a"><td class="memSeparator" colspan="2"> </td></tr> |
| 284 | </table><table class="memberdecls"> |
| 285 | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a> |
| 286 | Additional Inherited Members</h2></td></tr> |
| 287 | <tr class="inherit_header pub_types_classarmnn_1_1_i_connectable_layer"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classarmnn_1_1_i_connectable_layer')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a></td></tr> |
| 288 | <tr class="memitem:af978f897fb7e115a901cb7ed95f8e532 inherit pub_types_classarmnn_1_1_i_connectable_layer"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#af978f897fb7e115a901cb7ed95f8e532">ConstantTensors</a> = std::vector< std::reference_wrapper< std::shared_ptr< <a class="el" href="classarmnn_1_1_const_tensor_handle.html">ConstTensorHandle</a> > >></td></tr> |
| 289 | <tr class="separator:af978f897fb7e115a901cb7ed95f8e532 inherit pub_types_classarmnn_1_1_i_connectable_layer"><td class="memSeparator" colspan="2"> </td></tr> |
| 290 | <tr class="memitem:aba5c20cadbebd2e7ba67e20a47e31472 inherit pub_types_classarmnn_1_1_i_connectable_layer"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#aba5c20cadbebd2e7ba67e20a47e31472">ImmutableConstantTensors</a> = std::vector< std::reference_wrapper< const std::shared_ptr< <a class="el" href="classarmnn_1_1_const_tensor_handle.html">ConstTensorHandle</a> > >></td></tr> |
| 291 | <tr class="separator:aba5c20cadbebd2e7ba67e20a47e31472 inherit pub_types_classarmnn_1_1_i_connectable_layer"><td class="memSeparator" colspan="2"> </td></tr> |
| 292 | </table> |
| 293 | <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| 294 | <div class="textblock"> |
| 295 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00230">230</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 296 | </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> |
| 297 | <a id="a5e5ae420d199a0bccae5139d38c30205"></a> |
| 298 | <h2 class="memtitle"><span class="permalink"><a href="#a5e5ae420d199a0bccae5139d38c30205">◆ </a></span>Layer() <span class="overload">[1/2]</span></h2> |
| 299 | |
| 300 | <div class="memitem"> |
| 301 | <div class="memproto"> |
| 302 | <table class="memname"> |
| 303 | <tr> |
| 304 | <td class="memname"><a class="el" href="classarmnn_1_1_layer.html">Layer</a> </td> |
| 305 | <td>(</td> |
| 306 | <td class="paramtype">unsigned int </td> |
| 307 | <td class="paramname"><em>numInputSlots</em>, </td> |
| 308 | </tr> |
| 309 | <tr> |
| 310 | <td class="paramkey"></td> |
| 311 | <td></td> |
| 312 | <td class="paramtype">unsigned int </td> |
| 313 | <td class="paramname"><em>numOutputSlots</em>, </td> |
| 314 | </tr> |
| 315 | <tr> |
| 316 | <td class="paramkey"></td> |
| 317 | <td></td> |
| 318 | <td class="paramtype"><a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a> </td> |
| 319 | <td class="paramname"><em>type</em>, </td> |
| 320 | </tr> |
| 321 | <tr> |
| 322 | <td class="paramkey"></td> |
| 323 | <td></td> |
| 324 | <td class="paramtype">const char * </td> |
| 325 | <td class="paramname"><em>name</em> </td> |
| 326 | </tr> |
| 327 | <tr> |
| 328 | <td></td> |
| 329 | <td>)</td> |
| 330 | <td></td><td></td> |
| 331 | </tr> |
| 332 | </table> |
| 333 | </div><div class="memdoc"> |
| 334 | <dl class="params"><dt>Parameters</dt><dd> |
| 335 | <table class="params"> |
| 336 | <tr><td class="paramname">name</td><td>- <a class="el" href="classarmnn_1_1_optional.html">Optional</a> name for the layer (may be nullptr). </td></tr> |
| 337 | </table> |
| 338 | </dd> |
| 339 | </dl> |
| 340 | |
| 341 | <p class="definition">Definition at line <a class="el" href="_layer_8cpp_source.html#l00260">260</a> of file <a class="el" href="_layer_8cpp_source.html">Layer.cpp</a>.</p> |
| 342 | <div class="fragment"><div class="line"><a name="l00264"></a><span class="lineno"> 264</span> : <a class="code" href="classarmnn_1_1_layer.html#a5e5ae420d199a0bccae5139d38c30205">Layer</a>(numInputSlots, numOutputSlots, type, <a class="code" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a>, name)</div> |
| 343 | <div class="line"><a name="l00265"></a><span class="lineno"> 265</span> {</div> |
| 344 | <div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div> |
| 345 | </div><!-- fragment --> |
| 346 | <p class="reference">References <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::NCHW</a>.</p> |
| 347 | |
| 348 | </div> |
| 349 | </div> |
| 350 | <a id="a395d070748c18d903705799360088e80"></a> |
| 351 | <h2 class="memtitle"><span class="permalink"><a href="#a395d070748c18d903705799360088e80">◆ </a></span>Layer() <span class="overload">[2/2]</span></h2> |
| 352 | |
| 353 | <div class="memitem"> |
| 354 | <div class="memproto"> |
| 355 | <table class="memname"> |
| 356 | <tr> |
| 357 | <td class="memname"><a class="el" href="classarmnn_1_1_layer.html">Layer</a> </td> |
| 358 | <td>(</td> |
| 359 | <td class="paramtype">unsigned int </td> |
| 360 | <td class="paramname"><em>numInputSlots</em>, </td> |
| 361 | </tr> |
| 362 | <tr> |
| 363 | <td class="paramkey"></td> |
| 364 | <td></td> |
| 365 | <td class="paramtype">unsigned int </td> |
| 366 | <td class="paramname"><em>numOutputSlots</em>, </td> |
| 367 | </tr> |
| 368 | <tr> |
| 369 | <td class="paramkey"></td> |
| 370 | <td></td> |
| 371 | <td class="paramtype"><a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a> </td> |
| 372 | <td class="paramname"><em>type</em>, </td> |
| 373 | </tr> |
| 374 | <tr> |
| 375 | <td class="paramkey"></td> |
| 376 | <td></td> |
| 377 | <td class="paramtype"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> </td> |
| 378 | <td class="paramname"><em>layout</em>, </td> |
| 379 | </tr> |
| 380 | <tr> |
| 381 | <td class="paramkey"></td> |
| 382 | <td></td> |
| 383 | <td class="paramtype">const char * </td> |
| 384 | <td class="paramname"><em>name</em> </td> |
| 385 | </tr> |
| 386 | <tr> |
| 387 | <td></td> |
| 388 | <td>)</td> |
| 389 | <td></td><td></td> |
| 390 | </tr> |
| 391 | </table> |
| 392 | </div><div class="memdoc"> |
| 393 | |
| 394 | <p class="definition">Definition at line <a class="el" href="_layer_8cpp_source.html#l00233">233</a> of file <a class="el" href="_layer_8cpp_source.html">Layer.cpp</a>.</p> |
| 395 | <div class="fragment"><div class="line"><a name="l00238"></a><span class="lineno"> 238</span> : <a class="code" href="classarmnn_1_1_layer.html#aa44d91037bba52ba0dec6577509ade3b">m_OutputHandlers</a>(numOutputSlots)</div> |
| 396 | <div class="line"><a name="l00239"></a><span class="lineno"> 239</span> , <a class="code" href="classarmnn_1_1_layer.html#afe508761cc8318b15329ba4acf7fbfec">m_ShapeInferenceMethod</a>(<a class="code" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9af6486a22a9bb11959bfae60a3e5174b1">ShapeInferenceMethod::ValidateOnly</a>)</div> |
| 397 | <div class="line"><a name="l00240"></a><span class="lineno"> 240</span> , m_LayerName(name ? name : <span class="stringliteral">""</span>)</div> |
| 398 | <div class="line"><a name="l00241"></a><span class="lineno"> 241</span> , m_Type(type)</div> |
| 399 | <div class="line"><a name="l00242"></a><span class="lineno"> 242</span> , m_BackendId()</div> |
| 400 | <div class="line"><a name="l00243"></a><span class="lineno"> 243</span> , m_BackendHint(EmptyOptional())</div> |
| 401 | <div class="line"><a name="l00244"></a><span class="lineno"> 244</span> , m_Guid(arm::pipe::IProfilingService::GetNextGuid())</div> |
| 402 | <div class="line"><a name="l00245"></a><span class="lineno"> 245</span> {</div> |
| 403 | <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <a class="code" href="namespacearmnn.html#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(layout);</div> |
| 404 | <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  m_InputSlots.reserve(numInputSlots);</div> |
| 405 | <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < numInputSlots; ++i)</div> |
| 406 | <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  {</div> |
| 407 | <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  m_InputSlots.emplace_back(*<span class="keyword">this</span>, i);</div> |
| 408 | <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  }</div> |
| 409 | <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  </div> |
| 410 | <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  m_OutputSlots.reserve(numOutputSlots);</div> |
| 411 | <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < numOutputSlots; ++i)</div> |
| 412 | <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  {</div> |
| 413 | <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  m_OutputSlots.emplace_back(*<span class="keyword">this</span>, <a class="code" href="classarmnn_1_1_layer.html#aa44d91037bba52ba0dec6577509ade3b">m_OutputHandlers</a>[i]);</div> |
| 414 | <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  }</div> |
| 415 | <div class="line"><a name="l00258"></a><span class="lineno"> 258</span> }</div> |
| 416 | </div><!-- fragment --> |
| 417 | <p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.html#l00014">armnn::IgnoreUnused()</a>, <a class="el" href="_layer_8hpp_source.html#l00440">Layer::m_OutputHandlers</a>, and <a class="el" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9af6486a22a9bb11959bfae60a3e5174b1">armnn::ValidateOnly</a>.</p> |
| 418 | |
| 419 | </div> |
| 420 | </div> |
| 421 | <a id="aacfb208d750bdfce1bbd423e5cac76e2"></a> |
| 422 | <h2 class="memtitle"><span class="permalink"><a href="#aacfb208d750bdfce1bbd423e5cac76e2">◆ </a></span>~Layer()</h2> |
| 423 | |
| 424 | <div class="memitem"> |
| 425 | <div class="memproto"> |
| 426 | <table class="mlabels"> |
| 427 | <tr> |
| 428 | <td class="mlabels-left"> |
| 429 | <table class="memname"> |
| 430 | <tr> |
| 431 | <td class="memname">virtual ~<a class="el" href="classarmnn_1_1_layer.html">Layer</a> </td> |
| 432 | <td>(</td> |
| 433 | <td class="paramname"></td><td>)</td> |
| 434 | <td></td> |
| 435 | </tr> |
| 436 | </table> |
| 437 | </td> |
| 438 | <td class="mlabels-right"> |
| 439 | <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">default</span></span> </td> |
| 440 | </tr> |
| 441 | </table> |
| 442 | </div><div class="memdoc"> |
| 443 | |
| 444 | </div> |
| 445 | </div> |
| 446 | <h2 class="groupheader">Member Function Documentation</h2> |
| 447 | <a id="a339248d89d5e21534ecf74b4393ed4d2"></a> |
| 448 | <h2 class="memtitle"><span class="permalink"><a href="#a339248d89d5e21534ecf74b4393ed4d2">◆ </a></span>AddRelatedLayerName()</h2> |
| 449 | |
| 450 | <div class="memitem"> |
| 451 | <div class="memproto"> |
| 452 | <table class="mlabels"> |
| 453 | <tr> |
| 454 | <td class="mlabels-left"> |
| 455 | <table class="memname"> |
| 456 | <tr> |
| 457 | <td class="memname">void AddRelatedLayerName </td> |
| 458 | <td>(</td> |
| 459 | <td class="paramtype">const std::string </td> |
| 460 | <td class="paramname"><em>layerName</em></td><td>)</td> |
| 461 | <td></td> |
| 462 | </tr> |
| 463 | </table> |
| 464 | </td> |
| 465 | <td class="mlabels-right"> |
| 466 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 467 | </tr> |
| 468 | </table> |
| 469 | </div><div class="memdoc"> |
| 470 | |
| 471 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00345">345</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 472 | <div class="fragment"><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> { m_RelatedLayerNames.emplace_back(layerName); }</div> |
| 473 | </div><!-- fragment --> |
| 474 | </div> |
| 475 | </div> |
| 476 | <a id="a43a46eafee5c08787ab17b4342730c20"></a> |
| 477 | <h2 class="memtitle"><span class="permalink"><a href="#a43a46eafee5c08787ab17b4342730c20">◆ </a></span>BackendSelectionHint()</h2> |
| 478 | |
| 479 | <div class="memitem"> |
| 480 | <div class="memproto"> |
| 481 | <table class="mlabels"> |
| 482 | <tr> |
| 483 | <td class="mlabels-left"> |
| 484 | <table class="memname"> |
| 485 | <tr> |
| 486 | <td class="memname">void BackendSelectionHint </td> |
| 487 | <td>(</td> |
| 488 | <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>< <a class="el" href="classarmnn_1_1_backend_id.html">BackendId</a> > </td> |
| 489 | <td class="paramname"><em>backend</em></td><td>)</td> |
| 490 | <td></td> |
| 491 | </tr> |
| 492 | </table> |
| 493 | </td> |
| 494 | <td class="mlabels-right"> |
| 495 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">final</span><span class="mlabel">virtual</span></span> </td> |
| 496 | </tr> |
| 497 | </table> |
| 498 | </div><div class="memdoc"> |
| 499 | |
| 500 | <p>Provide a hint for the optimizer as to which backend to prefer for this layer. </p> |
| 501 | <p>By providing a BackendSelectionHint there is no guarantee the input backend supports that layer. If <a class="el" href="namespacearmnn.html#a138ca3929b888fa8d9088c076e9de48c">IsLayerSupported()</a> returns false with the backend hint, we default to calling <a class="el" href="namespacearmnn.html#a138ca3929b888fa8d9088c076e9de48c">IsLayerSupported()</a> on the BackendPreferences vector. Use <a class="el" href="classarmnn_1_1_layer.html#a316670cb6b65902e017c32ca4bcb4b98" title="Set the backend of the IConnectableLayer.">SetBackendId()</a> if we can guarantee a backend supports that layer (IsLayerSupported returns true for a specific backend). </p> |
| 502 | |
| 503 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a833170f92e96b3ef414b6cf6e5720d2b">IConnectableLayer</a>.</p> |
| 504 | |
| 505 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00351">351</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 506 | <div class="fragment"><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  {</div> |
| 507 | <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  m_BackendHint = backend;</div> |
| 508 | <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  }</div> |
| 509 | </div><!-- fragment --> |
| 510 | </div> |
| 511 | </div> |
| 512 | <a id="af6cb8de21ef0da269ec9b67755ae92a0"></a> |
| 513 | <h2 class="memtitle"><span class="permalink"><a href="#af6cb8de21ef0da269ec9b67755ae92a0">◆ </a></span>BeginInputSlots()</h2> |
| 514 | |
| 515 | <div class="memitem"> |
| 516 | <div class="memproto"> |
| 517 | <table class="mlabels"> |
| 518 | <tr> |
| 519 | <td class="mlabels-left"> |
| 520 | <table class="memname"> |
| 521 | <tr> |
| 522 | <td class="memname">std::vector<<a class="el" href="classarmnn_1_1_input_slot.html">InputSlot</a>>::iterator BeginInputSlots </td> |
| 523 | <td>(</td> |
| 524 | <td class="paramname"></td><td>)</td> |
| 525 | <td></td> |
| 526 | </tr> |
| 527 | </table> |
| 528 | </td> |
| 529 | <td class="mlabels-right"> |
| 530 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 531 | </tr> |
| 532 | </table> |
| 533 | </div><div class="memdoc"> |
| 534 | |
| 535 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00262">262</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 536 | <div class="fragment"><div class="line"><a name="l00262"></a><span class="lineno"> 262</span> { <span class="keywordflow">return</span> m_InputSlots.begin(); }</div> |
| 537 | </div><!-- fragment --> |
| 538 | <p class="reference">Referenced by <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00042">armnn::CreateInputsFrom()</a>, <a class="el" href="_common_test_utils_8cpp_source.html#l00012">CreateInputsFrom()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00040">armnn::InsertConvertFp16ToFp32LayersBefore()</a>, <a class="el" href="_convert_fp32_network_to_fp16_8hpp_source.html#l00018">ConvertFp32NetworkToFp16Impl::Run()</a>, <a class="el" href="_move_permute_up_8hpp_source.html#l00023">MovePermuteUpImpl::Run()</a>, and <a class="el" href="_move_transpose_up_8hpp_source.html#l00023">MoveTransposeUpImpl::Run()</a>.</p> |
| 539 | |
| 540 | </div> |
| 541 | </div> |
| 542 | <a id="a817d4be6dd88f532d36f51748ec14185"></a> |
| 543 | <h2 class="memtitle"><span class="permalink"><a href="#a817d4be6dd88f532d36f51748ec14185">◆ </a></span>BeginOutputSlots()</h2> |
| 544 | |
| 545 | <div class="memitem"> |
| 546 | <div class="memproto"> |
| 547 | <table class="mlabels"> |
| 548 | <tr> |
| 549 | <td class="mlabels-left"> |
| 550 | <table class="memname"> |
| 551 | <tr> |
| 552 | <td class="memname">std::vector<<a class="el" href="classarmnn_1_1_output_slot.html">OutputSlot</a>>::iterator BeginOutputSlots </td> |
| 553 | <td>(</td> |
| 554 | <td class="paramname"></td><td>)</td> |
| 555 | <td></td> |
| 556 | </tr> |
| 557 | </table> |
| 558 | </td> |
| 559 | <td class="mlabels-right"> |
| 560 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 561 | </tr> |
| 562 | </table> |
| 563 | </div><div class="memdoc"> |
| 564 | |
| 565 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00266">266</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 566 | <div class="fragment"><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> { <span class="keywordflow">return</span> m_OutputSlots.begin(); }</div> |
| 567 | </div><!-- fragment --> |
| 568 | <p class="reference">Referenced by <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00052">armnn::CreateOutputsFrom()</a>, <a class="el" href="_graph_8cpp_source.html#l00027">Graph::Graph()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00112">armnn::InsertDebugLayerAfter()</a>, <a class="el" href="_neon_backend_8cpp_source.html#l00144">NeonBackend::OptimizeSubgraphView()</a>, <a class="el" href="_cl_backend_8cpp_source.html#l00292">ClBackend::OptimizeSubgraphView()</a>, <a class="el" href="_convert_fp32_network_to_fp16_8hpp_source.html#l00018">ConvertFp32NetworkToFp16Impl::Run()</a>, <a class="el" href="_squash_equal_siblings_8hpp_source.html#l00025">SquashEqualSiblingsImpl< Comparable >::Run()</a>, and <a class="el" href="_splitter_layer_8cpp_source.html#l00205">SplitterLayer::ValidateTensorShapesFromInputs()</a>.</p> |
| 569 | |
| 570 | </div> |
| 571 | </div> |
| 572 | <a id="ae89ff455503aa106d00bf34103d2f2e0"></a> |
| 573 | <h2 class="memtitle"><span class="permalink"><a href="#ae89ff455503aa106d00bf34103d2f2e0">◆ </a></span>Clone()</h2> |
| 574 | |
| 575 | <div class="memitem"> |
| 576 | <div class="memproto"> |
| 577 | <table class="mlabels"> |
| 578 | <tr> |
| 579 | <td class="mlabels-left"> |
| 580 | <table class="memname"> |
| 581 | <tr> |
| 582 | <td class="memname">virtual <a class="el" href="classarmnn_1_1_layer.html">Layer</a>* Clone </td> |
| 583 | <td>(</td> |
| 584 | <td class="paramtype"><a class="el" href="classarmnn_1_1_graph.html">Graph</a> & </td> |
| 585 | <td class="paramname"><em>graph</em></td><td>)</td> |
| 586 | <td> const</td> |
| 587 | </tr> |
| 588 | </table> |
| 589 | </td> |
| 590 | <td class="mlabels-right"> |
| 591 | <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> |
| 592 | </tr> |
| 593 | </table> |
| 594 | </div><div class="memdoc"> |
| 595 | |
| 596 | <p>Creates a dynamically-allocated copy of this layer. </p> |
| 597 | <dl class="params"><dt>Parameters</dt><dd> |
| 598 | <table class="params"> |
| 599 | <tr><td class="paramname">graph</td><td>- The <a class="el" href="classarmnn_1_1_graph.html">Graph</a> into which this <a class="el" href="classarmnn_1_1_layer.html">Layer</a> is being cloned. </td></tr> |
| 600 | </table> |
| 601 | </dd> |
| 602 | </dl> |
| 603 | |
| 604 | <p>Implemented in <a class="el" href="classarmnn_1_1_q_lstm_layer.html#ac1c16df49489aead2241b460f103f454">QLstmLayer</a>, <a class="el" href="classarmnn_1_1_quantized_lstm_layer.html#a08edea9423b6da5da174ce5269f6e28b">QuantizedLstmLayer</a>, <a class="el" href="classarmnn_1_1_output_layer.html#a4589aa51155f0836bee3c3ed85f47082">OutputLayer</a>, <a class="el" href="classarmnn_1_1_batch_normalization_layer.html#a0a42b443052ed2114f9b8d8eac8bd7fd">BatchNormalizationLayer</a>, <a class="el" href="classarmnn_1_1_concat_layer.html#aabac24cc08de52926e6bed5ffdc48dd8">ConcatLayer</a>, <a class="el" href="classarmnn_1_1_lstm_layer.html#ac6b352652fb2f722e56f5fd62c57ae09">LstmLayer</a>, <a class="el" href="classarmnn_1_1_unidirectional_sequence_lstm_layer.html#a88ce933cddc0e32e2f17fd699185b0eb">UnidirectionalSequenceLstmLayer</a>, <a class="el" href="classarmnn_1_1_splitter_layer.html#a9e2089cbab017e13409f94da71d75770">SplitterLayer</a>, <a class="el" href="classarmnn_1_1_transpose_convolution2d_layer.html#a0ad3ca858bd49041c1a5ce793312dcf8">TransposeConvolution2dLayer</a>, <a class="el" href="classarmnn_1_1_detection_post_process_layer.html#a8d3b0c5e823f04841d74a2647e6a5246">DetectionPostProcessLayer</a>, <a class="el" href="classarmnn_1_1_pre_compiled_layer.html#a3a08acd0b68fad7b8116e35c8702d23e">PreCompiledLayer</a>, <a class="el" href="classarmnn_1_1_convolution2d_layer.html#acf7bec8b795447d4b23e0339a6561044">Convolution2dLayer</a>, <a class="el" href="classarmnn_1_1_convolution3d_layer.html#aaa20b55aac06f7510f838b6fb5504426">Convolution3dLayer</a>, <a class="el" href="classarmnn_1_1_depthwise_convolution2d_layer.html#a6f56b4ee567a69e7daf2e9bd3053646c">DepthwiseConvolution2dLayer</a>, <a class="el" href="classarmnn_1_1_fully_connected_layer.html#ae23412fdfc6726dc1823a18f5e84f8a9">FullyConnectedLayer</a>, <a class="el" href="classarmnn_1_1_fused_layer.html#aa0605535e8fc22a64a026147b66a894e">FusedLayer</a>, <a class="el" href="classarmnn_1_1_constant_layer.html#a5340a3dbbc84afba95fe19d1c8b5fb04">ConstantLayer</a>, <a class="el" href="classarmnn_1_1_reshape_layer.html#a089160274dcda58247b8a22dd1dddfa7">ReshapeLayer</a>, <a class="el" href="classarmnn_1_1_arg_min_max_layer.html#a043d6257a58f7fee75b00d10006549b2">ArgMinMaxLayer</a>, <a class="el" href="classarmnn_1_1_comparison_layer.html#abbb77b1ee8b485ccd194db4c983a6b07">ComparisonLayer</a>, <a class="el" href="classarmnn_1_1_depth_to_space_layer.html#a1c96a186c37deb90b7f0dd223894fa30">DepthToSpaceLayer</a>, <a class="el" href="classarmnn_1_1_division_layer.html#a4b6e34239c98d4c6363c83e0de44c19c">DivisionLayer</a>, <a class="el" href="classarmnn_1_1_elementwise_binary_layer.html#ad85d0f53bc6a30fba7ddc37614e2e7ab">ElementwiseBinaryLayer</a>, <a class="el" href="classarmnn_1_1_elementwise_unary_layer.html#ab25eba589122a31db3433851bdb77d14">ElementwiseUnaryLayer</a>, <a class="el" href="classarmnn_1_1_gather_layer.html#a3a6486888f04bdb311ab04ce752082e4">GatherLayer</a>, <a class="el" href="classarmnn_1_1_logical_binary_layer.html#a811ee0ce3856889aee26e1bc0ea2abc5">LogicalBinaryLayer</a>, <a class="el" href="classarmnn_1_1_log_softmax_layer.html#a1ee115ea0c7522119fe3fa919094d856">LogSoftmaxLayer</a>, <a class="el" href="classarmnn_1_1_maximum_layer.html#a045edc8bf3182c9763f622d69dcc5f63">MaximumLayer</a>, <a class="el" href="classarmnn_1_1_mean_layer.html#a12a07b8514277e7db725c483e3ab6d03">MeanLayer</a>, <a class="el" href="classarmnn_1_1_minimum_layer.html#a3f18bd606ab297e5aa4178c704d25f7c">MinimumLayer</a>, <a class="el" href="classarmnn_1_1_multiplication_layer.html#a84886e4e27e7b3d775f9e5f53ef792d5">MultiplicationLayer</a>, <a class="el" href="classarmnn_1_1_pad_layer.html#a3664d3e6f5555f990d8615fc512b1d66">PadLayer</a>, <a class="el" href="classarmnn_1_1_permute_layer.html#af3fc26f602263fd5acbe5ff31e98da5b">PermuteLayer</a>, <a class="el" href="classarmnn_1_1_prelu_layer.html#af5dd85c2adbf7e9f95d9c984157620a9">PreluLayer</a>, <a class="el" href="classarmnn_1_1_reduce_layer.html#a4de59b22933eabce862ae43fb24e0e1c">ReduceLayer</a>, <a class="el" href="classarmnn_1_1_reverse_v2_layer.html#a087969cb6214b6c023757d8298de1794">ReverseV2Layer</a>, <a class="el" href="classarmnn_1_1_space_to_batch_nd_layer.html#aa00f5b65b97ab5d525bcff625e85f2dc">SpaceToBatchNdLayer</a>, <a class="el" href="classarmnn_1_1_space_to_depth_layer.html#a63f13ce7bafa57a2505563c83579d414">SpaceToDepthLayer</a>, <a class="el" href="classarmnn_1_1_stand_in_layer.html#a7283be538a107c461d94f3e64d5dda42">StandInLayer</a>, <a class="el" href="classarmnn_1_1_subtraction_layer.html#a8f5e68f921977058e5e1d9287b30b9b6">SubtractionLayer</a>, <a class="el" href="classarmnn_1_1_transpose_layer.html#aeda9204b7b0de5754485ae03b1a7e55f">TransposeLayer</a>, <a class="el" href="classarmnn_1_1_abs_layer.html#a0e4116c410fad8f9412b92919db9f709">AbsLayer</a>, <a class="el" href="classarmnn_1_1_addition_layer.html#a841977670b8ce23be34e2c59b601261d">AdditionLayer</a>, <a class="el" href="classarmnn_1_1_batch_mat_mul_layer.html#a5a344fd448ac4673a1e63549b54bc181">BatchMatMulLayer</a>, <a class="el" href="classarmnn_1_1_batch_to_space_nd_layer.html#acea3e9bebacf2e28a07c81803d87049a">BatchToSpaceNdLayer</a>, <a class="el" href="classarmnn_1_1_cast_layer.html#a8a9b04139dde721b371ff2a16ee0221a">CastLayer</a>, <a class="el" href="classarmnn_1_1_convert_fp16_to_fp32_layer.html#a284feab21ac5f71ff86b664e3c55c13d">ConvertFp16ToFp32Layer</a>, <a class="el" href="classarmnn_1_1_debug_layer.html#aa516db393d0c0264fd7f5a0fe2d053b7">DebugLayer</a>, <a class="el" href="classarmnn_1_1_dequantize_layer.html#a6a9cc35b8905d1a1819225d31a93d020">DequantizeLayer</a>, <a class="el" href="classarmnn_1_1_fake_quantization_layer.html#a5dbcb10b38be8b8da9507005c970d601">FakeQuantizationLayer</a>, <a class="el" href="classarmnn_1_1_floor_layer.html#acd412ed7f96e8b8db66250bba6f3d6ba">FloorLayer</a>, <a class="el" href="classarmnn_1_1_gather_nd_layer.html#ac3733efe074cdaffa2ef42cadab39205">GatherNdLayer</a>, <a class="el" href="classarmnn_1_1_input_layer.html#a55eb3d90093b47ba36a4c6467bbb975d">InputLayer</a>, <a class="el" href="classarmnn_1_1_instance_normalization_layer.html#adb99489b451c28860024196ef2228700">InstanceNormalizationLayer</a>, <a class="el" href="classarmnn_1_1_l2_normalization_layer.html#a5c7d477f65ced1cd35cb3381d3579393">L2NormalizationLayer</a>, <a class="el" href="classarmnn_1_1_map_layer.html#a3e6903bd5df0d2b02ea174fe43cf5930">MapLayer</a>, <a class="el" href="classarmnn_1_1_mem_copy_layer.html#a0df281cfac9339574aec2dce1a1631da">MemCopyLayer</a>, <a class="el" href="classarmnn_1_1_mem_import_layer.html#a19f4f800a45aac9473090b85e147acc0">MemImportLayer</a>, <a class="el" href="classarmnn_1_1_merge_layer.html#a1ff5e058af2623a5d1a8a5e1663821bd">MergeLayer</a>, <a class="el" href="classarmnn_1_1_normalization_layer.html#a80b3bd0706d7333aa5f96dba6982b9a9">NormalizationLayer</a>, <a class="el" href="classarmnn_1_1_pooling2d_layer.html#adf1236c5347b7e42a805289ac671e4e3">Pooling2dLayer</a>, <a class="el" href="classarmnn_1_1_pooling3d_layer.html#ae338017bcff3dd4e1925e88e7ae89886">Pooling3dLayer</a>, <a class="el" href="classarmnn_1_1_resize_layer.html#a4eb20df5c6b827ce8ae0d883d0cebcde">ResizeLayer</a>, <a class="el" href="classarmnn_1_1_rsqrt_layer.html#a71a3d84b5820d9777ed92a570e4fb75b">RsqrtLayer</a>, <a class="el" href="classarmnn_1_1_scatter_nd_layer.html#ad00baa923307b757794f135072bced1c">ScatterNdLayer</a>, <a class="el" href="classarmnn_1_1_shape_layer.html#a5cd87ec92bac76b14887717f91c561e1">ShapeLayer</a>, <a class="el" href="classarmnn_1_1_slice_layer.html#af58dcf66fc1339a693e4087791b6a0fc">SliceLayer</a>, <a class="el" href="classarmnn_1_1_softmax_layer.html#a3df177d5eaa4d11373609991930ce3cd">SoftmaxLayer</a>, <a class="el" href="classarmnn_1_1_stack_layer.html#ae4e60b5523a7a1db08e9c87915b5a88e">StackLayer</a>, <a class="el" href="classarmnn_1_1_strided_slice_layer.html#aaa60bec8ce7cb41f20dd031b5e9ece03">StridedSliceLayer</a>, <a class="el" href="classarmnn_1_1_switch_layer.html#a99c6c028dc7f110a2cc01a9e8e3966d1">SwitchLayer</a>, <a class="el" href="classarmnn_1_1_tile_layer.html#a11702454bf4ba516927024453e99d2e2">TileLayer</a>, <a class="el" href="classarmnn_1_1_unmap_layer.html#a9cd23ecd4029d174abed9b06002a347d">UnmapLayer</a>, <a class="el" href="classarmnn_1_1_activation_layer.html#aa5206ffba99e78aa257977c30de096d8">ActivationLayer</a>, <a class="el" href="classarmnn_1_1_broadcast_to_layer.html#ae405b789dd4141d86f8e41a5373d0aa1">BroadcastToLayer</a>, <a class="el" href="classarmnn_1_1_convert_fp32_to_fp16_layer.html#a7c7e9daf8cb913b45086170030f387db">ConvertFp32ToFp16Layer</a>, <a class="el" href="classarmnn_1_1_fill_layer.html#a35efb9d65e9a1d5b4663243eeeb4ae53">FillLayer</a>, <a class="el" href="classarmnn_1_1_rank_layer.html#ab5045fc8d66572ecba03096ced51a994">RankLayer</a>, <a class="el" href="classarmnn_1_1_quantize_layer.html#ab5045fc8d66572ecba03096ced51a994">QuantizeLayer</a>, and <a class="el" href="classarmnn_1_1_channel_shuffle_layer.html#a8a444cb6b126e660b6543d9cd13705b4">ChannelShuffleLayer</a>.</p> |
| 605 | |
| 606 | <p class="reference">Referenced by <a class="el" href="_subgraph_view_8cpp_source.html#l00396">SubgraphView::GetWorkingCopy()</a>, and <a class="el" href="_graph_8cpp_source.html#l00027">Graph::Graph()</a>.</p> |
| 607 | |
| 608 | </div> |
| 609 | </div> |
| 610 | <a id="aa10fd205c3f5469a9ecb2aa2a3ffd101"></a> |
| 611 | <h2 class="memtitle"><span class="permalink"><a href="#aa10fd205c3f5469a9ecb2aa2a3ffd101">◆ </a></span>CloneBase()</h2> |
| 612 | |
| 613 | <div class="memitem"> |
| 614 | <div class="memproto"> |
| 615 | <table class="mlabels"> |
| 616 | <tr> |
| 617 | <td class="mlabels-left"> |
| 618 | <table class="memname"> |
| 619 | <tr> |
| 620 | <td class="memname"><a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a> * CloneBase </td> |
| 621 | <td>(</td> |
| 622 | <td class="paramtype"><a class="el" href="classarmnn_1_1_graph.html">Graph</a> & </td> |
| 623 | <td class="paramname"><em>graph</em>, </td> |
| 624 | </tr> |
| 625 | <tr> |
| 626 | <td class="paramkey"></td> |
| 627 | <td></td> |
| 628 | <td class="paramtype">Params &&... </td> |
| 629 | <td class="paramname"><em>params</em> </td> |
| 630 | </tr> |
| 631 | <tr> |
| 632 | <td></td> |
| 633 | <td>)</td> |
| 634 | <td></td><td> const</td> |
| 635 | </tr> |
| 636 | </table> |
| 637 | </td> |
| 638 | <td class="mlabels-right"> |
| 639 | <span class="mlabels"><span class="mlabel">protected</span></span> </td> |
| 640 | </tr> |
| 641 | </table> |
| 642 | </div><div class="memdoc"> |
| 643 | |
| 644 | <p class="definition">Definition at line <a class="el" href="_layer_clone_base_8hpp_source.html#l00014">14</a> of file <a class="el" href="_layer_clone_base_8hpp_source.html">LayerCloneBase.hpp</a>.</p> |
| 645 | <div class="fragment"><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> {</div> |
| 646 | <div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  <a class="code" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a>* <span class="keyword">const</span> layer = graph.AddLayer<<a class="code" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a>>(std::forward<Params>(params)...);</div> |
| 647 | <div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  </div> |
| 648 | <div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  layer->BackendSelectionHint(<a class="code" href="classarmnn_1_1_layer.html#a6ff80e440308295056b57e2adaa42888">GetBackendHint</a>());</div> |
| 649 | <div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  layer->SetBackendId(<a class="code" href="classarmnn_1_1_layer.html#afdb1d37740e7a083b625d669588b6a0e">GetBackendId</a>());</div> |
| 650 | <div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  layer->SetGuid(<a class="code" href="classarmnn_1_1_layer.html#a8dc12f0ee5b232d397bd18ced1a72a64">GetGuid</a>());</div> |
| 651 | <div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  layer->SetShapeInferenceMethod(<a class="code" href="classarmnn_1_1_layer.html#afe508761cc8318b15329ba4acf7fbfec">m_ShapeInferenceMethod</a>);</div> |
| 652 | <div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  layer->SetAllowExpandedDims(m_AllowExpandedDims);</div> |
| 653 | <div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  </div> |
| 654 | <div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  <span class="keywordflow">return</span> layer;</div> |
| 655 | <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> }</div> |
| 656 | </div><!-- fragment --> |
| 657 | <p class="reference">References <a class="el" href="_graph_8hpp_source.html#l00466">Graph::AddLayer()</a>, <a class="el" href="_layer_8hpp_source.html#l00355">Layer::GetBackendHint()</a>, <a class="el" href="_layer_8hpp_source.html#l00290">Layer::GetBackendId()</a>, <a class="el" href="_layer_8hpp_source.html#l00343">Layer::GetGuid()</a>, and <a class="el" href="_layer_8hpp_source.html#l00441">Layer::m_ShapeInferenceMethod</a>.</p> |
| 658 | |
| 659 | </div> |
| 660 | </div> |
| 661 | <a id="afc3239f5fc116259bf5451964e803646"></a> |
| 662 | <h2 class="memtitle"><span class="permalink"><a href="#afc3239f5fc116259bf5451964e803646">◆ </a></span>CollectQueueDescriptorInputs()</h2> |
| 663 | |
| 664 | <div class="memitem"> |
| 665 | <div class="memproto"> |
| 666 | <table class="mlabels"> |
| 667 | <tr> |
| 668 | <td class="mlabels-left"> |
| 669 | <table class="memname"> |
| 670 | <tr> |
| 671 | <td class="memname">void CollectQueueDescriptorInputs </td> |
| 672 | <td>(</td> |
| 673 | <td class="paramtype"><a class="el" href="structarmnn_1_1_queue_descriptor.html">QueueDescriptor</a> & </td> |
| 674 | <td class="paramname"><em>descriptor</em>, </td> |
| 675 | </tr> |
| 676 | <tr> |
| 677 | <td class="paramkey"></td> |
| 678 | <td></td> |
| 679 | <td class="paramtype"><a class="el" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a> & </td> |
| 680 | <td class="paramname"><em>info</em> </td> |
| 681 | </tr> |
| 682 | <tr> |
| 683 | <td></td> |
| 684 | <td>)</td> |
| 685 | <td></td><td> const</td> |
| 686 | </tr> |
| 687 | </table> |
| 688 | </td> |
| 689 | <td class="mlabels-right"> |
| 690 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td> |
| 691 | </tr> |
| 692 | </table> |
| 693 | </div><div class="memdoc"> |
| 694 | |
| 695 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00386">386</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 696 | <div class="fragment"><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  {</div> |
| 697 | <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  WorkloadDataCollector dataCollector(descriptor.m_Inputs, <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_InputTensorInfos);</div> |
| 698 | <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  CollectWorkloadInputs(dataCollector);</div> |
| 699 | <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  }</div> |
| 700 | </div><!-- fragment --> |
| 701 | <p class="reference">References <a class="el" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">armnn::info</a>, and <a class="el" href="_workload_data_8hpp_source.html#l00026">QueueDescriptor::m_Inputs</a>.</p> |
| 702 | |
| 703 | <p class="reference">Referenced by <a class="el" href="_layer_8hpp_source.html#l00409">Layer::PrepInfoAndDesc()</a>.</p> |
| 704 | |
| 705 | </div> |
| 706 | </div> |
| 707 | <a id="a499ca5a94d0174ed21786b6994b2cd8c"></a> |
| 708 | <h2 class="memtitle"><span class="permalink"><a href="#a499ca5a94d0174ed21786b6994b2cd8c">◆ </a></span>CollectQueueDescriptorOutputs()</h2> |
| 709 | |
| 710 | <div class="memitem"> |
| 711 | <div class="memproto"> |
| 712 | <table class="mlabels"> |
| 713 | <tr> |
| 714 | <td class="mlabels-left"> |
| 715 | <table class="memname"> |
| 716 | <tr> |
| 717 | <td class="memname">void CollectQueueDescriptorOutputs </td> |
| 718 | <td>(</td> |
| 719 | <td class="paramtype"><a class="el" href="structarmnn_1_1_queue_descriptor.html">QueueDescriptor</a> & </td> |
| 720 | <td class="paramname"><em>descriptor</em>, </td> |
| 721 | </tr> |
| 722 | <tr> |
| 723 | <td class="paramkey"></td> |
| 724 | <td></td> |
| 725 | <td class="paramtype"><a class="el" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a> & </td> |
| 726 | <td class="paramname"><em>info</em> </td> |
| 727 | </tr> |
| 728 | <tr> |
| 729 | <td></td> |
| 730 | <td>)</td> |
| 731 | <td></td><td> const</td> |
| 732 | </tr> |
| 733 | </table> |
| 734 | </td> |
| 735 | <td class="mlabels-right"> |
| 736 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td> |
| 737 | </tr> |
| 738 | </table> |
| 739 | </div><div class="memdoc"> |
| 740 | |
| 741 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00393">393</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 742 | <div class="fragment"><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  {</div> |
| 743 | <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  WorkloadDataCollector dataCollector(descriptor.m_Outputs, <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_OutputTensorInfos);</div> |
| 744 | <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  CollectWorkloadOutputs(dataCollector);</div> |
| 745 | <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  }</div> |
| 746 | </div><!-- fragment --> |
| 747 | <p class="reference">References <a class="el" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">armnn::info</a>, and <a class="el" href="_workload_data_8hpp_source.html#l00027">QueueDescriptor::m_Outputs</a>.</p> |
| 748 | |
| 749 | <p class="reference">Referenced by <a class="el" href="_layer_8hpp_source.html#l00409">Layer::PrepInfoAndDesc()</a>.</p> |
| 750 | |
| 751 | </div> |
| 752 | </div> |
| 753 | <a id="a3ff62126ec713a2708e5fbaa6146a7de"></a> |
| 754 | <h2 class="memtitle"><span class="permalink"><a href="#a3ff62126ec713a2708e5fbaa6146a7de">◆ </a></span>CreateTensorHandles()</h2> |
| 755 | |
| 756 | <div class="memitem"> |
| 757 | <div class="memproto"> |
| 758 | <table class="mlabels"> |
| 759 | <tr> |
| 760 | <td class="mlabels-left"> |
| 761 | <table class="memname"> |
| 762 | <tr> |
| 763 | <td class="memname">void CreateTensorHandles </td> |
| 764 | <td>(</td> |
| 765 | <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_handle_factory_registry.html">TensorHandleFactoryRegistry</a> & </td> |
| 766 | <td class="paramname"><em>registry</em>, </td> |
| 767 | </tr> |
| 768 | <tr> |
| 769 | <td class="paramkey"></td> |
| 770 | <td></td> |
| 771 | <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_workload_factory.html">IWorkloadFactory</a> & </td> |
| 772 | <td class="paramname"><em>factory</em>, </td> |
| 773 | </tr> |
| 774 | <tr> |
| 775 | <td class="paramkey"></td> |
| 776 | <td></td> |
| 777 | <td class="paramtype">const bool </td> |
| 778 | <td class="paramname"><em>IsMemoryManaged</em> = <code>true</code> </td> |
| 779 | </tr> |
| 780 | <tr> |
| 781 | <td></td> |
| 782 | <td>)</td> |
| 783 | <td></td><td></td> |
| 784 | </tr> |
| 785 | </table> |
| 786 | </td> |
| 787 | <td class="mlabels-right"> |
| 788 | <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| 789 | </tr> |
| 790 | </table> |
| 791 | </div><div class="memdoc"> |
| 792 | |
| 793 | <p>Reimplemented in <a class="el" href="classarmnn_1_1_concat_layer.html#a7763728321afb4eb0d1d00323c3e9121">ConcatLayer</a>, <a class="el" href="classarmnn_1_1_output_layer.html#a9ee9b10188b7e77625fd56952477839d">OutputLayer</a>, and <a class="el" href="classarmnn_1_1_splitter_layer.html#a7763728321afb4eb0d1d00323c3e9121">SplitterLayer</a>.</p> |
| 794 | |
| 795 | <p class="definition">Definition at line <a class="el" href="_layer_8cpp_source.html#l00308">308</a> of file <a class="el" href="_layer_8cpp_source.html">Layer.cpp</a>.</p> |
| 796 | <div class="fragment"><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> {</div> |
| 797 | <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> idx=0; idx < <a class="code" href="classarmnn_1_1_layer.html#a1594bddc87d6477df300317658f566bb">GetNumOutputSlots</a>(); idx++)</div> |
| 798 | <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  {</div> |
| 799 | <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  </div> |
| 800 | <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  OutputSlot& slot = <a class="code" href="classarmnn_1_1_layer.html#a0e36688a43c35668d8db5257274c68fe">GetOutputSlot</a>(idx);</div> |
| 801 | <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <a class="code" href="classarmnn_1_1_i_tensor_handle_factory.html#a32f4aa6a7089d877af08928139c2c277">ITensorHandleFactory::FactoryId</a> factoryId = slot.GetTensorHandleFactoryId();</div> |
| 802 | <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  </div> |
| 803 | <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  OutputHandler& handler = <a class="code" href="classarmnn_1_1_layer.html#af2c0edc7ea62a8baaec4d3d9b2b09256">GetOutputHandler</a>(idx);</div> |
| 804 | <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">if</span> (factoryId == <a class="code" href="classarmnn_1_1_i_tensor_handle_factory.html#a9c95f90eb40e31f629e0e2947b8bc6f9">ITensorHandleFactory::LegacyFactoryId</a>)</div> |
| 805 | <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  {</div> |
| 806 | <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  handler.CreateTensorHandles(workloadFactory, IsMemoryManaged);</div> |
| 807 | <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  }</div> |
| 808 | <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">else</span></div> |
| 809 | <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  {</div> |
| 810 | <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  ITensorHandleFactory* handleFactory;</div> |
| 811 | <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  handleFactory = registry.GetFactory(factoryId);</div> |
| 812 | <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">if</span> (!handleFactory)</div> |
| 813 | <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  {</div> |
| 814 | <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_null_pointer_exception.html">armnn::NullPointerException</a>(<span class="stringliteral">"handleFactory must not be null."</span>);</div> |
| 815 | <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  }</div> |
| 816 | <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  handler.CreateTensorHandles(*handleFactory, IsMemoryManaged);</div> |
| 817 | <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  }</div> |
| 818 | <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  }</div> |
| 819 | <div class="line"><a name="l00334"></a><span class="lineno"> 334</span> }</div> |
| 820 | </div><!-- fragment --> |
| 821 | <p class="reference">References <a class="el" href="_output_handler_8cpp_source.html#l00021">OutputHandler::CreateTensorHandles()</a>, <a class="el" href="_tensor_handle_factory_registry_8cpp_source.html#l00039">TensorHandleFactoryRegistry::GetFactory()</a>, <a class="el" href="_layer_8hpp_source.html#l00335">Layer::GetNumOutputSlots()</a>, <a class="el" href="_layer_8hpp_source.html#l00245">Layer::GetOutputHandler()</a>, <a class="el" href="_layer_8hpp_source.html#l00339">Layer::GetOutputSlot()</a>, <a class="el" href="_layer_8cpp_source.html#l00218">OutputSlot::GetTensorHandleFactoryId()</a>, and <a class="el" href="_i_tensor_handle_factory_8hpp_source.html#l00050">ITensorHandleFactory::LegacyFactoryId</a>.</p> |
| 822 | |
| 823 | </div> |
| 824 | </div> |
| 825 | <a id="a08d1e10a45f15cd0bd02557be35a3864"></a> |
| 826 | <h2 class="memtitle"><span class="permalink"><a href="#a08d1e10a45f15cd0bd02557be35a3864">◆ </a></span>CreateWorkload()</h2> |
| 827 | |
| 828 | <div class="memitem"> |
| 829 | <div class="memproto"> |
| 830 | <table class="mlabels"> |
| 831 | <tr> |
| 832 | <td class="mlabels-left"> |
| 833 | <table class="memname"> |
| 834 | <tr> |
| 835 | <td class="memname">virtual std::unique_ptr<<a class="el" href="classarmnn_1_1_i_workload.html">IWorkload</a>> CreateWorkload </td> |
| 836 | <td>(</td> |
| 837 | <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_workload_factory.html">IWorkloadFactory</a> & </td> |
| 838 | <td class="paramname"><em>factory</em></td><td>)</td> |
| 839 | <td> const</td> |
| 840 | </tr> |
| 841 | </table> |
| 842 | </td> |
| 843 | <td class="mlabels-right"> |
| 844 | <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> |
| 845 | </tr> |
| 846 | </table> |
| 847 | </div><div class="memdoc"> |
| 848 | |
| 849 | <p>Implemented in <a class="el" href="classarmnn_1_1_q_lstm_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">QLstmLayer</a>, <a class="el" href="classarmnn_1_1_quantized_lstm_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">QuantizedLstmLayer</a>, <a class="el" href="classarmnn_1_1_batch_normalization_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">BatchNormalizationLayer</a>, <a class="el" href="classarmnn_1_1_lstm_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">LstmLayer</a>, <a class="el" href="classarmnn_1_1_unidirectional_sequence_lstm_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">UnidirectionalSequenceLstmLayer</a>, <a class="el" href="classarmnn_1_1_pre_compiled_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">PreCompiledLayer</a>, <a class="el" href="classarmnn_1_1_transpose_convolution2d_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">TransposeConvolution2dLayer</a>, <a class="el" href="classarmnn_1_1_detection_post_process_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">DetectionPostProcessLayer</a>, <a class="el" href="classarmnn_1_1_fused_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">FusedLayer</a>, <a class="el" href="classarmnn_1_1_convolution2d_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">Convolution2dLayer</a>, <a class="el" href="classarmnn_1_1_convolution3d_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">Convolution3dLayer</a>, <a class="el" href="classarmnn_1_1_depthwise_convolution2d_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">DepthwiseConvolution2dLayer</a>, <a class="el" href="classarmnn_1_1_fully_connected_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">FullyConnectedLayer</a>, <a class="el" href="classarmnn_1_1_channel_shuffle_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ChannelShuffleLayer</a>, <a class="el" href="classarmnn_1_1_constant_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ConstantLayer</a>, <a class="el" href="classarmnn_1_1_reshape_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ReshapeLayer</a>, <a class="el" href="classarmnn_1_1_arg_min_max_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ArgMinMaxLayer</a>, <a class="el" href="classarmnn_1_1_comparison_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ComparisonLayer</a>, <a class="el" href="classarmnn_1_1_depth_to_space_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">DepthToSpaceLayer</a>, <a class="el" href="classarmnn_1_1_division_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">DivisionLayer</a>, <a class="el" href="classarmnn_1_1_elementwise_binary_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ElementwiseBinaryLayer</a>, <a class="el" href="classarmnn_1_1_elementwise_unary_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ElementwiseUnaryLayer</a>, <a class="el" href="classarmnn_1_1_gather_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">GatherLayer</a>, <a class="el" href="classarmnn_1_1_logical_binary_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">LogicalBinaryLayer</a>, <a class="el" href="classarmnn_1_1_log_softmax_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">LogSoftmaxLayer</a>, <a class="el" href="classarmnn_1_1_maximum_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">MaximumLayer</a>, <a class="el" href="classarmnn_1_1_mean_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">MeanLayer</a>, <a class="el" href="classarmnn_1_1_minimum_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">MinimumLayer</a>, <a class="el" href="classarmnn_1_1_multiplication_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">MultiplicationLayer</a>, <a class="el" href="classarmnn_1_1_pad_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">PadLayer</a>, <a class="el" href="classarmnn_1_1_permute_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">PermuteLayer</a>, <a class="el" href="classarmnn_1_1_prelu_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">PreluLayer</a>, <a class="el" href="classarmnn_1_1_reduce_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ReduceLayer</a>, <a class="el" href="classarmnn_1_1_reverse_v2_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ReverseV2Layer</a>, <a class="el" href="classarmnn_1_1_space_to_batch_nd_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">SpaceToBatchNdLayer</a>, <a class="el" href="classarmnn_1_1_space_to_depth_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">SpaceToDepthLayer</a>, <a class="el" href="classarmnn_1_1_stand_in_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">StandInLayer</a>, <a class="el" href="classarmnn_1_1_subtraction_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">SubtractionLayer</a>, <a class="el" href="classarmnn_1_1_transpose_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">TransposeLayer</a>, <a class="el" href="classarmnn_1_1_abs_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">AbsLayer</a>, <a class="el" href="classarmnn_1_1_addition_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">AdditionLayer</a>, <a class="el" href="classarmnn_1_1_batch_mat_mul_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">BatchMatMulLayer</a>, <a class="el" href="classarmnn_1_1_batch_to_space_nd_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">BatchToSpaceNdLayer</a>, <a class="el" href="classarmnn_1_1_cast_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">CastLayer</a>, <a class="el" href="classarmnn_1_1_concat_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ConcatLayer</a>, <a class="el" href="classarmnn_1_1_convert_fp16_to_fp32_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ConvertFp16ToFp32Layer</a>, <a class="el" href="classarmnn_1_1_debug_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">DebugLayer</a>, <a class="el" href="classarmnn_1_1_dequantize_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">DequantizeLayer</a>, <a class="el" href="classarmnn_1_1_fake_quantization_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">FakeQuantizationLayer</a>, <a class="el" href="classarmnn_1_1_floor_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">FloorLayer</a>, <a class="el" href="classarmnn_1_1_gather_nd_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">GatherNdLayer</a>, <a class="el" href="classarmnn_1_1_input_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">InputLayer</a>, <a class="el" href="classarmnn_1_1_instance_normalization_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">InstanceNormalizationLayer</a>, <a class="el" href="classarmnn_1_1_l2_normalization_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">L2NormalizationLayer</a>, <a class="el" href="classarmnn_1_1_map_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">MapLayer</a>, <a class="el" href="classarmnn_1_1_mem_copy_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">MemCopyLayer</a>, <a class="el" href="classarmnn_1_1_mem_import_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">MemImportLayer</a>, <a class="el" href="classarmnn_1_1_merge_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">MergeLayer</a>, <a class="el" href="classarmnn_1_1_normalization_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">NormalizationLayer</a>, <a class="el" href="classarmnn_1_1_output_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">OutputLayer</a>, <a class="el" href="classarmnn_1_1_pooling2d_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">Pooling2dLayer</a>, <a class="el" href="classarmnn_1_1_pooling3d_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">Pooling3dLayer</a>, <a class="el" href="classarmnn_1_1_resize_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ResizeLayer</a>, <a class="el" href="classarmnn_1_1_rsqrt_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">RsqrtLayer</a>, <a class="el" href="classarmnn_1_1_scatter_nd_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ScatterNdLayer</a>, <a class="el" href="classarmnn_1_1_shape_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ShapeLayer</a>, <a class="el" href="classarmnn_1_1_slice_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">SliceLayer</a>, <a class="el" href="classarmnn_1_1_softmax_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">SoftmaxLayer</a>, <a class="el" href="classarmnn_1_1_splitter_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">SplitterLayer</a>, <a class="el" href="classarmnn_1_1_stack_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">StackLayer</a>, <a class="el" href="classarmnn_1_1_strided_slice_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">StridedSliceLayer</a>, <a class="el" href="classarmnn_1_1_switch_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">SwitchLayer</a>, <a class="el" href="classarmnn_1_1_tile_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">TileLayer</a>, <a class="el" href="classarmnn_1_1_unmap_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">UnmapLayer</a>, <a class="el" href="classarmnn_1_1_activation_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ActivationLayer</a>, <a class="el" href="classarmnn_1_1_broadcast_to_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">BroadcastToLayer</a>, <a class="el" href="classarmnn_1_1_convert_fp32_to_fp16_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">ConvertFp32ToFp16Layer</a>, <a class="el" href="classarmnn_1_1_fill_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">FillLayer</a>, <a class="el" href="classarmnn_1_1_quantize_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">QuantizeLayer</a>, and <a class="el" href="classarmnn_1_1_rank_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">RankLayer</a>.</p> |
| 850 | |
| 851 | </div> |
| 852 | </div> |
| 853 | <a id="a9752e12d6b79e18da1a25f76159d2a72"></a> |
| 854 | <h2 class="memtitle"><span class="permalink"><a href="#a9752e12d6b79e18da1a25f76159d2a72">◆ </a></span>EndInputSlots()</h2> |
| 855 | |
| 856 | <div class="memitem"> |
| 857 | <div class="memproto"> |
| 858 | <table class="mlabels"> |
| 859 | <tr> |
| 860 | <td class="mlabels-left"> |
| 861 | <table class="memname"> |
| 862 | <tr> |
| 863 | <td class="memname">std::vector<<a class="el" href="classarmnn_1_1_input_slot.html">InputSlot</a>>::iterator EndInputSlots </td> |
| 864 | <td>(</td> |
| 865 | <td class="paramname"></td><td>)</td> |
| 866 | <td></td> |
| 867 | </tr> |
| 868 | </table> |
| 869 | </td> |
| 870 | <td class="mlabels-right"> |
| 871 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 872 | </tr> |
| 873 | </table> |
| 874 | </div><div class="memdoc"> |
| 875 | |
| 876 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00263">263</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 877 | <div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> { <span class="keywordflow">return</span> m_InputSlots.end(); }</div> |
| 878 | </div><!-- fragment --> |
| 879 | <p class="reference">Referenced by <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00042">armnn::CreateInputsFrom()</a>, <a class="el" href="_common_test_utils_8cpp_source.html#l00012">CreateInputsFrom()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00040">armnn::InsertConvertFp16ToFp32LayersBefore()</a>, <a class="el" href="_convert_fp32_network_to_fp16_8hpp_source.html#l00018">ConvertFp32NetworkToFp16Impl::Run()</a>, <a class="el" href="_move_permute_up_8hpp_source.html#l00023">MovePermuteUpImpl::Run()</a>, and <a class="el" href="_move_transpose_up_8hpp_source.html#l00023">MoveTransposeUpImpl::Run()</a>.</p> |
| 880 | |
| 881 | </div> |
| 882 | </div> |
| 883 | <a id="a55f76d98fcd2f5cdac3e2b14536cb7ab"></a> |
| 884 | <h2 class="memtitle"><span class="permalink"><a href="#a55f76d98fcd2f5cdac3e2b14536cb7ab">◆ </a></span>EndOutputSlots()</h2> |
| 885 | |
| 886 | <div class="memitem"> |
| 887 | <div class="memproto"> |
| 888 | <table class="mlabels"> |
| 889 | <tr> |
| 890 | <td class="mlabels-left"> |
| 891 | <table class="memname"> |
| 892 | <tr> |
| 893 | <td class="memname">std::vector<<a class="el" href="classarmnn_1_1_output_slot.html">OutputSlot</a>>::iterator EndOutputSlots </td> |
| 894 | <td>(</td> |
| 895 | <td class="paramname"></td><td>)</td> |
| 896 | <td></td> |
| 897 | </tr> |
| 898 | </table> |
| 899 | </td> |
| 900 | <td class="mlabels-right"> |
| 901 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 902 | </tr> |
| 903 | </table> |
| 904 | </div><div class="memdoc"> |
| 905 | |
| 906 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00267">267</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 907 | <div class="fragment"><div class="line"><a name="l00267"></a><span class="lineno"> 267</span> { <span class="keywordflow">return</span> m_OutputSlots.end(); }</div> |
| 908 | </div><!-- fragment --> |
| 909 | <p class="reference">Referenced by <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00052">armnn::CreateOutputsFrom()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00112">armnn::InsertDebugLayerAfter()</a>, <a class="el" href="_neon_backend_8cpp_source.html#l00144">NeonBackend::OptimizeSubgraphView()</a>, <a class="el" href="_cl_backend_8cpp_source.html#l00292">ClBackend::OptimizeSubgraphView()</a>, <a class="el" href="_convert_fp32_network_to_fp16_8hpp_source.html#l00018">ConvertFp32NetworkToFp16Impl::Run()</a>, <a class="el" href="_squash_equal_siblings_8hpp_source.html#l00025">SquashEqualSiblingsImpl< Comparable >::Run()</a>, and <a class="el" href="_splitter_layer_8cpp_source.html#l00205">SplitterLayer::ValidateTensorShapesFromInputs()</a>.</p> |
| 910 | |
| 911 | </div> |
| 912 | </div> |
| 913 | <a id="a46fc3fdd4b2a5dd6d184e57983cf20bc"></a> |
| 914 | <h2 class="memtitle"><span class="permalink"><a href="#a46fc3fdd4b2a5dd6d184e57983cf20bc">◆ </a></span>ExecuteStrategy()</h2> |
| 915 | |
| 916 | <div class="memitem"> |
| 917 | <div class="memproto"> |
| 918 | <table class="mlabels"> |
| 919 | <tr> |
| 920 | <td class="mlabels-left"> |
| 921 | <table class="memname"> |
| 922 | <tr> |
| 923 | <td class="memname">void ExecuteStrategy </td> |
| 924 | <td>(</td> |
| 925 | <td class="paramtype"><a class="el" href="classarmnn_1_1_i_strategy.html">IStrategy</a> & </td> |
| 926 | <td class="paramname"><em>strategy</em></td><td>)</td> |
| 927 | <td> const</td> |
| 928 | </tr> |
| 929 | </table> |
| 930 | </td> |
| 931 | <td class="mlabels-right"> |
| 932 | <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> |
| 933 | </tr> |
| 934 | </table> |
| 935 | </div><div class="memdoc"> |
| 936 | |
| 937 | <p>Apply a visitor to this layer. </p> |
| 938 | |
| 939 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a52799628c0df0037c4708de02bec7185">IConnectableLayer</a>.</p> |
| 940 | |
| 941 | <p>Reimplemented in <a class="el" href="classarmnn_1_1_bindable_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">BindableLayer</a>, <a class="el" href="classarmnn_1_1_q_lstm_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">QLstmLayer</a>, <a class="el" href="classarmnn_1_1_quantized_lstm_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">QuantizedLstmLayer</a>, <a class="el" href="classarmnn_1_1_permute_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">PermuteLayer</a>, <a class="el" href="classarmnn_1_1_transpose_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">TransposeLayer</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< Parameters ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< SoftmaxDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< FakeQuantizationDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< ReduceDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< LstmDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< ChannelShuffleDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< LogSoftmaxDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< PreCompiledDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< SpaceToBatchNdDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< BatchToSpaceNdDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< PermuteDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< GatherDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< ElementwiseUnaryDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< DepthToSpaceDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< OriginsDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< SpaceToDepthDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< ReshapeDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< ViewsDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< Pooling2dDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< Convolution2dDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< ActivationDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< StandInDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< MeanDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< StackDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< TransposeDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< InstanceNormalizationDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< ComparisonDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< TransposeConvolution2dDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< BroadcastToDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< BatchNormalizationDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< FusedDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< BatchMatMulDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< TileDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< ArgMinMaxDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< LogicalBinaryDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< DetectionPostProcessDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< PadDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< L2NormalizationDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< Convolution3dDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< SliceDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< QLstmDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< FillDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< DepthwiseConvolution2dDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< NormalizationDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< FullyConnectedDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< ScatterNdDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< ResizeDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< Pooling3dDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< ElementwiseBinaryDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters< StridedSliceDescriptor ></a>, <a class="el" href="classarmnn_1_1_reshape_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ReshapeLayer</a>, <a class="el" href="classarmnn_1_1_unidirectional_sequence_lstm_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">UnidirectionalSequenceLstmLayer</a>, <a class="el" href="classarmnn_1_1_concat_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ConcatLayer</a>, <a class="el" href="classarmnn_1_1_lstm_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LstmLayer</a>, <a class="el" href="classarmnn_1_1_splitter_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">SplitterLayer</a>, <a class="el" href="classarmnn_1_1_transpose_convolution2d_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">TransposeConvolution2dLayer</a>, <a class="el" href="classarmnn_1_1_detection_post_process_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">DetectionPostProcessLayer</a>, <a class="el" href="classarmnn_1_1_output_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">OutputLayer</a>, <a class="el" href="classarmnn_1_1_batch_normalization_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">BatchNormalizationLayer</a>, <a class="el" href="classarmnn_1_1_constant_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ConstantLayer</a>, <a class="el" href="classarmnn_1_1_convolution2d_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">Convolution2dLayer</a>, <a class="el" href="classarmnn_1_1_convolution3d_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">Convolution3dLayer</a>, <a class="el" href="classarmnn_1_1_depthwise_convolution2d_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">DepthwiseConvolution2dLayer</a>, <a class="el" href="classarmnn_1_1_fully_connected_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">FullyConnectedLayer</a>, <a class="el" href="classarmnn_1_1_comparison_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ComparisonLayer</a>, <a class="el" href="classarmnn_1_1_depth_to_space_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">DepthToSpaceLayer</a>, <a class="el" href="classarmnn_1_1_logical_binary_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LogicalBinaryLayer</a>, <a class="el" href="classarmnn_1_1_mean_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">MeanLayer</a>, <a class="el" href="classarmnn_1_1_pad_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">PadLayer</a>, <a class="el" href="classarmnn_1_1_prelu_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">PreluLayer</a>, <a class="el" href="classarmnn_1_1_space_to_batch_nd_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">SpaceToBatchNdLayer</a>, <a class="el" href="classarmnn_1_1_space_to_depth_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">SpaceToDepthLayer</a>, <a class="el" href="classarmnn_1_1_stand_in_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">StandInLayer</a>, <a class="el" href="classarmnn_1_1_arg_min_max_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ArgMinMaxLayer</a>, <a class="el" href="classarmnn_1_1_batch_to_space_nd_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">BatchToSpaceNdLayer</a>, <a class="el" href="classarmnn_1_1_elementwise_unary_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ElementwiseUnaryLayer</a>, <a class="el" href="classarmnn_1_1_gather_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">GatherLayer</a>, <a class="el" href="classarmnn_1_1_pooling2d_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">Pooling2dLayer</a>, <a class="el" href="classarmnn_1_1_pooling3d_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">Pooling3dLayer</a>, <a class="el" href="classarmnn_1_1_reduce_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ReduceLayer</a>, <a class="el" href="classarmnn_1_1_resize_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ResizeLayer</a>, <a class="el" href="classarmnn_1_1_reverse_v2_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ReverseV2Layer</a>, <a class="el" href="classarmnn_1_1_shape_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ShapeLayer</a>, <a class="el" href="classarmnn_1_1_slice_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">SliceLayer</a>, <a class="el" href="classarmnn_1_1_stack_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">StackLayer</a>, <a class="el" href="classarmnn_1_1_strided_slice_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">StridedSliceLayer</a>, <a class="el" href="classarmnn_1_1_broadcast_to_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">BroadcastToLayer</a>, <a class="el" href="classarmnn_1_1_elementwise_binary_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ElementwiseBinaryLayer</a>, <a class="el" href="classarmnn_1_1_merge_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">MergeLayer</a>, <a class="el" href="classarmnn_1_1_pre_compiled_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">PreCompiledLayer</a>, <a class="el" href="classarmnn_1_1_rank_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">RankLayer</a>, <a class="el" href="classarmnn_1_1_fake_quantization_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">FakeQuantizationLayer</a>, <a class="el" href="classarmnn_1_1_log_softmax_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LogSoftmaxLayer</a>, <a class="el" href="classarmnn_1_1_abs_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">AbsLayer</a>, <a class="el" href="classarmnn_1_1_convert_fp16_to_fp32_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ConvertFp16ToFp32Layer</a>, <a class="el" href="classarmnn_1_1_debug_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">DebugLayer</a>, <a class="el" href="classarmnn_1_1_dequantize_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">DequantizeLayer</a>, <a class="el" href="classarmnn_1_1_floor_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">FloorLayer</a>, <a class="el" href="classarmnn_1_1_fused_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">FusedLayer</a>, <a class="el" href="classarmnn_1_1_input_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">InputLayer</a>, <a class="el" href="classarmnn_1_1_instance_normalization_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">InstanceNormalizationLayer</a>, <a class="el" href="classarmnn_1_1_l2_normalization_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">L2NormalizationLayer</a>, <a class="el" href="classarmnn_1_1_map_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">MapLayer</a>, <a class="el" href="classarmnn_1_1_mem_copy_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">MemCopyLayer</a>, <a class="el" href="classarmnn_1_1_mem_import_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">MemImportLayer</a>, <a class="el" href="classarmnn_1_1_normalization_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">NormalizationLayer</a>, <a class="el" href="classarmnn_1_1_rsqrt_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">RsqrtLayer</a>, <a class="el" href="classarmnn_1_1_softmax_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">SoftmaxLayer</a>, <a class="el" href="classarmnn_1_1_switch_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">SwitchLayer</a>, <a class="el" href="classarmnn_1_1_unmap_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">UnmapLayer</a>, <a class="el" href="classarmnn_1_1_convert_fp32_to_fp16_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ConvertFp32ToFp16Layer</a>, <a class="el" href="classarmnn_1_1_elementwise_base_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ElementwiseBaseLayer</a>, <a class="el" href="classarmnn_1_1_fill_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">FillLayer</a>, <a class="el" href="classarmnn_1_1_activation_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">ActivationLayer</a>, <a class="el" href="classarmnn_1_1_division_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">DivisionLayer</a>, <a class="el" href="classarmnn_1_1_maximum_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">MaximumLayer</a>, <a class="el" href="classarmnn_1_1_minimum_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">MinimumLayer</a>, <a class="el" href="classarmnn_1_1_multiplication_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">MultiplicationLayer</a>, <a class="el" href="classarmnn_1_1_subtraction_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">SubtractionLayer</a>, <a class="el" href="classarmnn_1_1_addition_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">AdditionLayer</a>, and <a class="el" href="classarmnn_1_1_quantize_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">QuantizeLayer</a>.</p> |
| 942 | |
| 943 | <p class="definition">Definition at line <a class="el" href="_layer_8cpp_source.html#l00571">571</a> of file <a class="el" href="_layer_8cpp_source.html">Layer.cpp</a>.</p> |
| 944 | <div class="fragment"><div class="line"><a name="l00572"></a><span class="lineno"> 572</span> {</div> |
| 945 | <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  strategy.ExecuteStrategy(<span class="keyword">this</span>, BaseDescriptor(), {}, <a class="code" href="classarmnn_1_1_layer.html#a7ddf0cf6f620d59c10e63495ace795d0">GetName</a>());</div> |
| 946 | <div class="line"><a name="l00574"></a><span class="lineno"> 574</span> }</div> |
| 947 | </div><!-- fragment --> |
| 948 | <p class="reference">References <a class="el" href="classarmnn_1_1_i_strategy.html#ad4f8c9ff973cf6a603d26b56c5b34967">IStrategy::ExecuteStrategy()</a>, and <a class="el" href="_layer_8hpp_source.html#l00332">Layer::GetName()</a>.</p> |
| 949 | |
| 950 | <p class="reference">Referenced by <a class="el" href="_subgraph_utils_8hpp_source.html#l00213">armnn::IsNCHW()</a>.</p> |
| 951 | |
| 952 | </div> |
| 953 | </div> |
| 954 | <a id="aefb14147290b6b928c5fc924ba035acc"></a> |
| 955 | <h2 class="memtitle"><span class="permalink"><a href="#aefb14147290b6b928c5fc924ba035acc">◆ </a></span>GetAdditionalInformation()</h2> |
| 956 | |
| 957 | <div class="memitem"> |
| 958 | <div class="memproto"> |
| 959 | <table class="mlabels"> |
| 960 | <tr> |
| 961 | <td class="mlabels-left"> |
| 962 | <table class="memname"> |
| 963 | <tr> |
| 964 | <td class="memname">std::shared_ptr<T> GetAdditionalInformation </td> |
| 965 | <td>(</td> |
| 966 | <td class="paramname"></td><td>)</td> |
| 967 | <td> const</td> |
| 968 | </tr> |
| 969 | </table> |
| 970 | </td> |
| 971 | <td class="mlabels-right"> |
| 972 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 973 | </tr> |
| 974 | </table> |
| 975 | </div><div class="memdoc"> |
| 976 | |
| 977 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00368">368</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 978 | <div class="fragment"><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  {</div> |
| 979 | <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">return</span> std::static_pointer_cast<T>(<a class="code" href="classarmnn_1_1_layer.html#ac7170f79bd0eadb1b6153e359c023cc0">m_AdditionalInfoObject</a>);</div> |
| 980 | <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  }</div> |
| 981 | </div><!-- fragment --> |
| 982 | <p class="reference">References <a class="el" href="_layer_8hpp_source.html#l00427">Layer::m_AdditionalInfoObject</a>.</p> |
| 983 | |
| 984 | <p class="reference">Referenced by <a class="el" href="_neon_backend_8cpp_source.html#l00144">NeonBackend::OptimizeSubgraphView()</a>, and <a class="el" href="_cl_backend_8cpp_source.html#l00292">ClBackend::OptimizeSubgraphView()</a>.</p> |
| 985 | |
| 986 | </div> |
| 987 | </div> |
| 988 | <a id="ad6f282c92535e2be398a9b350d4e2ee9"></a> |
| 989 | <h2 class="memtitle"><span class="permalink"><a href="#ad6f282c92535e2be398a9b350d4e2ee9">◆ </a></span>GetAllowExpandedDims()</h2> |
| 990 | |
| 991 | <div class="memitem"> |
| 992 | <div class="memproto"> |
| 993 | <table class="mlabels"> |
| 994 | <tr> |
| 995 | <td class="mlabels-left"> |
| 996 | <table class="memname"> |
| 997 | <tr> |
| 998 | <td class="memname">bool GetAllowExpandedDims </td> |
| 999 | <td>(</td> |
| 1000 | <td class="paramname"></td><td>)</td> |
| 1001 | <td> const</td> |
| 1002 | </tr> |
| 1003 | </table> |
| 1004 | </td> |
| 1005 | <td class="mlabels-right"> |
| 1006 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 1007 | </tr> |
| 1008 | </table> |
| 1009 | </div><div class="memdoc"> |
| 1010 | |
| 1011 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00256">256</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1012 | <div class="fragment"><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> { <span class="keywordflow">return</span> m_AllowExpandedDims; };</div> |
| 1013 | </div><!-- fragment --> |
| 1014 | <p class="reference">Referenced by <a class="el" href="_layer_with_parameters_8hpp_source.html#l00044">LayerWithParameters< StridedSliceDescriptor >::PrepInfoAndDesc()</a>.</p> |
| 1015 | |
| 1016 | </div> |
| 1017 | </div> |
| 1018 | <a id="a6ff80e440308295056b57e2adaa42888"></a> |
| 1019 | <h2 class="memtitle"><span class="permalink"><a href="#a6ff80e440308295056b57e2adaa42888">◆ </a></span>GetBackendHint()</h2> |
| 1020 | |
| 1021 | <div class="memitem"> |
| 1022 | <div class="memproto"> |
| 1023 | <table class="mlabels"> |
| 1024 | <tr> |
| 1025 | <td class="mlabels-left"> |
| 1026 | <table class="memname"> |
| 1027 | <tr> |
| 1028 | <td class="memname"><a class="el" href="classarmnn_1_1_optional.html">Optional</a><<a class="el" href="classarmnn_1_1_backend_id.html">BackendId</a>> GetBackendHint </td> |
| 1029 | <td>(</td> |
| 1030 | <td class="paramname"></td><td>)</td> |
| 1031 | <td> const</td> |
| 1032 | </tr> |
| 1033 | </table> |
| 1034 | </td> |
| 1035 | <td class="mlabels-right"> |
| 1036 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 1037 | </tr> |
| 1038 | </table> |
| 1039 | </div><div class="memdoc"> |
| 1040 | |
| 1041 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00355">355</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1042 | <div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> { <span class="keywordflow">return</span> m_BackendHint; }</div> |
| 1043 | </div><!-- fragment --> |
| 1044 | <p class="reference">Referenced by <a class="el" href="_network_8cpp_source.html#l03063">NetworkImpl::AddPrecompiledLayer()</a>, and <a class="el" href="_layer_clone_base_8hpp_source.html#l00014">Layer::CloneBase()</a>.</p> |
| 1045 | |
| 1046 | </div> |
| 1047 | </div> |
| 1048 | <a id="afdb1d37740e7a083b625d669588b6a0e"></a> |
| 1049 | <h2 class="memtitle"><span class="permalink"><a href="#afdb1d37740e7a083b625d669588b6a0e">◆ </a></span>GetBackendId()</h2> |
| 1050 | |
| 1051 | <div class="memitem"> |
| 1052 | <div class="memproto"> |
| 1053 | <table class="mlabels"> |
| 1054 | <tr> |
| 1055 | <td class="mlabels-left"> |
| 1056 | <table class="memname"> |
| 1057 | <tr> |
| 1058 | <td class="memname">const <a class="el" href="classarmnn_1_1_backend_id.html">BackendId</a>& GetBackendId </td> |
| 1059 | <td>(</td> |
| 1060 | <td class="paramname"></td><td>)</td> |
| 1061 | <td> const</td> |
| 1062 | </tr> |
| 1063 | </table> |
| 1064 | </td> |
| 1065 | <td class="mlabels-right"> |
| 1066 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 1067 | </tr> |
| 1068 | </table> |
| 1069 | </div><div class="memdoc"> |
| 1070 | |
| 1071 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00290">290</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1072 | <div class="fragment"><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> { <span class="keywordflow">return</span> m_BackendId; }</div> |
| 1073 | </div><!-- fragment --> |
| 1074 | <p class="reference">Referenced by <a class="el" href="_graph_8cpp_source.html#l00330">Graph::AddCompatibilityLayers()</a>, <a class="el" href="_network_8cpp_source.html#l01320">armnn::ApplyBackendOptimizations()</a>, <a class="el" href="_network_8cpp_source.html#l00844">armnn::AttemptBackendAssignment()</a>, <a class="el" href="_network_8cpp_source.html#l01729">armnn::CalculateEdgeStrategy()</a>, <a class="el" href="_network_8cpp_source.html#l01576">armnn::CalculateSlotOption()</a>, <a class="el" href="_network_8cpp_source.html#l01474">armnn::CalculateSlotOptionForInput()</a>, <a class="el" href="_layer_clone_base_8hpp_source.html#l00014">Layer::CloneBase()</a>, <a class="el" href="_loaded_network_8cpp_source.html#l02025">LoadedNetwork::CreateWorkingMemHandle()</a>, <a class="el" href="_loaded_network_8cpp_source.html#l01486">LoadedNetwork::ImportInputs()</a>, <a class="el" href="_loaded_network_8cpp_source.html#l01632">LoadedNetwork::ImportOutputs()</a>, and <a class="el" href="_network_8cpp_source.html#l01821">armnn::SelectTensorHandleStrategy()</a>.</p> |
| 1075 | |
| 1076 | </div> |
| 1077 | </div> |
| 1078 | <a id="a45544992c89527fa4d51498a91401640"></a> |
| 1079 | <h2 class="memtitle"><span class="permalink"><a href="#a45544992c89527fa4d51498a91401640">◆ </a></span>GetConstantTensorsByRef() <span class="overload">[1/2]</span></h2> |
| 1080 | |
| 1081 | <div class="memitem"> |
| 1082 | <div class="memproto"> |
| 1083 | <table class="mlabels"> |
| 1084 | <tr> |
| 1085 | <td class="mlabels-left"> |
| 1086 | <table class="memname"> |
| 1087 | <tr> |
| 1088 | <td class="memname">virtual <a class="el" href="classarmnn_1_1_i_connectable_layer.html#aba5c20cadbebd2e7ba67e20a47e31472">ImmutableConstantTensors</a> GetConstantTensorsByRef </td> |
| 1089 | <td>(</td> |
| 1090 | <td class="paramname"></td><td>)</td> |
| 1091 | <td> const</td> |
| 1092 | </tr> |
| 1093 | </table> |
| 1094 | </td> |
| 1095 | <td class="mlabels-right"> |
| 1096 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> |
| 1097 | </tr> |
| 1098 | </table> |
| 1099 | </div><div class="memdoc"> |
| 1100 | |
| 1101 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#ae8ffb1cf9a5990f7c2ab50d160d4e70c">IConnectableLayer</a>.</p> |
| 1102 | |
| 1103 | <p>Reimplemented in <a class="el" href="classarmnn_1_1_q_lstm_layer.html#a29cc31172f6ab16ac931f90c667c092d">QLstmLayer</a>, <a class="el" href="classarmnn_1_1_quantized_lstm_layer.html#a29cc31172f6ab16ac931f90c667c092d">QuantizedLstmLayer</a>, <a class="el" href="classarmnn_1_1_unidirectional_sequence_lstm_layer.html#a29cc31172f6ab16ac931f90c667c092d">UnidirectionalSequenceLstmLayer</a>, <a class="el" href="classarmnn_1_1_lstm_layer.html#a29cc31172f6ab16ac931f90c667c092d">LstmLayer</a>, <a class="el" href="classarmnn_1_1_convolution2d_layer.html#a29cc31172f6ab16ac931f90c667c092d">Convolution2dLayer</a>, <a class="el" href="classarmnn_1_1_depthwise_convolution2d_layer.html#a29cc31172f6ab16ac931f90c667c092d">DepthwiseConvolution2dLayer</a>, <a class="el" href="classarmnn_1_1_constant_layer.html#a77123f40f710742ae19674ce628300bf">ConstantLayer</a>, <a class="el" href="classarmnn_1_1_fully_connected_layer.html#a29cc31172f6ab16ac931f90c667c092d">FullyConnectedLayer</a>, <a class="el" href="classarmnn_1_1_transpose_convolution2d_layer.html#a29cc31172f6ab16ac931f90c667c092d">TransposeConvolution2dLayer</a>, <a class="el" href="classarmnn_1_1_detection_post_process_layer.html#a29cc31172f6ab16ac931f90c667c092d">DetectionPostProcessLayer</a>, and <a class="el" href="classarmnn_1_1_batch_normalization_layer.html#a29cc31172f6ab16ac931f90c667c092d">BatchNormalizationLayer</a>.</p> |
| 1104 | |
| 1105 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00427">427</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1106 | <div class="fragment"><div class="line"><a name="l00427"></a><span class="lineno"> 427</span> { <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_connectable_layer.html#aba5c20cadbebd2e7ba67e20a47e31472">ImmutableConstantTensors</a>(); };</div> |
| 1107 | </div><!-- fragment --> |
| 1108 | </div> |
| 1109 | </div> |
| 1110 | <a id="a9114de666bc2d910faa846b04fc26974"></a> |
| 1111 | <h2 class="memtitle"><span class="permalink"><a href="#a9114de666bc2d910faa846b04fc26974">◆ </a></span>GetConstantTensorsByRef() <span class="overload">[2/2]</span></h2> |
| 1112 | |
| 1113 | <div class="memitem"> |
| 1114 | <div class="memproto"> |
| 1115 | <table class="mlabels"> |
| 1116 | <tr> |
| 1117 | <td class="mlabels-left"> |
| 1118 | <table class="memname"> |
| 1119 | <tr> |
| 1120 | <td class="memname"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#af978f897fb7e115a901cb7ed95f8e532">Layer::ConstantTensors</a> GetConstantTensorsByRef </td> |
| 1121 | <td>(</td> |
| 1122 | <td class="paramname"></td><td>)</td> |
| 1123 | <td></td> |
| 1124 | </tr> |
| 1125 | </table> |
| 1126 | </td> |
| 1127 | <td class="mlabels-right"> |
| 1128 | <span class="mlabels"><span class="mlabel">final</span><span class="mlabel">override</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> |
| 1129 | </tr> |
| 1130 | </table> |
| 1131 | </div><div class="memdoc"> |
| 1132 | |
| 1133 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a4c2ceb86756bf870d10a9ebe6fe8e14e">IConnectableLayer</a>.</p> |
| 1134 | |
| 1135 | <p class="definition">Definition at line <a class="el" href="_layer_8cpp_source.html#l00576">576</a> of file <a class="el" href="_layer_8cpp_source.html">Layer.cpp</a>.</p> |
| 1136 | <div class="fragment"><div class="line"><a name="l00577"></a><span class="lineno"> 577</span> {</div> |
| 1137 | <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_layer.html#a5e5ae420d199a0bccae5139d38c30205">Layer</a> *constThis = <span class="keyword">const_cast<</span><span class="keyword">const </span><a class="code" href="classarmnn_1_1_layer.html#a5e5ae420d199a0bccae5139d38c30205">Layer</a>*<span class="keyword">></span>(<span class="keyword">this</span>);</div> |
| 1138 | <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <a class="code" href="classarmnn_1_1_i_connectable_layer.html#af978f897fb7e115a901cb7ed95f8e532">ConstantTensors</a> res;</div> |
| 1139 | <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  </div> |
| 1140 | <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <a class="code" href="classarmnn_1_1_i_connectable_layer.html#aba5c20cadbebd2e7ba67e20a47e31472">ImmutableConstantTensors</a> immutableData = constThis->GetConstantTensorsByRef();</div> |
| 1141 | <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> i : immutableData)</div> |
| 1142 | <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  {</div> |
| 1143 | <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  res.push_back(<span class="keyword">const_cast<</span>std::shared_ptr<ConstTensorHandle>&<span class="keyword">></span>(i.get()));</div> |
| 1144 | <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  }</div> |
| 1145 | <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <span class="keywordflow">return</span> res;</div> |
| 1146 | <div class="line"><a name="l00587"></a><span class="lineno"> 587</span> }</div> |
| 1147 | </div><!-- fragment --> |
| 1148 | <p class="reference">References <a class="el" href="_layer_8cpp_source.html#l00576">Layer::GetConstantTensorsByRef()</a>.</p> |
| 1149 | |
| 1150 | <p class="reference">Referenced by <a class="el" href="_layer_8cpp_source.html#l00576">Layer::GetConstantTensorsByRef()</a>, and <a class="el" href="_layer_8hpp_source.html#l00319">Layer::OperateOnConstantTensors()</a>.</p> |
| 1151 | |
| 1152 | </div> |
| 1153 | </div> |
| 1154 | <a id="aea909c7327109228ef618d459015def3"></a> |
| 1155 | <h2 class="memtitle"><span class="permalink"><a href="#aea909c7327109228ef618d459015def3">◆ </a></span>GetDataType()</h2> |
| 1156 | |
| 1157 | <div class="memitem"> |
| 1158 | <div class="memproto"> |
| 1159 | <table class="memname"> |
| 1160 | <tr> |
| 1161 | <td class="memname"><a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> GetDataType </td> |
| 1162 | <td>(</td> |
| 1163 | <td class="paramname"></td><td>)</td> |
| 1164 | <td> const</td> |
| 1165 | </tr> |
| 1166 | </table> |
| 1167 | </div><div class="memdoc"> |
| 1168 | |
| 1169 | <p class="definition">Definition at line <a class="el" href="_layer_8cpp_source.html#l00345">345</a> of file <a class="el" href="_layer_8cpp_source.html">Layer.cpp</a>.</p> |
| 1170 | <div class="fragment"><div class="line"><a name="l00346"></a><span class="lineno"> 346</span> {</div> |
| 1171 | <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">if</span> (<a class="code" href="classarmnn_1_1_layer.html#abc0660dc440c8a285b456c9ef6383c26">GetNumInputSlots</a>() > 0) <span class="comment">// Ignore the input layer.</span></div> |
| 1172 | <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  {</div> |
| 1173 | <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">GetInputSlot</a>(0).<a class="code" href="classarmnn_1_1_input_slot.html#ada2ad7d1caeeb4ef6195c8925fad6a65">GetTensorInfo</a>().<a class="code" href="classarmnn_1_1_tensor_info.html#aea909c7327109228ef618d459015def3">GetDataType</a>();</div> |
| 1174 | <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  }</div> |
| 1175 | <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_layer.html#a0e36688a43c35668d8db5257274c68fe">GetOutputSlot</a>(0).<a class="code" href="classarmnn_1_1_output_slot.html#ada2ad7d1caeeb4ef6195c8925fad6a65">GetTensorInfo</a>().<a class="code" href="classarmnn_1_1_tensor_info.html#aea909c7327109228ef618d459015def3">GetDataType</a>();</div> |
| 1176 | <div class="line"><a name="l00352"></a><span class="lineno"> 352</span> }</div> |
| 1177 | </div><!-- fragment --> |
| 1178 | <p class="reference">References <a class="el" href="_tensor_8hpp_source.html#l00200">TensorInfo::GetDataType()</a>, <a class="el" href="_layer_8hpp_source.html#l00337">Layer::GetInputSlot()</a>, <a class="el" href="_layer_8hpp_source.html#l00334">Layer::GetNumInputSlots()</a>, <a class="el" href="_layer_8hpp_source.html#l00339">Layer::GetOutputSlot()</a>, <a class="el" href="_layer_8cpp_source.html#l00614">InputSlot::GetTensorInfo()</a>, and <a class="el" href="_layer_8cpp_source.html#l00100">OutputSlot::GetTensorInfo()</a>.</p> |
| 1179 | |
| 1180 | <p class="reference">Referenced by <a class="el" href="_convert_fp32_network_to_fp16_8hpp_source.html#l00018">ConvertFp32NetworkToFp16Impl::Run()</a>, <a class="el" href="_convert_const_permute_layers_to_const_layers_8hpp_source.html#l00020">ConvertConstPermuteLayersToConstLayers::Run()</a>, <a class="el" href="_fuse_batch_norm_8hpp_source.html#l00027">FuseBatchNorm< ConvLayer, ArmnnType, T >::Run()</a>, <a class="el" href="_convert_constants_8hpp_source.html#l00084">IsFloat32Layer::Test()</a>, and <a class="el" href="_convert_constants_8hpp_source.html#l00092">IsFloat16Layer::Test()</a>.</p> |
| 1181 | |
| 1182 | </div> |
| 1183 | </div> |
| 1184 | <a id="a8dc12f0ee5b232d397bd18ced1a72a64"></a> |
| 1185 | <h2 class="memtitle"><span class="permalink"><a href="#a8dc12f0ee5b232d397bd18ced1a72a64">◆ </a></span>GetGuid()</h2> |
| 1186 | |
| 1187 | <div class="memitem"> |
| 1188 | <div class="memproto"> |
| 1189 | <table class="mlabels"> |
| 1190 | <tr> |
| 1191 | <td class="mlabels-left"> |
| 1192 | <table class="memname"> |
| 1193 | <tr> |
| 1194 | <td class="memname"><a class="el" href="_types_8hpp.html#af22094b802160f09f7c89ad9eee10084">LayerGuid</a> GetGuid </td> |
| 1195 | <td>(</td> |
| 1196 | <td class="paramname"></td><td>)</td> |
| 1197 | <td> const</td> |
| 1198 | </tr> |
| 1199 | </table> |
| 1200 | </td> |
| 1201 | <td class="mlabels-right"> |
| 1202 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">final</span><span class="mlabel">virtual</span></span> </td> |
| 1203 | </tr> |
| 1204 | </table> |
| 1205 | </div><div class="memdoc"> |
| 1206 | |
| 1207 | <p>Returns the unique id of the layer. </p> |
| 1208 | |
| 1209 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#afb5e65c770f6cee222db8af7581541a6">IConnectableLayer</a>.</p> |
| 1210 | |
| 1211 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00343">343</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1212 | <div class="fragment"><div class="line"><a name="l00343"></a><span class="lineno"> 343</span> { <span class="keywordflow">return</span> m_Guid; }</div> |
| 1213 | </div><!-- fragment --> |
| 1214 | <p class="reference">Referenced by <a class="el" href="_layer_clone_base_8hpp_source.html#l00014">Layer::CloneBase()</a>, <a class="el" href="_constant_operator_8cpp_source.html#l00010">ConvertConstantToTosaOperator()</a>, <a class="el" href="_debug_layer_8cpp_source.html#l00025">DebugLayer::CreateWorkload()</a>, <a class="el" href="_layer_8cpp_source.html#l00208">OutputSlot::GetOwningLayerGuid()</a>, <a class="el" href="_ref_backend_8cpp_source.html#l00072">RefBackend::OptimizeSubgraphView()</a>, <a class="el" href="_neon_backend_8cpp_source.html#l00144">NeonBackend::OptimizeSubgraphView()</a>, <a class="el" href="_cl_backend_8cpp_source.html#l00292">ClBackend::OptimizeSubgraphView()</a>, <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00220">GpuFsaBackend::OptimizeSubgraphView()</a>, <a class="el" href="_subgraph_utils_8hpp_source.html#l00293">armnn::RemoveReshapeLayer()</a>, and <a class="el" href="_graph_8cpp_source.html#l00146">Graph::SerializeToDot()</a>.</p> |
| 1215 | |
| 1216 | </div> |
| 1217 | </div> |
| 1218 | <a id="acf8b8e23bf647836592982f97088d375"></a> |
| 1219 | <h2 class="memtitle"><span class="permalink"><a href="#acf8b8e23bf647836592982f97088d375">◆ </a></span>GetInputSlot() <span class="overload">[1/2]</span></h2> |
| 1220 | |
| 1221 | <div class="memitem"> |
| 1222 | <div class="memproto"> |
| 1223 | <table class="mlabels"> |
| 1224 | <tr> |
| 1225 | <td class="mlabels-left"> |
| 1226 | <table class="memname"> |
| 1227 | <tr> |
| 1228 | <td class="memname">const <a class="el" href="classarmnn_1_1_input_slot.html">InputSlot</a>& GetInputSlot </td> |
| 1229 | <td>(</td> |
| 1230 | <td class="paramtype">unsigned int </td> |
| 1231 | <td class="paramname"><em>index</em></td><td>)</td> |
| 1232 | <td> const</td> |
| 1233 | </tr> |
| 1234 | </table> |
| 1235 | </td> |
| 1236 | <td class="mlabels-right"> |
| 1237 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> |
| 1238 | </tr> |
| 1239 | </table> |
| 1240 | </div><div class="memdoc"> |
| 1241 | |
| 1242 | <p>Get a const input slot handle by slot index. </p> |
| 1243 | |
| 1244 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a6ec9e0eb66d7d6a01240492a0b18104c">IConnectableLayer</a>.</p> |
| 1245 | <dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_async_execution_sample_8cpp-example.html#a18">AsyncExecutionSample.cpp</a>, and <a class="el" href="_simple_sample_8cpp-example.html#a18">SimpleSample.cpp</a>.</dd> |
| 1246 | </dl> |
| 1247 | |
| 1248 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00337">337</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1249 | <div class="fragment"><div class="line"><a name="l00337"></a><span class="lineno"> 337</span> { <span class="keywordflow">return</span> m_InputSlots.at(index); }</div> |
| 1250 | </div><!-- fragment --> |
| 1251 | <p class="reference">Referenced by <a class="el" href="_graph_8cpp_source.html#l00330">Graph::AddCompatibilityLayers()</a>, <a class="el" href="_network_8cpp_source.html#l01320">armnn::ApplyBackendOptimizations()</a>, <a class="el" href="_neon_backend_optimization_utils_8hpp_source.html#l00087">armnn::BuildAddMulAddTensorInfoLists()</a>, <a class="el" href="_arm_compute_subgraph_utils_8hpp_source.html#l00278">armnn::ChainReduceLayers()</a>, <a class="el" href="_subgraph_utils_8hpp_source.html#l00271">armnn::ConnectedToLayerType()</a>, <a class="el" href="_subgraph_utils_8hpp_source.html#l00250">armnn::ConnectedToLayerWithNCHW()</a>, <a class="el" href="_activation_operator_8cpp_source.html#l00017">ConvertActivationToTosaOperator()</a>, <a class="el" href="_avg_pool2_d_ignore_value_operator_8cpp_source.html#l00008">ConvertAvgPool2DIgnoreValueToTosaOperator()</a>, <a class="el" href="_concat_operator_8cpp_source.html#l00008">ConvertConcatToTosaOperator()</a>, <a class="el" href="_conv2d_operator_8cpp_source.html#l00010">ConvertConv2dToTosaOperator()</a>, <a class="el" href="_elementwise_binary_operator_8cpp_source.html#l00008">ConvertElementwiseBinaryToTosaOperator()</a>, <a class="el" href="_elementwise_unary_operator_8cpp_source.html#l00008">ConvertElementwiseUnaryOperator()</a>, <a class="el" href="_pooling2_d_operator_8cpp_source.html#l00008">ConvertPooling2DToTosaOperator()</a>, <a class="el" href="_quantize_operator_8cpp_source.html#l00015">ConvertQuantizeToTosaOperator()</a>, <a class="el" href="_reshape_operator_8cpp_source.html#l00008">ConvertReshapeToTosaOperator()</a>, <a class="el" href="_resize_operator_8cpp_source.html#l00015">ConvertResizeToTosaOperator()</a>, <a class="el" href="_slice_operator_8cpp_source.html#l00008">ConvertSliceToTosaOperator()</a>, <a class="el" href="_transpose_conv2d_operator_8cpp_source.html#l00010">ConvertTransposeConv2dToTosaOperator()</a>, <a class="el" href="_transpose_operator_8cpp_source.html#l00008">ConvertTransposeToTosaOperator()</a>, <a class="el" href="_debug_layer_8cpp_source.html#l00025">DebugLayer::CreateWorkload()</a>, <a class="el" href="_fold_pad_into_layer2d_8hpp_source.html#l00144">armnn::optimizations::pad_fold::FoldPadIntoLayer2dImpl()</a>, <a class="el" href="_layer_with_parameters_8hpp_source.html#l00059">LayerWithParameters< StridedSliceDescriptor >::GetConnectedConstantAsInputTensors()</a>, <a class="el" href="_layer_8cpp_source.html#l00345">Layer::GetDataType()</a>, <a class="el" href="_network_8cpp_source.html#l01017">armnn::GetLayerInOutDatatype()</a>, <a class="el" href="_graph_8cpp_source.html#l00027">Graph::Graph()</a>, <a class="el" href="_layer_8cpp_source.html#l00053">InputSlot::Insert()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00040">armnn::InsertConvertFp16ToFp32LayersBefore()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00079">armnn::InsertConvertFp32ToFp16LayersAfter()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00112">armnn::InsertDebugLayerAfter()</a>, <a class="el" href="_ref_backend_8cpp_source.html#l00072">RefBackend::OptimizeSubgraphView()</a>, <a class="el" href="_neon_backend_8cpp_source.html#l00144">NeonBackend::OptimizeSubgraphView()</a>, <a class="el" href="_cl_backend_8cpp_source.html#l00292">ClBackend::OptimizeSubgraphView()</a>, <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00220">GpuFsaBackend::OptimizeSubgraphView()</a>, <a class="el" href="_subgraph_utils_8hpp_source.html#l00293">armnn::RemoveReshapeLayer()</a>, <a class="el" href="_transpose_as_reshape_8hpp_source.html#l00018">TransposeAsReshapeImpl::Run()</a>, <a class="el" href="_permute_as_reshape_8hpp_source.html#l00018">PermuteAsReshapeImpl::Run()</a>, <a class="el" href="_optimize_consecutive_reshapes_8hpp_source.html#l00019">OptimizeConsecutiveReshapesImpl::Run()</a>, <a class="el" href="_optimize_inverse_conversions_8hpp_source.html#l00021">OptimizeInverseConversionsImpl::Run()</a>, <a class="el" href="_permute_and_batch_to_space_as_depth_to_space_8hpp_source.html#l00021">PermuteAndBatchToSpaceAsDepthToSpaceImpl< PermuteType >::Run()</a>, <a class="el" href="_optimize_inverse_permutes_8hpp_source.html#l00023">OptimizeInversePermutesImpl< PermuteType >::Run()</a>, <a class="el" href="_move_transpose_up_8hpp_source.html#l00023">MoveTransposeUpImpl::Run()</a>, <a class="el" href="_move_permute_up_8hpp_source.html#l00023">MovePermuteUpImpl::Run()</a>, <a class="el" href="_add_broadcast_reshape_layer_8hpp_source.html#l00027">AddBroadcastReshapeLayerImpl::Run()</a>, <a class="el" href="_fuse_batch_norm_8hpp_source.html#l00027">FuseBatchNorm< ConvLayer, ArmnnType, T >::Run()</a>, <a class="el" href="_convolution2d_layer_8cpp_source.html#l00029">Convolution2dLayer::SerializeLayerParameters()</a>, <a class="el" href="_convolution3d_layer_8cpp_source.html#l00023">Convolution3dLayer::SerializeLayerParameters()</a>, <a class="el" href="_depthwise_convolution2d_layer_8cpp_source.html#l00029">DepthwiseConvolution2dLayer::SerializeLayerParameters()</a>, <a class="el" href="_elementwise_base_layer_8cpp_source.html#l00068">ElementwiseBaseLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_quantize_layer_8cpp_source.html#l00033">QuantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_activation_layer_8cpp_source.html#l00033">ActivationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_channel_shuffle_layer_8cpp_source.html#l00035">ChannelShuffleLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convert_fp32_to_fp16_layer_8cpp_source.html#l00034">ConvertFp32ToFp16Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fill_layer_8cpp_source.html#l00034">FillLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_shape_layer_8cpp_source.html#l00037">ShapeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_slice_layer_8cpp_source.html#l00037">SliceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fake_quantization_layer_8cpp_source.html#l00034">FakeQuantizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convert_fp16_to_fp32_layer_8cpp_source.html#l00035">ConvertFp16ToFp32Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_floor_layer_8cpp_source.html#l00034">FloorLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_switch_layer_8cpp_source.html#l00032">SwitchLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_transpose_layer_8cpp_source.html#l00050">TransposeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_instance_normalization_layer_8cpp_source.html#l00034">InstanceNormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pooling3d_layer_8cpp_source.html#l00119">Pooling3dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_abs_layer_8cpp_source.html#l00036">AbsLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mem_import_layer_8cpp_source.html#l00037">MemImportLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_stack_layer_8cpp_source.html#l00067">StackLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_merge_layer_8cpp_source.html#l00030">MergeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_l2_normalization_layer_8cpp_source.html#l00034">L2NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_to_space_nd_layer_8cpp_source.html#l00038">BatchToSpaceNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_debug_layer_8cpp_source.html#l00045">DebugLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_dequantize_layer_8cpp_source.html#l00033">DequantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_softmax_layer_8cpp_source.html#l00034">SoftmaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mem_copy_layer_8cpp_source.html#l00037">MemCopyLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_permute_layer_8cpp_source.html#l00050">PermuteLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_cast_layer_8cpp_source.html#l00034">CastLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pooling2d_layer_8cpp_source.html#l00115">Pooling2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_normalization_layer_8cpp_source.html#l00034">NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_resize_layer_8cpp_source.html#l00067">ResizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_rsqrt_layer_8cpp_source.html#l00036">RsqrtLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mean_layer_8cpp_source.html#l00044">MeanLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_log_softmax_layer_8cpp_source.html#l00034">LogSoftmaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pad_layer_8cpp_source.html#l00077">PadLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reshape_layer_8cpp_source.html#l00041">ReshapeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fully_connected_layer_8cpp_source.html#l00053">FullyConnectedLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convolution2d_layer_8cpp_source.html#l00117">Convolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convolution3d_layer_8cpp_source.html#l00126">Convolution3dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_depthwise_convolution2d_layer_8cpp_source.html#l00121">DepthwiseConvolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_scatter_nd_layer_8cpp_source.html#l00052">ScatterNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_gather_nd_layer_8cpp_source.html#l00089">GatherNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_tile_layer_8cpp_source.html#l00062">TileLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00097">BatchMatMulLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_elementwise_binary_layer_8cpp_source.html#l00076">ElementwiseBinaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_gather_layer_8cpp_source.html#l00079">GatherLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_elementwise_unary_layer_8cpp_source.html#l00048">ElementwiseUnaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_detection_post_process_layer_8cpp_source.html#l00039">DetectionPostProcessLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_strided_slice_layer_8cpp_source.html#l00103">StridedSliceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_arg_min_max_layer_8cpp_source.html#l00084">ArgMinMaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reduce_layer_8cpp_source.html#l00044">ReduceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reverse_v2_layer_8cpp_source.html#l00054">ReverseV2Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_comparison_layer_8cpp_source.html#l00080">ComparisonLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_logical_binary_layer_8cpp_source.html#l00072">LogicalBinaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_depth_to_space_layer_8cpp_source.html#l00066">DepthToSpaceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_transpose_convolution2d_layer_8cpp_source.html#l00104">TransposeConvolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_space_to_batch_nd_layer_8cpp_source.html#l00063">SpaceToBatchNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_prelu_layer_8cpp_source.html#l00114">PreluLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_space_to_depth_layer_8cpp_source.html#l00068">SpaceToDepthLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_concat_layer_8cpp_source.html#l00309">ConcatLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_unidirectional_sequence_lstm_layer_8cpp_source.html#l00172">UnidirectionalSequenceLstmLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00172">LstmLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_normalization_layer_8cpp_source.html#l00067">BatchNormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_output_layer_8cpp_source.html#l00032">OutputLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_quantized_lstm_layer_8cpp_source.html#l00100">QuantizedLstmLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_q_lstm_layer_8cpp_source.html#l00174">QLstmLayer::ValidateTensorShapesFromInputs()</a>, and <a class="el" href="_layer_8cpp_source.html#l00410">Layer::VerifyLayerConnections()</a>.</p> |
| 1252 | |
| 1253 | </div> |
| 1254 | </div> |
| 1255 | <a id="a1b50eb1358cdf382f4bc3fc8849f8e8e"></a> |
| 1256 | <h2 class="memtitle"><span class="permalink"><a href="#a1b50eb1358cdf382f4bc3fc8849f8e8e">◆ </a></span>GetInputSlot() <span class="overload">[2/2]</span></h2> |
| 1257 | |
| 1258 | <div class="memitem"> |
| 1259 | <div class="memproto"> |
| 1260 | <table class="mlabels"> |
| 1261 | <tr> |
| 1262 | <td class="mlabels-left"> |
| 1263 | <table class="memname"> |
| 1264 | <tr> |
| 1265 | <td class="memname"><a class="el" href="classarmnn_1_1_input_slot.html">InputSlot</a>& GetInputSlot </td> |
| 1266 | <td>(</td> |
| 1267 | <td class="paramtype">unsigned int </td> |
| 1268 | <td class="paramname"><em>index</em></td><td>)</td> |
| 1269 | <td></td> |
| 1270 | </tr> |
| 1271 | </table> |
| 1272 | </td> |
| 1273 | <td class="mlabels-right"> |
| 1274 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> |
| 1275 | </tr> |
| 1276 | </table> |
| 1277 | </div><div class="memdoc"> |
| 1278 | |
| 1279 | <p>Get the input slot handle by slot index. </p> |
| 1280 | |
| 1281 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#ae3fd4f909aec6a9e150ba82dfad4017f">IConnectableLayer</a>.</p> |
| 1282 | |
| 1283 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00338">338</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1284 | <div class="fragment"><div class="line"><a name="l00338"></a><span class="lineno"> 338</span> { <span class="keywordflow">return</span> m_InputSlots.at(index); }</div> |
| 1285 | </div><!-- fragment --> |
| 1286 | </div> |
| 1287 | </div> |
| 1288 | <a id="af5f530544d09a44d726f24702b67b35b"></a> |
| 1289 | <h2 class="memtitle"><span class="permalink"><a href="#af5f530544d09a44d726f24702b67b35b">◆ </a></span>GetInputSlots()</h2> |
| 1290 | |
| 1291 | <div class="memitem"> |
| 1292 | <div class="memproto"> |
| 1293 | <table class="mlabels"> |
| 1294 | <tr> |
| 1295 | <td class="mlabels-left"> |
| 1296 | <table class="memname"> |
| 1297 | <tr> |
| 1298 | <td class="memname">const std::vector<<a class="el" href="classarmnn_1_1_input_slot.html">InputSlot</a>>& GetInputSlots </td> |
| 1299 | <td>(</td> |
| 1300 | <td class="paramname"></td><td>)</td> |
| 1301 | <td> const</td> |
| 1302 | </tr> |
| 1303 | </table> |
| 1304 | </td> |
| 1305 | <td class="mlabels-right"> |
| 1306 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 1307 | </tr> |
| 1308 | </table> |
| 1309 | </div><div class="memdoc"> |
| 1310 | |
| 1311 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00258">258</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1312 | <div class="fragment"><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> { <span class="keywordflow">return</span> m_InputSlots; }</div> |
| 1313 | </div><!-- fragment --> |
| 1314 | <p class="reference">Referenced by <a class="el" href="_network_8cpp_source.html#l00844">armnn::AttemptBackendAssignment()</a>, <a class="el" href="_network_8cpp_source.html#l01576">armnn::CalculateSlotOption()</a>, <a class="el" href="_subgraph_view_selector_8cpp_source.html#l00277">armnn::ForEachLayerInput()</a>, <a class="el" href="_layer_8cpp_source.html#l00360">Layer::GetPriority()</a>, <a class="el" href="_tosa_mappings_8cpp_source.html#l00130">GetTosaMappingFromLayer()</a>, <a class="el" href="_loaded_network_8cpp_source.html#l01632">LoadedNetwork::ImportOutputs()</a>, <a class="el" href="_convert_fp32_network_to_fp16_8hpp_source.html#l00018">ConvertFp32NetworkToFp16Impl::Run()</a>, and <a class="el" href="_delete_broadcast_to_8hpp_source.html#l00019">DeleteBroadcastToImpl::Run()</a>.</p> |
| 1315 | |
| 1316 | </div> |
| 1317 | </div> |
| 1318 | <a id="a7ddf0cf6f620d59c10e63495ace795d0"></a> |
| 1319 | <h2 class="memtitle"><span class="permalink"><a href="#a7ddf0cf6f620d59c10e63495ace795d0">◆ </a></span>GetName()</h2> |
| 1320 | |
| 1321 | <div class="memitem"> |
| 1322 | <div class="memproto"> |
| 1323 | <table class="mlabels"> |
| 1324 | <tr> |
| 1325 | <td class="mlabels-left"> |
| 1326 | <table class="memname"> |
| 1327 | <tr> |
| 1328 | <td class="memname">const char* GetName </td> |
| 1329 | <td>(</td> |
| 1330 | <td class="paramname"></td><td>)</td> |
| 1331 | <td> const</td> |
| 1332 | </tr> |
| 1333 | </table> |
| 1334 | </td> |
| 1335 | <td class="mlabels-right"> |
| 1336 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> |
| 1337 | </tr> |
| 1338 | </table> |
| 1339 | </div><div class="memdoc"> |
| 1340 | |
| 1341 | <p>Returns the name of the layer. </p> |
| 1342 | |
| 1343 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#afcc1c3a20bd2860e0ddd21674389246f">IConnectableLayer</a>.</p> |
| 1344 | |
| 1345 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00332">332</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1346 | <div class="fragment"><div class="line"><a name="l00332"></a><span class="lineno"> 332</span> { <span class="keywordflow">return</span> m_LayerName.c_str(); }</div> |
| 1347 | </div><!-- fragment --> |
| 1348 | <p class="reference">Referenced by <a class="el" href="_graph_8cpp_source.html#l00330">Graph::AddCompatibilityLayers()</a>, <a class="el" href="_channel_shuffle_layer_8cpp_source.html#l00030">ChannelShuffleLayer::Clone()</a>, <a class="el" href="_quantize_layer_8cpp_source.html#l00027">QuantizeLayer::Clone()</a>, <a class="el" href="_broadcast_to_layer_8cpp_source.html#l00028">BroadcastToLayer::Clone()</a>, <a class="el" href="_activation_layer_8cpp_source.html#l00028">ActivationLayer::Clone()</a>, <a class="el" href="_fill_layer_8cpp_source.html#l00029">FillLayer::Clone()</a>, <a class="el" href="_convert_fp32_to_fp16_layer_8cpp_source.html#l00029">ConvertFp32ToFp16Layer::Clone()</a>, <a class="el" href="_rank_layer_8cpp_source.html#l00028">RankLayer::Clone()</a>, <a class="el" href="_abs_layer_8cpp_source.html#l00031">AbsLayer::Clone()</a>, <a class="el" href="_addition_layer_8cpp_source.html#l00030">AdditionLayer::Clone()</a>, <a class="el" href="_input_layer_8cpp_source.html#l00026">InputLayer::Clone()</a>, <a class="el" href="_slice_layer_8cpp_source.html#l00032">SliceLayer::Clone()</a>, <a class="el" href="_softmax_layer_8cpp_source.html#l00029">SoftmaxLayer::Clone()</a>, <a class="el" href="_instance_normalization_layer_8cpp_source.html#l00029">InstanceNormalizationLayer::Clone()</a>, <a class="el" href="_debug_layer_8cpp_source.html#l00040">DebugLayer::Clone()</a>, <a class="el" href="_l2_normalization_layer_8cpp_source.html#l00029">L2NormalizationLayer::Clone()</a>, <a class="el" href="_stack_layer_8cpp_source.html#l00030">StackLayer::Clone()</a>, <a class="el" href="_strided_slice_layer_8cpp_source.html#l00042">StridedSliceLayer::Clone()</a>, <a class="el" href="_cast_layer_8cpp_source.html#l00029">CastLayer::Clone()</a>, <a class="el" href="_switch_layer_8cpp_source.html#l00027">SwitchLayer::Clone()</a>, <a class="el" href="_tile_layer_8cpp_source.html#l00025">TileLayer::Clone()</a>, <a class="el" href="_map_layer_8cpp_source.html#l00022">MapLayer::Clone()</a>, <a class="el" href="_unmap_layer_8cpp_source.html#l00022">UnmapLayer::Clone()</a>, <a class="el" href="_dequantize_layer_8cpp_source.html#l00028">DequantizeLayer::Clone()</a>, <a class="el" href="_mem_copy_layer_8cpp_source.html#l00022">MemCopyLayer::Clone()</a>, <a class="el" href="_mem_import_layer_8cpp_source.html#l00022">MemImportLayer::Clone()</a>, <a class="el" href="_merge_layer_8cpp_source.html#l00025">MergeLayer::Clone()</a>, <a class="el" href="_normalization_layer_8cpp_source.html#l00029">NormalizationLayer::Clone()</a>, <a class="el" href="_pooling2d_layer_8cpp_source.html#l00035">Pooling2dLayer::Clone()</a>, <a class="el" href="_pooling3d_layer_8cpp_source.html#l00035">Pooling3dLayer::Clone()</a>, <a class="el" href="_convert_fp16_to_fp32_layer_8cpp_source.html#l00030">ConvertFp16ToFp32Layer::Clone()</a>, <a class="el" href="_fake_quantization_layer_8cpp_source.html#l00029">FakeQuantizationLayer::Clone()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00026">BatchMatMulLayer::Clone()</a>, <a class="el" href="_floor_layer_8cpp_source.html#l00029">FloorLayer::Clone()</a>, <a class="el" href="_batch_to_space_nd_layer_8cpp_source.html#l00032">BatchToSpaceNdLayer::Clone()</a>, <a class="el" href="_resize_layer_8cpp_source.html#l00034">ResizeLayer::Clone()</a>, <a class="el" href="_gather_nd_layer_8cpp_source.html#l00029">GatherNdLayer::Clone()</a>, <a class="el" href="_rsqrt_layer_8cpp_source.html#l00031">RsqrtLayer::Clone()</a>, <a class="el" href="_scatter_nd_layer_8cpp_source.html#l00029">ScatterNdLayer::Clone()</a>, <a class="el" href="_shape_layer_8cpp_source.html#l00032">ShapeLayer::Clone()</a>, <a class="el" href="_space_to_batch_nd_layer_8cpp_source.html#l00033">SpaceToBatchNdLayer::Clone()</a>, <a class="el" href="_space_to_depth_layer_8cpp_source.html#l00038">SpaceToDepthLayer::Clone()</a>, <a class="el" href="_stand_in_layer_8cpp_source.html#l00026">StandInLayer::Clone()</a>, <a class="el" href="_logical_binary_layer_8cpp_source.html#l00029">LogicalBinaryLayer::Clone()</a>, <a class="el" href="_depth_to_space_layer_8cpp_source.html#l00036">DepthToSpaceLayer::Clone()</a>, <a class="el" href="_subtraction_layer_8cpp_source.html#l00030">SubtractionLayer::Clone()</a>, <a class="el" href="_log_softmax_layer_8cpp_source.html#l00029">LogSoftmaxLayer::Clone()</a>, <a class="el" href="_transpose_layer_8cpp_source.html#l00033">TransposeLayer::Clone()</a>, <a class="el" href="_maximum_layer_8cpp_source.html#l00029">MaximumLayer::Clone()</a>, <a class="el" href="_mean_layer_8cpp_source.html#l00034">MeanLayer::Clone()</a>, <a class="el" href="_arg_min_max_layer_8cpp_source.html#l00032">ArgMinMaxLayer::Clone()</a>, <a class="el" href="_comparison_layer_8cpp_source.html#l00031">ComparisonLayer::Clone()</a>, <a class="el" href="_minimum_layer_8cpp_source.html#l00030">MinimumLayer::Clone()</a>, <a class="el" href="_division_layer_8cpp_source.html#l00030">DivisionLayer::Clone()</a>, <a class="el" href="_multiplication_layer_8cpp_source.html#l00030">MultiplicationLayer::Clone()</a>, <a class="el" href="_pad_layer_8cpp_source.html#l00032">PadLayer::Clone()</a>, <a class="el" href="_elementwise_binary_layer_8cpp_source.html#l00026">ElementwiseBinaryLayer::Clone()</a>, <a class="el" href="_permute_layer_8cpp_source.html#l00033">PermuteLayer::Clone()</a>, <a class="el" href="_elementwise_unary_layer_8cpp_source.html#l00029">ElementwiseUnaryLayer::Clone()</a>, <a class="el" href="_prelu_layer_8cpp_source.html#l00031">PreluLayer::Clone()</a>, <a class="el" href="_reduce_layer_8cpp_source.html#l00034">ReduceLayer::Clone()</a>, <a class="el" href="_reverse_v2_layer_8cpp_source.html#l00026">ReverseV2Layer::Clone()</a>, <a class="el" href="_gather_layer_8cpp_source.html#l00029">GatherLayer::Clone()</a>, <a class="el" href="_constant_layer_8cpp_source.html#l00030">ConstantLayer::Clone()</a>, <a class="el" href="_reshape_layer_8cpp_source.html#l00030">ReshapeLayer::Clone()</a>, <a class="el" href="_convolution3d_layer_8cpp_source.html#l00056">Convolution3dLayer::Clone()</a>, <a class="el" href="_depthwise_convolution2d_layer_8cpp_source.html#l00058">DepthwiseConvolution2dLayer::Clone()</a>, <a class="el" href="_fully_connected_layer_8cpp_source.html#l00029">FullyConnectedLayer::Clone()</a>, <a class="el" href="_fused_layer_8cpp_source.html#l00022">FusedLayer::Clone()</a>, <a class="el" href="_convolution2d_layer_8cpp_source.html#l00058">Convolution2dLayer::Clone()</a>, <a class="el" href="_detection_post_process_layer_8cpp_source.html#l00032">DetectionPostProcessLayer::Clone()</a>, <a class="el" href="_pre_compiled_layer_8cpp_source.html#l00024">PreCompiledLayer::Clone()</a>, <a class="el" href="_transpose_convolution2d_layer_8cpp_source.html#l00049">TransposeConvolution2dLayer::Clone()</a>, <a class="el" href="_splitter_layer_8cpp_source.html#l00180">SplitterLayer::Clone()</a>, <a class="el" href="_unidirectional_sequence_lstm_layer_8cpp_source.html#l00080">UnidirectionalSequenceLstmLayer::Clone()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00080">LstmLayer::Clone()</a>, <a class="el" href="_concat_layer_8cpp_source.html#l00208">ConcatLayer::Clone()</a>, <a class="el" href="_batch_normalization_layer_8cpp_source.html#l00055">BatchNormalizationLayer::Clone()</a>, <a class="el" href="_output_layer_8cpp_source.html#l00027">OutputLayer::Clone()</a>, <a class="el" href="_quantized_lstm_layer_8cpp_source.html#l00047">QuantizedLstmLayer::Clone()</a>, <a class="el" href="_q_lstm_layer_8cpp_source.html#l00081">QLstmLayer::Clone()</a>, <a class="el" href="_quantize_layer_8cpp_source.html#l00046">QuantizeLayer::ExecuteStrategy()</a>, <a class="el" href="_addition_layer_8cpp_source.html#l00035">AdditionLayer::ExecuteStrategy()</a>, <a class="el" href="_subtraction_layer_8cpp_source.html#l00035">SubtractionLayer::ExecuteStrategy()</a>, <a class="el" href="_maximum_layer_8cpp_source.html#l00034">MaximumLayer::ExecuteStrategy()</a>, <a class="el" href="_minimum_layer_8cpp_source.html#l00035">MinimumLayer::ExecuteStrategy()</a>, <a class="el" href="_multiplication_layer_8cpp_source.html#l00035">MultiplicationLayer::ExecuteStrategy()</a>, <a class="el" href="_division_layer_8cpp_source.html#l00035">DivisionLayer::ExecuteStrategy()</a>, <a class="el" href="_activation_layer_8cpp_source.html#l00053">ActivationLayer::ExecuteStrategy()</a>, <a class="el" href="_elementwise_base_layer_8cpp_source.html#l00089">ElementwiseBaseLayer::ExecuteStrategy()</a>, <a class="el" href="_fill_layer_8cpp_source.html#l00059">FillLayer::ExecuteStrategy()</a>, <a class="el" href="_convert_fp32_to_fp16_layer_8cpp_source.html#l00055">ConvertFp32ToFp16Layer::ExecuteStrategy()</a>, <a class="el" href="_input_layer_8cpp_source.html#l00038">InputLayer::ExecuteStrategy()</a>, <a class="el" href="_softmax_layer_8cpp_source.html#l00054">SoftmaxLayer::ExecuteStrategy()</a>, <a class="el" href="_instance_normalization_layer_8cpp_source.html#l00054">InstanceNormalizationLayer::ExecuteStrategy()</a>, <a class="el" href="_l2_normalization_layer_8cpp_source.html#l00054">L2NormalizationLayer::ExecuteStrategy()</a>, <a class="el" href="_switch_layer_8cpp_source.html#l00063">SwitchLayer::ExecuteStrategy()</a>, <a class="el" href="_debug_layer_8cpp_source.html#l00066">DebugLayer::ExecuteStrategy()</a>, <a class="el" href="_mem_copy_layer_8cpp_source.html#l00057">MemCopyLayer::ExecuteStrategy()</a>, <a class="el" href="_dequantize_layer_8cpp_source.html#l00054">DequantizeLayer::ExecuteStrategy()</a>, <a class="el" href="_normalization_layer_8cpp_source.html#l00054">NormalizationLayer::ExecuteStrategy()</a>, <a class="el" href="_floor_layer_8cpp_source.html#l00054">FloorLayer::ExecuteStrategy()</a>, <a class="el" href="_convert_fp16_to_fp32_layer_8cpp_source.html#l00055">ConvertFp16ToFp32Layer::ExecuteStrategy()</a>, <a class="el" href="_fused_layer_8cpp_source.html#l00043">FusedLayer::ExecuteStrategy()</a>, <a class="el" href="_rsqrt_layer_8cpp_source.html#l00056">RsqrtLayer::ExecuteStrategy()</a>, <a class="el" href="_log_softmax_layer_8cpp_source.html#l00054">LogSoftmaxLayer::ExecuteStrategy()</a>, <a class="el" href="_broadcast_to_layer_8cpp_source.html#l00051">BroadcastToLayer::ExecuteStrategy()</a>, <a class="el" href="_merge_layer_8cpp_source.html#l00070">MergeLayer::ExecuteStrategy()</a>, <a class="el" href="_rank_layer_8cpp_source.html#l00050">RankLayer::ExecuteStrategy()</a>, <a class="el" href="_elementwise_binary_layer_8cpp_source.html#l00097">ElementwiseBinaryLayer::ExecuteStrategy()</a>, <a class="el" href="_pre_compiled_layer_8cpp_source.html#l00052">PreCompiledLayer::ExecuteStrategy()</a>, <a class="el" href="_slice_layer_8cpp_source.html#l00072">SliceLayer::ExecuteStrategy()</a>, <a class="el" href="_resize_layer_8cpp_source.html#l00087">ResizeLayer::ExecuteStrategy()</a>, <a class="el" href="_shape_layer_8cpp_source.html#l00071">ShapeLayer::ExecuteStrategy()</a>, <a class="el" href="_batch_to_space_nd_layer_8cpp_source.html#l00083">BatchToSpaceNdLayer::ExecuteStrategy()</a>, <a class="el" href="_gather_layer_8cpp_source.html#l00107">GatherLayer::ExecuteStrategy()</a>, <a class="el" href="_reverse_v2_layer_8cpp_source.html#l00076">ReverseV2Layer::ExecuteStrategy()</a>, <a class="el" href="_strided_slice_layer_8cpp_source.html#l00123">StridedSliceLayer::ExecuteStrategy()</a>, <a class="el" href="_arg_min_max_layer_8cpp_source.html#l00104">ArgMinMaxLayer::ExecuteStrategy()</a>, <a class="el" href="_stack_layer_8cpp_source.html#l00107">StackLayer::ExecuteStrategy()</a>, <a class="el" href="_pooling2d_layer_8cpp_source.html#l00135">Pooling2dLayer::ExecuteStrategy()</a>, <a class="el" href="_pooling3d_layer_8cpp_source.html#l00139">Pooling3dLayer::ExecuteStrategy()</a>, <a class="el" href="_elementwise_unary_layer_8cpp_source.html#l00069">ElementwiseUnaryLayer::ExecuteStrategy()</a>, <a class="el" href="_reduce_layer_8cpp_source.html#l00128">ReduceLayer::ExecuteStrategy()</a>, <a class="el" href="_space_to_batch_nd_layer_8cpp_source.html#l00084">SpaceToBatchNdLayer::ExecuteStrategy()</a>, <a class="el" href="_logical_binary_layer_8cpp_source.html#l00095">LogicalBinaryLayer::ExecuteStrategy()</a>, <a class="el" href="_space_to_depth_layer_8cpp_source.html#l00089">SpaceToDepthLayer::ExecuteStrategy()</a>, <a class="el" href="_depth_to_space_layer_8cpp_source.html#l00087">DepthToSpaceLayer::ExecuteStrategy()</a>, <a class="el" href="_mean_layer_8cpp_source.html#l00133">MeanLayer::ExecuteStrategy()</a>, <a class="el" href="_stand_in_layer_8cpp_source.html#l00044">StandInLayer::ExecuteStrategy()</a>, <a class="el" href="_pad_layer_8cpp_source.html#l00097">PadLayer::ExecuteStrategy()</a>, <a class="el" href="_prelu_layer_8cpp_source.html#l00138">PreluLayer::ExecuteStrategy()</a>, <a class="el" href="_comparison_layer_8cpp_source.html#l00103">ComparisonLayer::ExecuteStrategy()</a>, <a class="el" href="_convolution2d_layer_8cpp_source.html#l00150">Convolution2dLayer::ExecuteStrategy()</a>, <a class="el" href="_depthwise_convolution2d_layer_8cpp_source.html#l00155">DepthwiseConvolution2dLayer::ExecuteStrategy()</a>, <a class="el" href="_fully_connected_layer_8cpp_source.html#l00084">FullyConnectedLayer::ExecuteStrategy()</a>, <a class="el" href="_convolution3d_layer_8cpp_source.html#l00153">Convolution3dLayer::ExecuteStrategy()</a>, <a class="el" href="_batch_normalization_layer_8cpp_source.html#l00094">BatchNormalizationLayer::ExecuteStrategy()</a>, <a class="el" href="_constant_layer_8cpp_source.html#l00065">ConstantLayer::ExecuteStrategy()</a>, <a class="el" href="_output_layer_8cpp_source.html#l00040">OutputLayer::ExecuteStrategy()</a>, <a class="el" href="_detection_post_process_layer_8cpp_source.html#l00112">DetectionPostProcessLayer::ExecuteStrategy()</a>, <a class="el" href="_transpose_convolution2d_layer_8cpp_source.html#l00161">TransposeConvolution2dLayer::ExecuteStrategy()</a>, <a class="el" href="_splitter_layer_8cpp_source.html#l00239">SplitterLayer::ExecuteStrategy()</a>, <a class="el" href="_concat_layer_8cpp_source.html#l00341">ConcatLayer::ExecuteStrategy()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00402">LstmLayer::ExecuteStrategy()</a>, <a class="el" href="_unidirectional_sequence_lstm_layer_8cpp_source.html#l00397">UnidirectionalSequenceLstmLayer::ExecuteStrategy()</a>, <a class="el" href="_reshape_layer_8cpp_source.html#l00066">ReshapeLayer::ExecuteStrategy()</a>, <a class="el" href="_layer_with_parameters_8hpp_source.html#l00054">LayerWithParameters< StridedSliceDescriptor >::ExecuteStrategy()</a>, <a class="el" href="_transpose_layer_8cpp_source.html#l00070">TransposeLayer::ExecuteStrategy()</a>, <a class="el" href="_permute_layer_8cpp_source.html#l00070">PermuteLayer::ExecuteStrategy()</a>, <a class="el" href="_quantized_lstm_layer_8cpp_source.html#l00239">QuantizedLstmLayer::ExecuteStrategy()</a>, <a class="el" href="_q_lstm_layer_8cpp_source.html#l00403">QLstmLayer::ExecuteStrategy()</a>, <a class="el" href="_layer_8cpp_source.html#l00571">Layer::ExecuteStrategy()</a>, <a class="el" href="_layer_8hpp_source.html#l00485">BindableLayer::ExecuteStrategy()</a>, <a class="el" href="_fold_pad_into_layer2d_8hpp_source.html#l00144">armnn::optimizations::pad_fold::FoldPadIntoLayer2dImpl()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00040">armnn::InsertConvertFp16ToFp32LayersBefore()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00079">armnn::InsertConvertFp32ToFp16LayersAfter()</a>, <a class="el" href="_mock_backend_8cpp_source.html#l00088">armnn::IsLayerOptimizable()</a>, <a class="el" href="_neon_backend_8cpp_source.html#l00144">NeonBackend::OptimizeSubgraphView()</a>, <a class="el" href="_cl_backend_8cpp_source.html#l00292">ClBackend::OptimizeSubgraphView()</a>, <a class="el" href="_layer_8hpp_source.html#l00409">Layer::PrepInfoAndDesc()</a>, <a class="el" href="_transpose_as_reshape_8hpp_source.html#l00018">TransposeAsReshapeImpl::Run()</a>, <a class="el" href="_permute_as_reshape_8hpp_source.html#l00018">PermuteAsReshapeImpl::Run()</a>, <a class="el" href="_optimize_consecutive_reshapes_8hpp_source.html#l00019">OptimizeConsecutiveReshapesImpl::Run()</a>, <a class="el" href="_fuse_batch_norm_8hpp_source.html#l00027">FuseBatchNorm< ConvLayer, ArmnnType, T >::Run()</a>, and <a class="el" href="_observable_8cpp_source.html#l00016">ErasedLayerNamesObservable::Update()</a>.</p> |
| 1349 | |
| 1350 | </div> |
| 1351 | </div> |
| 1352 | <a id="a9a97cb6d32661a57fc33bd29b8e41ff4"></a> |
| 1353 | <h2 class="memtitle"><span class="permalink"><a href="#a9a97cb6d32661a57fc33bd29b8e41ff4">◆ </a></span>GetNameStr()</h2> |
| 1354 | |
| 1355 | <div class="memitem"> |
| 1356 | <div class="memproto"> |
| 1357 | <table class="mlabels"> |
| 1358 | <tr> |
| 1359 | <td class="mlabels-left"> |
| 1360 | <table class="memname"> |
| 1361 | <tr> |
| 1362 | <td class="memname">const std::string& GetNameStr </td> |
| 1363 | <td>(</td> |
| 1364 | <td class="paramname"></td><td>)</td> |
| 1365 | <td> const</td> |
| 1366 | </tr> |
| 1367 | </table> |
| 1368 | </td> |
| 1369 | <td class="mlabels-right"> |
| 1370 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 1371 | </tr> |
| 1372 | </table> |
| 1373 | </div><div class="memdoc"> |
| 1374 | |
| 1375 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00240">240</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1376 | <div class="fragment"><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  {</div> |
| 1377 | <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">return</span> m_LayerName;</div> |
| 1378 | <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  }</div> |
| 1379 | </div><!-- fragment --> |
| 1380 | <p class="reference">Referenced by <a class="el" href="_debug_layer_8cpp_source.html#l00025">DebugLayer::CreateWorkload()</a>, <a class="el" href="_neon_backend_optimization_utils_8hpp_source.html#l00071">armnn::GetFusedName()</a>, <a class="el" href="_layer_8cpp_source.html#l00432">Layer::InferOutputShapes()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00112">armnn::InsertDebugLayerAfter()</a>, <a class="el" href="_graph_utils_8cpp_source.html#l00044">IsConnected()</a>, <a class="el" href="_test_utils_8hpp_source.html#l00023">LayerNameAndTypeCheck::operator()()</a>, <a class="el" href="_add_broadcast_reshape_layer_8hpp_source.html#l00027">AddBroadcastReshapeLayerImpl::Run()</a>, and <a class="el" href="_layer_8cpp_source.html#l00410">Layer::VerifyLayerConnections()</a>.</p> |
| 1381 | |
| 1382 | </div> |
| 1383 | </div> |
| 1384 | <a id="abc0660dc440c8a285b456c9ef6383c26"></a> |
| 1385 | <h2 class="memtitle"><span class="permalink"><a href="#abc0660dc440c8a285b456c9ef6383c26">◆ </a></span>GetNumInputSlots()</h2> |
| 1386 | |
| 1387 | <div class="memitem"> |
| 1388 | <div class="memproto"> |
| 1389 | <table class="mlabels"> |
| 1390 | <tr> |
| 1391 | <td class="mlabels-left"> |
| 1392 | <table class="memname"> |
| 1393 | <tr> |
| 1394 | <td class="memname">unsigned int GetNumInputSlots </td> |
| 1395 | <td>(</td> |
| 1396 | <td class="paramname"></td><td>)</td> |
| 1397 | <td> const</td> |
| 1398 | </tr> |
| 1399 | </table> |
| 1400 | </td> |
| 1401 | <td class="mlabels-right"> |
| 1402 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> |
| 1403 | </tr> |
| 1404 | </table> |
| 1405 | </div><div class="memdoc"> |
| 1406 | |
| 1407 | <p>Returns the number of connectable input slots. </p> |
| 1408 | |
| 1409 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a9c2cba04b6d7ace4fc2a2436b82a5a63">IConnectableLayer</a>.</p> |
| 1410 | |
| 1411 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00334">334</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1412 | <div class="fragment"><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> { <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">></span>(m_InputSlots.size()); }</div> |
| 1413 | </div><!-- fragment --> |
| 1414 | <p class="reference">Referenced by <a class="el" href="_network_8cpp_source.html#l01320">armnn::ApplyBackendOptimizations()</a>, <a class="el" href="_layer_8cpp_source.html#l00028">armnn::AssertNumberOfInputSlots()</a>, <a class="el" href="_graph_utils_8cpp_source.html#l00034">CheckNumberOfInputSlot()</a>, <a class="el" href="_layer_with_parameters_8hpp_source.html#l00059">LayerWithParameters< StridedSliceDescriptor >::GetConnectedConstantAsInputTensors()</a>, <a class="el" href="_layer_8cpp_source.html#l00345">Layer::GetDataType()</a>, <a class="el" href="_network_8cpp_source.html#l01017">armnn::GetLayerInOutDatatype()</a>, <a class="el" href="_layer_8cpp_source.html#l00432">Layer::InferOutputShapes()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00040">armnn::InsertConvertFp16ToFp32LayersBefore()</a>, <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00220">GpuFsaBackend::OptimizeSubgraphView()</a>, <a class="el" href="_stack_layer_8cpp_source.html#l00067">StackLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_concat_layer_8cpp_source.html#l00309">ConcatLayer::ValidateTensorShapesFromInputs()</a>, and <a class="el" href="_layer_8cpp_source.html#l00410">Layer::VerifyLayerConnections()</a>.</p> |
| 1415 | |
| 1416 | </div> |
| 1417 | </div> |
| 1418 | <a id="a1594bddc87d6477df300317658f566bb"></a> |
| 1419 | <h2 class="memtitle"><span class="permalink"><a href="#a1594bddc87d6477df300317658f566bb">◆ </a></span>GetNumOutputSlots()</h2> |
| 1420 | |
| 1421 | <div class="memitem"> |
| 1422 | <div class="memproto"> |
| 1423 | <table class="mlabels"> |
| 1424 | <tr> |
| 1425 | <td class="mlabels-left"> |
| 1426 | <table class="memname"> |
| 1427 | <tr> |
| 1428 | <td class="memname">unsigned int GetNumOutputSlots </td> |
| 1429 | <td>(</td> |
| 1430 | <td class="paramname"></td><td>)</td> |
| 1431 | <td> const</td> |
| 1432 | </tr> |
| 1433 | </table> |
| 1434 | </td> |
| 1435 | <td class="mlabels-right"> |
| 1436 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> |
| 1437 | </tr> |
| 1438 | </table> |
| 1439 | </div><div class="memdoc"> |
| 1440 | |
| 1441 | <p>Returns the number of connectable output slots. </p> |
| 1442 | |
| 1443 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#ac2dac3b61c94de52093616be4ab17f8d">IConnectableLayer</a>.</p> |
| 1444 | |
| 1445 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00335">335</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1446 | <div class="fragment"><div class="line"><a name="l00335"></a><span class="lineno"> 335</span> { <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">></span>(m_OutputSlots.size()); }</div> |
| 1447 | </div><!-- fragment --> |
| 1448 | <p class="reference">Referenced by <a class="el" href="_layer_8cpp_source.html#l00172">OutputSlot::CalculateIndexOnOwner()</a>, <a class="el" href="_graph_utils_8cpp_source.html#l00039">CheckNumberOfOutputSlot()</a>, <a class="el" href="_network_8cpp_source.html#l00801">armnn::CheckScaleSetOnQuantizedType()</a>, <a class="el" href="_layer_8cpp_source.html#l00308">Layer::CreateTensorHandles()</a>, <a class="el" href="_network_8cpp_source.html#l01017">armnn::GetLayerInOutDatatype()</a>, <a class="el" href="_layer_8cpp_source.html#l00432">Layer::InferOutputShapes()</a>, <a class="el" href="_layer_8cpp_source.html#l00053">InputSlot::Insert()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00079">armnn::InsertConvertFp32ToFp16LayersAfter()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00112">armnn::InsertDebugLayerAfter()</a>, <a class="el" href="_layer_8hpp_source.html#l00270">Layer::IsOutputUnconnected()</a>, <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00220">GpuFsaBackend::OptimizeSubgraphView()</a>, <a class="el" href="_network_8cpp_source.html#l01821">armnn::SelectTensorHandleStrategy()</a>, <a class="el" href="_switch_layer_8cpp_source.html#l00032">SwitchLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_map_layer_8cpp_source.html#l00037">MapLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_unmap_layer_8cpp_source.html#l00037">UnmapLayer::ValidateTensorShapesFromInputs()</a>, and <a class="el" href="_detection_post_process_layer_8cpp_source.html#l00039">DetectionPostProcessLayer::ValidateTensorShapesFromInputs()</a>.</p> |
| 1449 | |
| 1450 | </div> |
| 1451 | </div> |
| 1452 | <a id="a1d4e05c17647232c514cfe58ca80744a"></a> |
| 1453 | <h2 class="memtitle"><span class="permalink"><a href="#a1d4e05c17647232c514cfe58ca80744a">◆ </a></span>GetOutputHandler() <span class="overload">[1/2]</span></h2> |
| 1454 | |
| 1455 | <div class="memitem"> |
| 1456 | <div class="memproto"> |
| 1457 | <table class="mlabels"> |
| 1458 | <tr> |
| 1459 | <td class="mlabels-left"> |
| 1460 | <table class="memname"> |
| 1461 | <tr> |
| 1462 | <td class="memname"><a class="el" href="classarmnn_1_1_output_handler.html">OutputHandler</a>& GetOutputHandler </td> |
| 1463 | <td>(</td> |
| 1464 | <td class="paramtype">unsigned int </td> |
| 1465 | <td class="paramname"><em>i</em> = <code>0</code></td><td>)</td> |
| 1466 | <td></td> |
| 1467 | </tr> |
| 1468 | </table> |
| 1469 | </td> |
| 1470 | <td class="mlabels-right"> |
| 1471 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 1472 | </tr> |
| 1473 | </table> |
| 1474 | </div><div class="memdoc"> |
| 1475 | |
| 1476 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00250">250</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1477 | <div class="fragment"><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  {</div> |
| 1478 | <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">return</span> <span class="keyword">const_cast<</span>OutputHandler&<span class="keyword">></span>(<span class="keyword">const_cast<</span><span class="keyword">const </span><a class="code" href="classarmnn_1_1_layer.html#a5e5ae420d199a0bccae5139d38c30205">Layer</a>*<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classarmnn_1_1_layer.html#af2c0edc7ea62a8baaec4d3d9b2b09256">GetOutputHandler</a>(i));</div> |
| 1479 | <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  }</div> |
| 1480 | </div><!-- fragment --> |
| 1481 | <p class="reference">References <a class="el" href="_layer_8hpp_source.html#l00245">Layer::GetOutputHandler()</a>.</p> |
| 1482 | |
| 1483 | </div> |
| 1484 | </div> |
| 1485 | <a id="af2c0edc7ea62a8baaec4d3d9b2b09256"></a> |
| 1486 | <h2 class="memtitle"><span class="permalink"><a href="#af2c0edc7ea62a8baaec4d3d9b2b09256">◆ </a></span>GetOutputHandler() <span class="overload">[2/2]</span></h2> |
| 1487 | |
| 1488 | <div class="memitem"> |
| 1489 | <div class="memproto"> |
| 1490 | <table class="mlabels"> |
| 1491 | <tr> |
| 1492 | <td class="mlabels-left"> |
| 1493 | <table class="memname"> |
| 1494 | <tr> |
| 1495 | <td class="memname">const <a class="el" href="classarmnn_1_1_output_handler.html">OutputHandler</a>& GetOutputHandler </td> |
| 1496 | <td>(</td> |
| 1497 | <td class="paramtype">unsigned int </td> |
| 1498 | <td class="paramname"><em>i</em> = <code>0</code></td><td>)</td> |
| 1499 | <td> const</td> |
| 1500 | </tr> |
| 1501 | </table> |
| 1502 | </td> |
| 1503 | <td class="mlabels-right"> |
| 1504 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 1505 | </tr> |
| 1506 | </table> |
| 1507 | </div><div class="memdoc"> |
| 1508 | |
| 1509 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00245">245</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1510 | <div class="fragment"><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  {</div> |
| 1511 | <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_layer.html#aa44d91037bba52ba0dec6577509ade3b">m_OutputHandlers</a>[i];</div> |
| 1512 | <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  }</div> |
| 1513 | </div><!-- fragment --> |
| 1514 | <p class="reference">References <a class="el" href="_layer_8hpp_source.html#l00440">Layer::m_OutputHandlers</a>.</p> |
| 1515 | |
| 1516 | <p class="reference">Referenced by <a class="el" href="_layer_8cpp_source.html#l00308">Layer::CreateTensorHandles()</a>, <a class="el" href="_layer_8hpp_source.html#l00250">Layer::GetOutputHandler()</a>, <a class="el" href="_layer_8cpp_source.html#l00053">InputSlot::Insert()</a>, <a class="el" href="_permute_as_reshape_8hpp_source.html#l00018">PermuteAsReshapeImpl::Run()</a>, <a class="el" href="_transpose_as_reshape_8hpp_source.html#l00018">TransposeAsReshapeImpl::Run()</a>, <a class="el" href="_optimize_consecutive_reshapes_8hpp_source.html#l00019">OptimizeConsecutiveReshapesImpl::Run()</a>, <a class="el" href="_move_permute_up_8hpp_source.html#l00023">MovePermuteUpImpl::Run()</a>, <a class="el" href="_move_transpose_up_8hpp_source.html#l00023">MoveTransposeUpImpl::Run()</a>, and <a class="el" href="_input_layer_8cpp_source.html#l00031">InputLayer::ValidateTensorShapesFromInputs()</a>.</p> |
| 1517 | |
| 1518 | </div> |
| 1519 | </div> |
| 1520 | <a id="a0e36688a43c35668d8db5257274c68fe"></a> |
| 1521 | <h2 class="memtitle"><span class="permalink"><a href="#a0e36688a43c35668d8db5257274c68fe">◆ </a></span>GetOutputSlot() <span class="overload">[1/2]</span></h2> |
| 1522 | |
| 1523 | <div class="memitem"> |
| 1524 | <div class="memproto"> |
| 1525 | <table class="mlabels"> |
| 1526 | <tr> |
| 1527 | <td class="mlabels-left"> |
| 1528 | <table class="memname"> |
| 1529 | <tr> |
| 1530 | <td class="memname">const <a class="el" href="classarmnn_1_1_output_slot.html">OutputSlot</a>& GetOutputSlot </td> |
| 1531 | <td>(</td> |
| 1532 | <td class="paramtype">unsigned int </td> |
| 1533 | <td class="paramname"><em>index</em> = <code>0</code></td><td>)</td> |
| 1534 | <td> const</td> |
| 1535 | </tr> |
| 1536 | </table> |
| 1537 | </td> |
| 1538 | <td class="mlabels-right"> |
| 1539 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> |
| 1540 | </tr> |
| 1541 | </table> |
| 1542 | </div><div class="memdoc"> |
| 1543 | |
| 1544 | <p>Get the const output slot handle by slot index. </p> |
| 1545 | |
| 1546 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a80ac4eda2e7f2757ec9dd96fc96dbd16">IConnectableLayer</a>.</p> |
| 1547 | <dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_async_execution_sample_8cpp-example.html#a13">AsyncExecutionSample.cpp</a>, and <a class="el" href="_simple_sample_8cpp-example.html#a13">SimpleSample.cpp</a>.</dd> |
| 1548 | </dl> |
| 1549 | |
| 1550 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00339">339</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1551 | <div class="fragment"><div class="line"><a name="l00339"></a><span class="lineno"> 339</span> { <span class="keywordflow">return</span> m_OutputSlots.at(index); }</div> |
| 1552 | </div><!-- fragment --> |
| 1553 | <p class="reference">Referenced by <a class="el" href="_graph_8cpp_source.html#l00330">Graph::AddCompatibilityLayers()</a>, <a class="el" href="_network_8cpp_source.html#l01320">armnn::ApplyBackendOptimizations()</a>, <a class="el" href="_network_8cpp_source.html#l00844">armnn::AttemptBackendAssignment()</a>, <a class="el" href="_neon_backend_optimization_utils_8hpp_source.html#l00087">armnn::BuildAddMulAddTensorInfoLists()</a>, <a class="el" href="_layer_8cpp_source.html#l00172">OutputSlot::CalculateIndexOnOwner()</a>, <a class="el" href="_arm_compute_subgraph_utils_8hpp_source.html#l00278">armnn::ChainReduceLayers()</a>, <a class="el" href="_network_8cpp_source.html#l00801">armnn::CheckScaleSetOnQuantizedType()</a>, <a class="el" href="_subgraph_utils_8hpp_source.html#l00271">armnn::ConnectedToLayerType()</a>, <a class="el" href="_subgraph_utils_8hpp_source.html#l00250">armnn::ConnectedToLayerWithNCHW()</a>, <a class="el" href="_splitter_layer_8cpp_source.html#l00158">SplitterLayer::CreateTensorHandles()</a>, <a class="el" href="_concat_layer_8cpp_source.html#l00186">ConcatLayer::CreateTensorHandles()</a>, <a class="el" href="_layer_8cpp_source.html#l00308">Layer::CreateTensorHandles()</a>, <a class="el" href="_fold_pad_into_layer2d_8hpp_source.html#l00144">armnn::optimizations::pad_fold::FoldPadIntoLayer2dImpl()</a>, <a class="el" href="_tosa_operator_utils_8hpp_source.html#l00120">GenerateUniqueOutputName()</a>, <a class="el" href="_layer_8cpp_source.html#l00345">Layer::GetDataType()</a>, <a class="el" href="_network_8cpp_source.html#l01017">armnn::GetLayerInOutDatatype()</a>, <a class="el" href="_layer_8cpp_source.html#l00053">InputSlot::Insert()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00040">armnn::InsertConvertFp16ToFp32LayersBefore()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00079">armnn::InsertConvertFp32ToFp16LayersAfter()</a>, <a class="el" href="_network_utils_8cpp_source.html#l00112">armnn::InsertDebugLayerAfter()</a>, <a class="el" href="_graph_utils_8cpp_source.html#l00044">IsConnected()</a>, <a class="el" href="_ref_backend_8cpp_source.html#l00072">RefBackend::OptimizeSubgraphView()</a>, <a class="el" href="_cl_backend_8cpp_source.html#l00292">ClBackend::OptimizeSubgraphView()</a>, <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00220">GpuFsaBackend::OptimizeSubgraphView()</a>, <a class="el" href="_subgraph_utils_8hpp_source.html#l00293">armnn::RemoveReshapeLayer()</a>, <a class="el" href="_max_min_into_bounded_relu_8hpp_source.html#l00018">MaxMinIntoBoundedReluImpl::Run()</a>, <a class="el" href="_permute_as_reshape_8hpp_source.html#l00018">PermuteAsReshapeImpl::Run()</a>, <a class="el" href="_transpose_as_reshape_8hpp_source.html#l00018">TransposeAsReshapeImpl::Run()</a>, <a class="el" href="_delete_broadcast_to_8hpp_source.html#l00019">DeleteBroadcastToImpl::Run()</a>, <a class="el" href="_optimize_consecutive_reshapes_8hpp_source.html#l00019">OptimizeConsecutiveReshapesImpl::Run()</a>, <a class="el" href="_permute_and_batch_to_space_as_depth_to_space_8hpp_source.html#l00021">PermuteAndBatchToSpaceAsDepthToSpaceImpl< PermuteType >::Run()</a>, <a class="el" href="_optimize_inverse_conversions_8hpp_source.html#l00021">OptimizeInverseConversionsImpl::Run()</a>, <a class="el" href="_move_permute_up_8hpp_source.html#l00023">MovePermuteUpImpl::Run()</a>, <a class="el" href="_move_transpose_up_8hpp_source.html#l00023">MoveTransposeUpImpl::Run()</a>, <a class="el" href="_add_broadcast_reshape_layer_8hpp_source.html#l00027">AddBroadcastReshapeLayerImpl::Run()</a>, <a class="el" href="_fuse_batch_norm_8hpp_source.html#l00027">FuseBatchNorm< ConvLayer, ArmnnType, T >::Run()</a>, <a class="el" href="_network_8cpp_source.html#l01821">armnn::SelectTensorHandleStrategy()</a>, <a class="el" href="_layer_8cpp_source.html#l00457">Layer::ValidateAndCopyShape()</a>, <a class="el" href="_elementwise_base_layer_8cpp_source.html#l00068">ElementwiseBaseLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_quantize_layer_8cpp_source.html#l00033">QuantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_activation_layer_8cpp_source.html#l00033">ActivationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_channel_shuffle_layer_8cpp_source.html#l00035">ChannelShuffleLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fill_layer_8cpp_source.html#l00034">FillLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convert_fp32_to_fp16_layer_8cpp_source.html#l00034">ConvertFp32ToFp16Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_rank_layer_8cpp_source.html#l00039">RankLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_slice_layer_8cpp_source.html#l00037">SliceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_softmax_layer_8cpp_source.html#l00034">SoftmaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fake_quantization_layer_8cpp_source.html#l00034">FakeQuantizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_merge_layer_8cpp_source.html#l00030">MergeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_permute_layer_8cpp_source.html#l00050">PermuteLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_stack_layer_8cpp_source.html#l00067">StackLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_debug_layer_8cpp_source.html#l00045">DebugLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_switch_layer_8cpp_source.html#l00032">SwitchLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_transpose_layer_8cpp_source.html#l00050">TransposeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pooling2d_layer_8cpp_source.html#l00115">Pooling2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_l2_normalization_layer_8cpp_source.html#l00034">L2NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_instance_normalization_layer_8cpp_source.html#l00034">InstanceNormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convert_fp16_to_fp32_layer_8cpp_source.html#l00035">ConvertFp16ToFp32Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mem_copy_layer_8cpp_source.html#l00037">MemCopyLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mem_import_layer_8cpp_source.html#l00037">MemImportLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_to_space_nd_layer_8cpp_source.html#l00038">BatchToSpaceNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pooling3d_layer_8cpp_source.html#l00119">Pooling3dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_normalization_layer_8cpp_source.html#l00034">NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_dequantize_layer_8cpp_source.html#l00033">DequantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_floor_layer_8cpp_source.html#l00034">FloorLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_cast_layer_8cpp_source.html#l00034">CastLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_resize_layer_8cpp_source.html#l00067">ResizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_abs_layer_8cpp_source.html#l00036">AbsLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_rsqrt_layer_8cpp_source.html#l00036">RsqrtLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_shape_layer_8cpp_source.html#l00037">ShapeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_log_softmax_layer_8cpp_source.html#l00034">LogSoftmaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pad_layer_8cpp_source.html#l00077">PadLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mean_layer_8cpp_source.html#l00044">MeanLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reshape_layer_8cpp_source.html#l00041">ReshapeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_constant_layer_8cpp_source.html#l00045">ConstantLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convolution3d_layer_8cpp_source.html#l00126">Convolution3dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_broadcast_to_layer_8cpp_source.html#l00038">BroadcastToLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_depthwise_convolution2d_layer_8cpp_source.html#l00121">DepthwiseConvolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convolution2d_layer_8cpp_source.html#l00117">Convolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fully_connected_layer_8cpp_source.html#l00053">FullyConnectedLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_gather_nd_layer_8cpp_source.html#l00089">GatherNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_scatter_nd_layer_8cpp_source.html#l00052">ScatterNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_elementwise_binary_layer_8cpp_source.html#l00076">ElementwiseBinaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_tile_layer_8cpp_source.html#l00062">TileLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00097">BatchMatMulLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_gather_layer_8cpp_source.html#l00079">GatherLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reduce_layer_8cpp_source.html#l00044">ReduceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_detection_post_process_layer_8cpp_source.html#l00039">DetectionPostProcessLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_elementwise_unary_layer_8cpp_source.html#l00048">ElementwiseUnaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_strided_slice_layer_8cpp_source.html#l00103">StridedSliceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_arg_min_max_layer_8cpp_source.html#l00084">ArgMinMaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reverse_v2_layer_8cpp_source.html#l00054">ReverseV2Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_depth_to_space_layer_8cpp_source.html#l00066">DepthToSpaceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_space_to_batch_nd_layer_8cpp_source.html#l00063">SpaceToBatchNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_transpose_convolution2d_layer_8cpp_source.html#l00104">TransposeConvolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_space_to_depth_layer_8cpp_source.html#l00068">SpaceToDepthLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_comparison_layer_8cpp_source.html#l00080">ComparisonLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_prelu_layer_8cpp_source.html#l00114">PreluLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_logical_binary_layer_8cpp_source.html#l00072">LogicalBinaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_splitter_layer_8cpp_source.html#l00205">SplitterLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_concat_layer_8cpp_source.html#l00309">ConcatLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_unidirectional_sequence_lstm_layer_8cpp_source.html#l00172">UnidirectionalSequenceLstmLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00172">LstmLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_normalization_layer_8cpp_source.html#l00067">BatchNormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_quantized_lstm_layer_8cpp_source.html#l00100">QuantizedLstmLayer::ValidateTensorShapesFromInputs()</a>, and <a class="el" href="_q_lstm_layer_8cpp_source.html#l00174">QLstmLayer::ValidateTensorShapesFromInputs()</a>.</p> |
| 1554 | |
| 1555 | </div> |
| 1556 | </div> |
| 1557 | <a id="abbd71844785bb2f00a81baca30ea5ff0"></a> |
| 1558 | <h2 class="memtitle"><span class="permalink"><a href="#abbd71844785bb2f00a81baca30ea5ff0">◆ </a></span>GetOutputSlot() <span class="overload">[2/2]</span></h2> |
| 1559 | |
| 1560 | <div class="memitem"> |
| 1561 | <div class="memproto"> |
| 1562 | <table class="mlabels"> |
| 1563 | <tr> |
| 1564 | <td class="mlabels-left"> |
| 1565 | <table class="memname"> |
| 1566 | <tr> |
| 1567 | <td class="memname"><a class="el" href="classarmnn_1_1_output_slot.html">OutputSlot</a>& GetOutputSlot </td> |
| 1568 | <td>(</td> |
| 1569 | <td class="paramtype">unsigned int </td> |
| 1570 | <td class="paramname"><em>index</em> = <code>0</code></td><td>)</td> |
| 1571 | <td></td> |
| 1572 | </tr> |
| 1573 | </table> |
| 1574 | </td> |
| 1575 | <td class="mlabels-right"> |
| 1576 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> |
| 1577 | </tr> |
| 1578 | </table> |
| 1579 | </div><div class="memdoc"> |
| 1580 | |
| 1581 | <p>Get the output slot handle by slot index. </p> |
| 1582 | |
| 1583 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a75bfde3503c1b21c397bb095f55db990">IConnectableLayer</a>.</p> |
| 1584 | |
| 1585 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00340">340</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1586 | <div class="fragment"><div class="line"><a name="l00340"></a><span class="lineno"> 340</span> { <span class="keywordflow">return</span> m_OutputSlots.at(index); }</div> |
| 1587 | </div><!-- fragment --> |
| 1588 | </div> |
| 1589 | </div> |
| 1590 | <a id="a98cdff4e0b45f4c80bfcedaf926e16e0"></a> |
| 1591 | <h2 class="memtitle"><span class="permalink"><a href="#a98cdff4e0b45f4c80bfcedaf926e16e0">◆ </a></span>GetOutputSlots()</h2> |
| 1592 | |
| 1593 | <div class="memitem"> |
| 1594 | <div class="memproto"> |
| 1595 | <table class="mlabels"> |
| 1596 | <tr> |
| 1597 | <td class="mlabels-left"> |
| 1598 | <table class="memname"> |
| 1599 | <tr> |
| 1600 | <td class="memname">const std::vector<<a class="el" href="classarmnn_1_1_output_slot.html">OutputSlot</a>>& GetOutputSlots </td> |
| 1601 | <td>(</td> |
| 1602 | <td class="paramname"></td><td>)</td> |
| 1603 | <td> const</td> |
| 1604 | </tr> |
| 1605 | </table> |
| 1606 | </td> |
| 1607 | <td class="mlabels-right"> |
| 1608 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 1609 | </tr> |
| 1610 | </table> |
| 1611 | </div><div class="memdoc"> |
| 1612 | |
| 1613 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00259">259</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1614 | <div class="fragment"><div class="line"><a name="l00259"></a><span class="lineno"> 259</span> { <span class="keywordflow">return</span> m_OutputSlots; }</div> |
| 1615 | </div><!-- fragment --> |
| 1616 | <p class="reference">Referenced by <a class="el" href="_graph_8cpp_source.html#l00330">Graph::AddCompatibilityLayers()</a>, <a class="el" href="_subgraph_view_selector_8cpp_source.html#l00301">armnn::ForEachLayerOutput()</a>, <a class="el" href="_tosa_mappings_8cpp_source.html#l00130">GetTosaMappingFromLayer()</a>, <a class="el" href="_loaded_network_8cpp_source.html#l01486">LoadedNetwork::ImportInputs()</a>, <a class="el" href="_layer_8hpp_source.html#l00270">Layer::IsOutputUnconnected()</a>, and <a class="el" href="_graph_8cpp_source.html#l00068">Graph::Print()</a>.</p> |
| 1617 | |
| 1618 | </div> |
| 1619 | </div> |
| 1620 | <a id="a94a487f29157eeec10e2f9a372487bcc"></a> |
| 1621 | <h2 class="memtitle"><span class="permalink"><a href="#a94a487f29157eeec10e2f9a372487bcc">◆ </a></span>GetParameters()</h2> |
| 1622 | |
| 1623 | <div class="memitem"> |
| 1624 | <div class="memproto"> |
| 1625 | <table class="mlabels"> |
| 1626 | <tr> |
| 1627 | <td class="mlabels-left"> |
| 1628 | <table class="memname"> |
| 1629 | <tr> |
| 1630 | <td class="memname">virtual const <a class="el" href="structarmnn_1_1_base_descriptor.html">BaseDescriptor</a>& GetParameters </td> |
| 1631 | <td>(</td> |
| 1632 | <td class="paramname"></td><td>)</td> |
| 1633 | <td> const</td> |
| 1634 | </tr> |
| 1635 | </table> |
| 1636 | </td> |
| 1637 | <td class="mlabels-right"> |
| 1638 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> |
| 1639 | </tr> |
| 1640 | </table> |
| 1641 | </div><div class="memdoc"> |
| 1642 | |
| 1643 | <p>If the layer has a descriptor return it. </p> |
| 1644 | <p>The base descriptor can then be cast to the correct descriptor class. If the layer has no associated descriptor a struct of type <a class="el" href="structarmnn_1_1_null_descriptor.html" title="Null Descriptor used as a return value from the IConnectableLayer GetParameters method by layers whic...">NullDescriptor</a> will be returned. Note: NullDescriptors can be detected because they return true when the <a class="el" href="structarmnn_1_1_base_descriptor.html" title="Base class for all descriptors.">BaseDescriptor</a> IsNull function is invoked. </p> |
| 1645 | |
| 1646 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a7ce723f9ed0cba4430ec1fc11daa4ce9">IConnectableLayer</a>.</p> |
| 1647 | |
| 1648 | <p>Reimplemented in <a class="el" href="classarmnn_1_1_layer_with_parameters.html#afa3e8a8f23589b1eaddbe203825bbdcf">LayerWithParameters< Parameters ></a>.</p> |
| 1649 | |
| 1650 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00378">378</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1651 | <div class="fragment"><div class="line"><a name="l00378"></a><span class="lineno"> 378</span> { <span class="keywordflow">return</span> m_NullDescriptor; }</div> |
| 1652 | </div><!-- fragment --> |
| 1653 | <p class="reference">Referenced by <a class="el" href="_quantize_layer_8cpp_source.html#l00046">QuantizeLayer::ExecuteStrategy()</a>, <a class="el" href="_addition_layer_8cpp_source.html#l00035">AdditionLayer::ExecuteStrategy()</a>, <a class="el" href="_maximum_layer_8cpp_source.html#l00034">MaximumLayer::ExecuteStrategy()</a>, <a class="el" href="_subtraction_layer_8cpp_source.html#l00035">SubtractionLayer::ExecuteStrategy()</a>, <a class="el" href="_division_layer_8cpp_source.html#l00035">DivisionLayer::ExecuteStrategy()</a>, <a class="el" href="_minimum_layer_8cpp_source.html#l00035">MinimumLayer::ExecuteStrategy()</a>, <a class="el" href="_multiplication_layer_8cpp_source.html#l00035">MultiplicationLayer::ExecuteStrategy()</a>, <a class="el" href="_convert_fp32_to_fp16_layer_8cpp_source.html#l00055">ConvertFp32ToFp16Layer::ExecuteStrategy()</a>, <a class="el" href="_abs_layer_8cpp_source.html#l00055">AbsLayer::ExecuteStrategy()</a>, <a class="el" href="_floor_layer_8cpp_source.html#l00054">FloorLayer::ExecuteStrategy()</a>, <a class="el" href="_rsqrt_layer_8cpp_source.html#l00056">RsqrtLayer::ExecuteStrategy()</a>, <a class="el" href="_switch_layer_8cpp_source.html#l00063">SwitchLayer::ExecuteStrategy()</a>, <a class="el" href="_debug_layer_8cpp_source.html#l00066">DebugLayer::ExecuteStrategy()</a>, <a class="el" href="_mem_copy_layer_8cpp_source.html#l00057">MemCopyLayer::ExecuteStrategy()</a>, <a class="el" href="_input_layer_8cpp_source.html#l00038">InputLayer::ExecuteStrategy()</a>, <a class="el" href="_dequantize_layer_8cpp_source.html#l00054">DequantizeLayer::ExecuteStrategy()</a>, <a class="el" href="_convert_fp16_to_fp32_layer_8cpp_source.html#l00055">ConvertFp16ToFp32Layer::ExecuteStrategy()</a>, <a class="el" href="_merge_layer_8cpp_source.html#l00070">MergeLayer::ExecuteStrategy()</a>, <a class="el" href="_prelu_layer_8cpp_source.html#l00138">PreluLayer::ExecuteStrategy()</a>, <a class="el" href="_output_layer_8cpp_source.html#l00040">OutputLayer::ExecuteStrategy()</a>, <a class="el" href="_tosa_mappings_8cpp_source.html#l00130">GetTosaMappingFromLayer()</a>, and <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00220">GpuFsaBackend::OptimizeSubgraphView()</a>.</p> |
| 1654 | |
| 1655 | </div> |
| 1656 | </div> |
| 1657 | <a id="af97a07195a67a638605b3c325763c2dd"></a> |
| 1658 | <h2 class="memtitle"><span class="permalink"><a href="#af97a07195a67a638605b3c325763c2dd">◆ </a></span>GetPriority()</h2> |
| 1659 | |
| 1660 | <div class="memitem"> |
| 1661 | <div class="memproto"> |
| 1662 | <table class="memname"> |
| 1663 | <tr> |
| 1664 | <td class="memname"><a class="el" href="namespacearmnn.html#a419086ecb4dc9d0f9e5d8933c87e2ea2">LayerPriority</a> GetPriority </td> |
| 1665 | <td>(</td> |
| 1666 | <td class="paramname"></td><td>)</td> |
| 1667 | <td> const</td> |
| 1668 | </tr> |
| 1669 | </table> |
| 1670 | </div><div class="memdoc"> |
| 1671 | |
| 1672 | <p class="definition">Definition at line <a class="el" href="_layer_8cpp_source.html#l00360">360</a> of file <a class="el" href="_layer_8cpp_source.html">Layer.cpp</a>.</p> |
| 1673 | <div class="fragment"><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> {</div> |
| 1674 | <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  constexpr <a class="code" href="namespacearmnn.html#a419086ecb4dc9d0f9e5d8933c87e2ea2">LayerPriority</a> inputPrio = std::numeric_limits<LayerPriority>::lowest();</div> |
| 1675 | <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  constexpr <a class="code" href="namespacearmnn.html#a419086ecb4dc9d0f9e5d8933c87e2ea2">LayerPriority</a> outputPrio = std::numeric_limits<LayerPriority>::max();</div> |
| 1676 | <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  </div> |
| 1677 | <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordflow">if</span> (<a class="code" href="classarmnn_1_1_layer.html#ad8e15c530c929ab823d89ae9fd2d3f11">GetType</a>() == <a class="code" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4a324118a6721dd6b8a9b9f4e327df2bf5">LayerType::Input</a>)</div> |
| 1678 | <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  {</div> |
| 1679 | <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  m_Priority = inputPrio;</div> |
| 1680 | <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  }</div> |
| 1681 | <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classarmnn_1_1_layer.html#ad8e15c530c929ab823d89ae9fd2d3f11">GetType</a>() == <a class="code" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4a29c2c02a361c9d7028472e5d92cd4a54">LayerType::Output</a>)</div> |
| 1682 | <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  {</div> |
| 1683 | <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  m_Priority = outputPrio;</div> |
| 1684 | <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  }</div> |
| 1685 | <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (m_Priority == 0)</div> |
| 1686 | <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  {</div> |
| 1687 | <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">if</span> (m_Visiting)</div> |
| 1688 | <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  {</div> |
| 1689 | <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keywordflow">throw</span> GraphValidationException(<span class="stringliteral">"Graph has circular dependencies: cannot walk"</span>);</div> |
| 1690 | <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  }</div> |
| 1691 | <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  </div> |
| 1692 | <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keyword">auto</span> maxPrio = [](<span class="keyword">const</span> <a class="code" href="namespacearmnn.html#a419086ecb4dc9d0f9e5d8933c87e2ea2">LayerPriority</a> prio, <span class="keyword">const</span> InputSlot& slot) -> <a class="code" href="namespacearmnn.html#a419086ecb4dc9d0f9e5d8933c87e2ea2">LayerPriority</a></div> |
| 1693 | <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  {</div> |
| 1694 | <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keyword">const</span> OutputSlot *outputSlot = slot.GetConnectedOutputSlot();</div> |
| 1695 | <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">if</span> (outputSlot)</div> |
| 1696 | <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  {</div> |
| 1697 | <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_layer.html#a5e5ae420d199a0bccae5139d38c30205">Layer</a>& input = outputSlot->GetOwningLayer();</div> |
| 1698 | <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">return</span> std::max(prio, input.GetPriority());</div> |
| 1699 | <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  }</div> |
| 1700 | <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordflow">else</span></div> |
| 1701 | <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  {</div> |
| 1702 | <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="comment">// unconnected input slot</span></div> |
| 1703 | <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">return</span> prio;</div> |
| 1704 | <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  }</div> |
| 1705 | <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  };</div> |
| 1706 | <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  </div> |
| 1707 | <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  m_Visiting = <span class="keyword">true</span>;</div> |
| 1708 | <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <a class="code" href="namespacearmnn.html#a419086ecb4dc9d0f9e5d8933c87e2ea2">LayerPriority</a> parentPrio = std::accumulate(<a class="code" href="classarmnn_1_1_layer.html#af5f530544d09a44d726f24702b67b35b">GetInputSlots</a>().cbegin(), <a class="code" href="classarmnn_1_1_layer.html#af5f530544d09a44d726f24702b67b35b">GetInputSlots</a>().cend(), 0U, maxPrio);</div> |
| 1709 | <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  m_Visiting = <span class="keyword">false</span>;</div> |
| 1710 | <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  </div> |
| 1711 | <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keywordflow">if</span> (parentPrio >= outputPrio)</div> |
| 1712 | <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  {</div> |
| 1713 | <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">throw</span> GraphValidationException(<span class="stringliteral">"Graph has too many edges"</span>);</div> |
| 1714 | <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  }</div> |
| 1715 | <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  </div> |
| 1716 | <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  m_Priority = parentPrio + 1U;</div> |
| 1717 | <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  }</div> |
| 1718 | <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  </div> |
| 1719 | <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <span class="keywordflow">return</span> m_Priority;</div> |
| 1720 | <div class="line"><a name="l00408"></a><span class="lineno"> 408</span> }</div> |
| 1721 | </div><!-- fragment --> |
| 1722 | <p class="reference">References <a class="el" href="_layer_8hpp_source.html#l00258">Layer::GetInputSlots()</a>, <a class="el" href="_layer_8hpp_source.html#l00132">OutputSlot::GetOwningLayer()</a>, <a class="el" href="_layer_8cpp_source.html#l00360">Layer::GetPriority()</a>, <a class="el" href="_layer_8hpp_source.html#l00286">Layer::GetType()</a>, <a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4a324118a6721dd6b8a9b9f4e327df2bf5">armnn::Input</a>, and <a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4a29c2c02a361c9d7028472e5d92cd4a54">armnn::Output</a>.</p> |
| 1723 | |
| 1724 | <p class="reference">Referenced by <a class="el" href="_layer_8cpp_source.html#l00360">Layer::GetPriority()</a>, and <a class="el" href="_squash_equal_siblings_8hpp_source.html#l00025">SquashEqualSiblingsImpl< Comparable >::Run()</a>.</p> |
| 1725 | |
| 1726 | </div> |
| 1727 | </div> |
| 1728 | <a id="a5e5520194ea4042fe07b0bf53c28f634"></a> |
| 1729 | <h2 class="memtitle"><span class="permalink"><a href="#a5e5520194ea4042fe07b0bf53c28f634">◆ </a></span>GetRelatedLayerNames()</h2> |
| 1730 | |
| 1731 | <div class="memitem"> |
| 1732 | <div class="memproto"> |
| 1733 | <table class="mlabels"> |
| 1734 | <tr> |
| 1735 | <td class="mlabels-left"> |
| 1736 | <table class="memname"> |
| 1737 | <tr> |
| 1738 | <td class="memname">const std::list<std::string>& GetRelatedLayerNames </td> |
| 1739 | <td>(</td> |
| 1740 | <td class="paramname"></td><td>)</td> |
| 1741 | <td></td> |
| 1742 | </tr> |
| 1743 | </table> |
| 1744 | </td> |
| 1745 | <td class="mlabels-right"> |
| 1746 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 1747 | </tr> |
| 1748 | </table> |
| 1749 | </div><div class="memdoc"> |
| 1750 | |
| 1751 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00347">347</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1752 | <div class="fragment"><div class="line"><a name="l00347"></a><span class="lineno"> 347</span> { <span class="keywordflow">return</span> m_RelatedLayerNames; }</div> |
| 1753 | </div><!-- fragment --> |
| 1754 | <p class="reference">Referenced by <a class="el" href="_observable_8cpp_source.html#l00016">ErasedLayerNamesObservable::Update()</a>.</p> |
| 1755 | |
| 1756 | </div> |
| 1757 | </div> |
| 1758 | <a id="a3560e0733f829e5194887d014a133144"></a> |
| 1759 | <h2 class="memtitle"><span class="permalink"><a href="#a3560e0733f829e5194887d014a133144">◆ </a></span>GetShapeInferenceMethod()</h2> |
| 1760 | |
| 1761 | <div class="memitem"> |
| 1762 | <div class="memproto"> |
| 1763 | <table class="mlabels"> |
| 1764 | <tr> |
| 1765 | <td class="mlabels-left"> |
| 1766 | <table class="memname"> |
| 1767 | <tr> |
| 1768 | <td class="memname"><a class="el" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9">ShapeInferenceMethod</a> GetShapeInferenceMethod </td> |
| 1769 | <td>(</td> |
| 1770 | <td class="paramname"></td><td>)</td> |
| 1771 | <td> const</td> |
| 1772 | </tr> |
| 1773 | </table> |
| 1774 | </td> |
| 1775 | <td class="mlabels-right"> |
| 1776 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 1777 | </tr> |
| 1778 | </table> |
| 1779 | </div><div class="memdoc"> |
| 1780 | |
| 1781 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00255">255</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1782 | <div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> { <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_layer.html#afe508761cc8318b15329ba4acf7fbfec">m_ShapeInferenceMethod</a>; };</div> |
| 1783 | </div><!-- fragment --> |
| 1784 | <p class="reference">References <a class="el" href="_layer_8hpp_source.html#l00441">Layer::m_ShapeInferenceMethod</a>.</p> |
| 1785 | |
| 1786 | </div> |
| 1787 | </div> |
| 1788 | <a id="ad8e15c530c929ab823d89ae9fd2d3f11"></a> |
| 1789 | <h2 class="memtitle"><span class="permalink"><a href="#ad8e15c530c929ab823d89ae9fd2d3f11">◆ </a></span>GetType()</h2> |
| 1790 | |
| 1791 | <div class="memitem"> |
| 1792 | <div class="memproto"> |
| 1793 | <table class="mlabels"> |
| 1794 | <tr> |
| 1795 | <td class="mlabels-left"> |
| 1796 | <table class="memname"> |
| 1797 | <tr> |
| 1798 | <td class="memname"><a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a> GetType </td> |
| 1799 | <td>(</td> |
| 1800 | <td class="paramname"></td><td>)</td> |
| 1801 | <td> const</td> |
| 1802 | </tr> |
| 1803 | </table> |
| 1804 | </td> |
| 1805 | <td class="mlabels-right"> |
| 1806 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> |
| 1807 | </tr> |
| 1808 | </table> |
| 1809 | </div><div class="memdoc"> |
| 1810 | |
| 1811 | <p>Returns the <a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4" title="When adding a new layer, adapt also the LastLayer enum value in the enum class LayerType below.">armnn::LayerType</a> of this layer. </p> |
| 1812 | |
| 1813 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#adceb04ae84c524e4d01881e3754a4d59">IConnectableLayer</a>.</p> |
| 1814 | |
| 1815 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00286">286</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1816 | <div class="fragment"><div class="line"><a name="l00286"></a><span class="lineno"> 286</span> { <span class="keywordflow">return</span> m_Type; }</div> |
| 1817 | </div><!-- fragment --> |
| 1818 | <p class="reference">Referenced by <a class="el" href="_network_8cpp_source.html#l01320">armnn::ApplyBackendOptimizations()</a>, <a class="el" href="_layer_8cpp_source.html#l00028">armnn::AssertNumberOfInputSlots()</a>, <a class="el" href="_network_8cpp_source.html#l00844">armnn::AttemptBackendAssignment()</a>, <a class="el" href="_neon_backend_optimization_utils_8hpp_source.html#l00087">armnn::BuildAddMulAddTensorInfoLists()</a>, <a class="el" href="_network_8cpp_source.html#l01729">armnn::CalculateEdgeStrategy()</a>, <a class="el" href="_network_8cpp_source.html#l01576">armnn::CalculateSlotOption()</a>, <a class="el" href="_network_8cpp_source.html#l01474">armnn::CalculateSlotOptionForInput()</a>, <a class="el" href="_network_8cpp_source.html#l00801">armnn::CheckScaleSetOnQuantizedType()</a>, <a class="el" href="_subgraph_utils_8hpp_source.html#l00271">armnn::ConnectedToLayerType()</a>, <a class="el" href="_tosa_operator_utils_8hpp_source.html#l00120">GenerateUniqueOutputName()</a>, <a class="el" href="_layer_8cpp_source.html#l00360">Layer::GetPriority()</a>, <a class="el" href="_tosa_mappings_8cpp_source.html#l00130">GetTosaMappingFromLayer()</a>, <a class="el" href="_loaded_network_8cpp_source.html#l01486">LoadedNetwork::ImportInputs()</a>, <a class="el" href="_loaded_network_8cpp_source.html#l01632">LoadedNetwork::ImportOutputs()</a>, <a class="el" href="_layer_8cpp_source.html#l00432">Layer::InferOutputShapes()</a>, <a class="el" href="_reshape_layer_8hpp_source.html#l00042">ReshapeLayer::IsEqual()</a>, <a class="el" href="_transpose_layer_8hpp_source.html#l00054">TransposeLayer::IsEqual()</a>, <a class="el" href="_permute_layer_8hpp_source.html#l00055">PermuteLayer::IsEqual()</a>, <a class="el" href="_transpose_layer_8hpp_source.html#l00045">TransposeLayer::IsInverse()</a>, <a class="el" href="_permute_layer_8hpp_source.html#l00046">PermuteLayer::IsInverse()</a>, <a class="el" href="_test_utils_8hpp_source.html#l00034">IsLayerOfType()</a>, <a class="el" href="_mock_backend_8cpp_source.html#l00062">armnn::IsLayerSupported()</a>, <a class="el" href="_subgraph_utils_8hpp_source.html#l00362">armnn::IsSequenceLayerType()</a>, <a class="el" href="_test_utils_8hpp_source.html#l00023">LayerNameAndTypeCheck::operator()()</a>, <a class="el" href="_tosa_ref_backend_8cpp_source.html#l00082">TosaRefBackend::OptimizeSubgraphView()</a>, <a class="el" href="_ref_backend_8cpp_source.html#l00072">RefBackend::OptimizeSubgraphView()</a>, <a class="el" href="_neon_backend_8cpp_source.html#l00144">NeonBackend::OptimizeSubgraphView()</a>, <a class="el" href="_cl_backend_8cpp_source.html#l00292">ClBackend::OptimizeSubgraphView()</a>, <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00220">GpuFsaBackend::OptimizeSubgraphView()</a>, <a class="el" href="_subgraph_utils_8hpp_source.html#l00293">armnn::RemoveReshapeLayer()</a>, <a class="el" href="_network_8cpp_source.html#l00786">armnn::ReturnWithError()</a>, <a class="el" href="_convert_fp32_network_to_fp16_8hpp_source.html#l00018">ConvertFp32NetworkToFp16Impl::Run()</a>, <a class="el" href="_optimize_consecutive_reshapes_8hpp_source.html#l00019">OptimizeConsecutiveReshapesImpl::Run()</a>, <a class="el" href="_add_debug_8hpp_source.html#l00019">AddDebugImpl::Run()</a>, <a class="el" href="_delete_broadcast_to_8hpp_source.html#l00019">DeleteBroadcastToImpl::Run()</a>, <a class="el" href="_convert_const_permute_layers_to_const_layers_8hpp_source.html#l00020">ConvertConstPermuteLayersToConstLayers::Run()</a>, <a class="el" href="_permute_and_batch_to_space_as_depth_to_space_8hpp_source.html#l00021">PermuteAndBatchToSpaceAsDepthToSpaceImpl< PermuteType >::Run()</a>, <a class="el" href="_optimize_inverse_conversions_8hpp_source.html#l00021">OptimizeInverseConversionsImpl::Run()</a>, <a class="el" href="_convert_const_dequantisation_layers_to_const_layers_8hpp_source.html#l00021">ConvertConstDequantisationLayersToConstLayersImpl::Run()</a>, <a class="el" href="_permute_depthwise_conv2d_weights_8hpp_source.html#l00023">PermuteDepthwiseConv2dWeightsImpl::Run()</a>, <a class="el" href="_fuse_batch_norm_8hpp_source.html#l00027">FuseBatchNorm< ConvLayer, ArmnnType, T >::Run()</a>, <a class="el" href="_add_broadcast_reshape_layer_8hpp_source.html#l00027">AddBroadcastReshapeLayerImpl::Run()</a>, <a class="el" href="_optimization_8hpp_source.html#l00038">OptimizeForTypeImpl< BaseType, OptimizeForConnectionImpl< BaseType, ChildType, Wrapped > >::Run()</a>, <a class="el" href="_add_debug_8hpp_source.html#l00038">AddDebugToFileImpl::Run()</a>, <a class="el" href="_network_8cpp_source.html#l01821">armnn::SelectTensorHandleStrategy()</a>, <a class="el" href="_elementwise_base_layer_8cpp_source.html#l00068">ElementwiseBaseLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_elementwise_binary_layer_8cpp_source.html#l00076">ElementwiseBinaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_elementwise_unary_layer_8cpp_source.html#l00048">ElementwiseUnaryLayer::ValidateTensorShapesFromInputs()</a>, and <a class="el" href="_layer_8cpp_source.html#l00410">Layer::VerifyLayerConnections()</a>.</p> |
| 1819 | |
| 1820 | </div> |
| 1821 | </div> |
| 1822 | <a id="a65ca562c882ad619684445a1402f415a"></a> |
| 1823 | <h2 class="memtitle"><span class="permalink"><a href="#a65ca562c882ad619684445a1402f415a">◆ </a></span>InferOutputShapes()</h2> |
| 1824 | |
| 1825 | <div class="memitem"> |
| 1826 | <div class="memproto"> |
| 1827 | <table class="mlabels"> |
| 1828 | <tr> |
| 1829 | <td class="mlabels-left"> |
| 1830 | <table class="memname"> |
| 1831 | <tr> |
| 1832 | <td class="memname">std::vector< <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> > InferOutputShapes </td> |
| 1833 | <td>(</td> |
| 1834 | <td class="paramtype">const std::vector< <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> > & </td> |
| 1835 | <td class="paramname"><em>inputShapes</em></td><td>)</td> |
| 1836 | <td> const</td> |
| 1837 | </tr> |
| 1838 | </table> |
| 1839 | </td> |
| 1840 | <td class="mlabels-right"> |
| 1841 | <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> |
| 1842 | </tr> |
| 1843 | </table> |
| 1844 | </div><div class="memdoc"> |
| 1845 | |
| 1846 | <p>Infer the shape of the output(s) based on the provided input shape(s) </p> |
| 1847 | |
| 1848 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#aa6e3c075c888e7c16942a468a3aae33c">IConnectableLayer</a>.</p> |
| 1849 | |
| 1850 | <p>Reimplemented in <a class="el" href="classarmnn_1_1_q_lstm_layer.html#a65ca562c882ad619684445a1402f415a">QLstmLayer</a>, <a class="el" href="classarmnn_1_1_quantized_lstm_layer.html#a65ca562c882ad619684445a1402f415a">QuantizedLstmLayer</a>, <a class="el" href="classarmnn_1_1_concat_layer.html#a65ca562c882ad619684445a1402f415a">ConcatLayer</a>, <a class="el" href="classarmnn_1_1_lstm_layer.html#a65ca562c882ad619684445a1402f415a">LstmLayer</a>, <a class="el" href="classarmnn_1_1_unidirectional_sequence_lstm_layer.html#a65ca562c882ad619684445a1402f415a">UnidirectionalSequenceLstmLayer</a>, <a class="el" href="classarmnn_1_1_splitter_layer.html#a65ca562c882ad619684445a1402f415a">SplitterLayer</a>, <a class="el" href="classarmnn_1_1_detection_post_process_layer.html#a65ca562c882ad619684445a1402f415a">DetectionPostProcessLayer</a>, <a class="el" href="classarmnn_1_1_transpose_convolution2d_layer.html#a65ca562c882ad619684445a1402f415a">TransposeConvolution2dLayer</a>, <a class="el" href="classarmnn_1_1_convolution2d_layer.html#a65ca562c882ad619684445a1402f415a">Convolution2dLayer</a>, <a class="el" href="classarmnn_1_1_convolution3d_layer.html#a65ca562c882ad619684445a1402f415a">Convolution3dLayer</a>, <a class="el" href="classarmnn_1_1_depthwise_convolution2d_layer.html#a65ca562c882ad619684445a1402f415a">DepthwiseConvolution2dLayer</a>, <a class="el" href="classarmnn_1_1_fully_connected_layer.html#a65ca562c882ad619684445a1402f415a">FullyConnectedLayer</a>, <a class="el" href="classarmnn_1_1_constant_layer.html#a65ca562c882ad619684445a1402f415a">ConstantLayer</a>, <a class="el" href="classarmnn_1_1_reshape_layer.html#a65ca562c882ad619684445a1402f415a">ReshapeLayer</a>, <a class="el" href="classarmnn_1_1_mean_layer.html#a65ca562c882ad619684445a1402f415a">MeanLayer</a>, <a class="el" href="classarmnn_1_1_pad_layer.html#a65ca562c882ad619684445a1402f415a">PadLayer</a>, <a class="el" href="classarmnn_1_1_stand_in_layer.html#a65ca562c882ad619684445a1402f415a">StandInLayer</a>, <a class="el" href="classarmnn_1_1_batch_to_space_nd_layer.html#a65ca562c882ad619684445a1402f415a">BatchToSpaceNdLayer</a>, <a class="el" href="classarmnn_1_1_permute_layer.html#a65ca562c882ad619684445a1402f415a">PermuteLayer</a>, <a class="el" href="classarmnn_1_1_pooling2d_layer.html#a65ca562c882ad619684445a1402f415a">Pooling2dLayer</a>, <a class="el" href="classarmnn_1_1_pooling3d_layer.html#a65ca562c882ad619684445a1402f415a">Pooling3dLayer</a>, <a class="el" href="classarmnn_1_1_resize_layer.html#a65ca562c882ad619684445a1402f415a">ResizeLayer</a>, <a class="el" href="classarmnn_1_1_shape_layer.html#a65ca562c882ad619684445a1402f415a">ShapeLayer</a>, <a class="el" href="classarmnn_1_1_slice_layer.html#a65ca562c882ad619684445a1402f415a">SliceLayer</a>, <a class="el" href="classarmnn_1_1_stack_layer.html#a65ca562c882ad619684445a1402f415a">StackLayer</a>, <a class="el" href="classarmnn_1_1_merge_layer.html#a65ca562c882ad619684445a1402f415a">MergeLayer</a>, <a class="el" href="classarmnn_1_1_rank_layer.html#a65ca562c882ad619684445a1402f415a">RankLayer</a>, <a class="el" href="classarmnn_1_1_transpose_layer.html#a65ca562c882ad619684445a1402f415a">TransposeLayer</a>, <a class="el" href="classarmnn_1_1_comparison_layer.html#a65ca562c882ad619684445a1402f415a">ComparisonLayer</a>, <a class="el" href="classarmnn_1_1_depth_to_space_layer.html#a65ca562c882ad619684445a1402f415a">DepthToSpaceLayer</a>, <a class="el" href="classarmnn_1_1_logical_binary_layer.html#a65ca562c882ad619684445a1402f415a">LogicalBinaryLayer</a>, <a class="el" href="classarmnn_1_1_prelu_layer.html#a65ca562c882ad619684445a1402f415a">PreluLayer</a>, <a class="el" href="classarmnn_1_1_reduce_layer.html#a65ca562c882ad619684445a1402f415a">ReduceLayer</a>, <a class="el" href="classarmnn_1_1_reverse_v2_layer.html#a65ca562c882ad619684445a1402f415a">ReverseV2Layer</a>, <a class="el" href="classarmnn_1_1_space_to_batch_nd_layer.html#a65ca562c882ad619684445a1402f415a">SpaceToBatchNdLayer</a>, <a class="el" href="classarmnn_1_1_space_to_depth_layer.html#a65ca562c882ad619684445a1402f415a">SpaceToDepthLayer</a>, <a class="el" href="classarmnn_1_1_arg_min_max_layer.html#a65ca562c882ad619684445a1402f415a">ArgMinMaxLayer</a>, <a class="el" href="classarmnn_1_1_elementwise_binary_layer.html#a65ca562c882ad619684445a1402f415a">ElementwiseBinaryLayer</a>, <a class="el" href="classarmnn_1_1_elementwise_unary_layer.html#a65ca562c882ad619684445a1402f415a">ElementwiseUnaryLayer</a>, <a class="el" href="classarmnn_1_1_gather_layer.html#a65ca562c882ad619684445a1402f415a">GatherLayer</a>, <a class="el" href="classarmnn_1_1_strided_slice_layer.html#a65ca562c882ad619684445a1402f415a">StridedSliceLayer</a>, <a class="el" href="classarmnn_1_1_batch_mat_mul_layer.html#a65ca562c882ad619684445a1402f415a">BatchMatMulLayer</a>, <a class="el" href="classarmnn_1_1_gather_nd_layer.html#a65ca562c882ad619684445a1402f415a">GatherNdLayer</a>, <a class="el" href="classarmnn_1_1_scatter_nd_layer.html#a65ca562c882ad619684445a1402f415a">ScatterNdLayer</a>, <a class="el" href="classarmnn_1_1_tile_layer.html#a65ca562c882ad619684445a1402f415a">TileLayer</a>, <a class="el" href="classarmnn_1_1_broadcast_to_layer.html#a65ca562c882ad619684445a1402f415a">BroadcastToLayer</a>, and <a class="el" href="classarmnn_1_1_elementwise_base_layer.html#a65ca562c882ad619684445a1402f415a">ElementwiseBaseLayer</a>.</p> |
| 1851 | |
| 1852 | <p class="definition">Definition at line <a class="el" href="_layer_8cpp_source.html#l00432">432</a> of file <a class="el" href="_layer_8cpp_source.html">Layer.cpp</a>.</p> |
| 1853 | <div class="fragment"><div class="line"><a name="l00433"></a><span class="lineno"> 433</span> {</div> |
| 1854 | <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <a class="code" href="_exceptions_8hpp.html#a5b0cd1f24b12298894d6367f186ea6dc">ARMNN_THROW_INVALIDARG_MSG_IF_FALSE</a>(<a class="code" href="classarmnn_1_1_layer.html#abc0660dc440c8a285b456c9ef6383c26">GetNumInputSlots</a>() != 0, <span class="stringliteral">"input slots must not be zero."</span>);</div> |
| 1855 | <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <a class="code" href="_exceptions_8hpp.html#a5b0cd1f24b12298894d6367f186ea6dc">ARMNN_THROW_INVALIDARG_MSG_IF_FALSE</a>(<a class="code" href="classarmnn_1_1_layer.html#a1594bddc87d6477df300317658f566bb">GetNumOutputSlots</a>() != 0, <span class="stringliteral">"output slots must not be zero."</span>);</div> |
| 1856 | <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  </div> |
| 1857 | <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="comment">// By default we return what we got, meaning the output shape(s) are the same as the input(s).</span></div> |
| 1858 | <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="comment">// This only works if the number of inputs and outputs are the same. Since we are in the Layer</span></div> |
| 1859 | <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <span class="comment">// base class, this means the implementation needs to be overridden in the specific layers for</span></div> |
| 1860 | <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="comment">// the other cases. So the missing implementation justifies the UnimplementedException.</span></div> |
| 1861 | <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  </div> |
| 1862 | <div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">if</span> (<a class="code" href="classarmnn_1_1_layer.html#abc0660dc440c8a285b456c9ef6383c26">GetNumInputSlots</a>() != <a class="code" href="classarmnn_1_1_layer.html#a1594bddc87d6477df300317658f566bb">GetNumOutputSlots</a>())</div> |
| 1863 | <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  {</div> |
| 1864 | <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="keywordflow">throw</span> UnimplementedException(</div> |
| 1865 | <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  fmt::format(<span class="stringliteral">"Default implementation for InferOutputShapes can only be used for "</span></div> |
| 1866 | <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="stringliteral">"layers with the same number of input and output slots. This doesn't "</span></div> |
| 1867 | <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="stringliteral">"hold for {0} layer {1} (#inputs={2} #outputs={3}) {4}"</span>,</div> |
| 1868 | <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <a class="code" href="namespacearmnn.html#addb6b14dd1b632263ffe77430259a7c4">GetLayerTypeAsCString</a>(this-><a class="code" href="classarmnn_1_1_layer.html#ad8e15c530c929ab823d89ae9fd2d3f11">GetType</a>()),</div> |
| 1869 | <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <a class="code" href="classarmnn_1_1_layer.html#a9a97cb6d32661a57fc33bd29b8e41ff4">GetNameStr</a>(),</div> |
| 1870 | <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <a class="code" href="classarmnn_1_1_layer.html#abc0660dc440c8a285b456c9ef6383c26">GetNumInputSlots</a>(),</div> |
| 1871 | <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <a class="code" href="classarmnn_1_1_layer.html#a1594bddc87d6477df300317658f566bb">GetNumOutputSlots</a>(),</div> |
| 1872 | <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <a class="code" href="_exceptions_8hpp.html#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>().AsString()));</div> |
| 1873 | <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  }</div> |
| 1874 | <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="keywordflow">return</span> inputShapes;</div> |
| 1875 | <div class="line"><a name="l00455"></a><span class="lineno"> 455</span> }</div> |
| 1876 | </div><!-- fragment --> |
| 1877 | <p class="reference">References <a class="el" href="_exceptions_8hpp_source.html#l00210">ARMNN_THROW_INVALIDARG_MSG_IF_FALSE</a>, <a class="el" href="_exceptions_8hpp_source.html#l00203">CHECK_LOCATION</a>, <a class="el" href="_internal_types_8cpp_source.html#l00013">armnn::GetLayerTypeAsCString()</a>, <a class="el" href="_layer_8hpp_source.html#l00240">Layer::GetNameStr()</a>, <a class="el" href="_layer_8hpp_source.html#l00334">Layer::GetNumInputSlots()</a>, <a class="el" href="_layer_8hpp_source.html#l00335">Layer::GetNumOutputSlots()</a>, and <a class="el" href="_layer_8hpp_source.html#l00286">Layer::GetType()</a>.</p> |
| 1878 | |
| 1879 | <p class="reference">Referenced by <a class="el" href="_quantize_layer_8cpp_source.html#l00033">QuantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_activation_layer_8cpp_source.html#l00033">ActivationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_channel_shuffle_layer_8cpp_source.html#l00035">ChannelShuffleLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fill_layer_8cpp_source.html#l00034">FillLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convert_fp32_to_fp16_layer_8cpp_source.html#l00034">ConvertFp32ToFp16Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_normalization_layer_8cpp_source.html#l00034">NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mem_import_layer_8cpp_source.html#l00037">MemImportLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mem_copy_layer_8cpp_source.html#l00037">MemCopyLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_rsqrt_layer_8cpp_source.html#l00036">RsqrtLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_l2_normalization_layer_8cpp_source.html#l00034">L2NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_instance_normalization_layer_8cpp_source.html#l00034">InstanceNormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_switch_layer_8cpp_source.html#l00032">SwitchLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_abs_layer_8cpp_source.html#l00036">AbsLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fake_quantization_layer_8cpp_source.html#l00034">FakeQuantizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_debug_layer_8cpp_source.html#l00045">DebugLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_cast_layer_8cpp_source.html#l00034">CastLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convert_fp16_to_fp32_layer_8cpp_source.html#l00035">ConvertFp16ToFp32Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_floor_layer_8cpp_source.html#l00034">FloorLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_softmax_layer_8cpp_source.html#l00034">SoftmaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_dequantize_layer_8cpp_source.html#l00033">DequantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_log_softmax_layer_8cpp_source.html#l00034">LogSoftmaxLayer::ValidateTensorShapesFromInputs()</a>, and <a class="el" href="_batch_normalization_layer_8cpp_source.html#l00067">BatchNormalizationLayer::ValidateTensorShapesFromInputs()</a>.</p> |
| 1880 | |
| 1881 | </div> |
| 1882 | </div> |
| 1883 | <a id="a22485f444124128940e798a42f0b76d9"></a> |
| 1884 | <h2 class="memtitle"><span class="permalink"><a href="#a22485f444124128940e798a42f0b76d9">◆ </a></span>IsOutputUnconnected()</h2> |
| 1885 | |
| 1886 | <div class="memitem"> |
| 1887 | <div class="memproto"> |
| 1888 | <table class="mlabels"> |
| 1889 | <tr> |
| 1890 | <td class="mlabels-left"> |
| 1891 | <table class="memname"> |
| 1892 | <tr> |
| 1893 | <td class="memname">bool IsOutputUnconnected </td> |
| 1894 | <td>(</td> |
| 1895 | <td class="paramname"></td><td>)</td> |
| 1896 | <td></td> |
| 1897 | </tr> |
| 1898 | </table> |
| 1899 | </td> |
| 1900 | <td class="mlabels-right"> |
| 1901 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 1902 | </tr> |
| 1903 | </table> |
| 1904 | </div><div class="memdoc"> |
| 1905 | |
| 1906 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00270">270</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1907 | <div class="fragment"><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  {</div> |
| 1908 | <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numConnections = 0;</div> |
| 1909 | <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  </div> |
| 1910 | <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span>&& output : <a class="code" href="classarmnn_1_1_layer.html#a98cdff4e0b45f4c80bfcedaf926e16e0">GetOutputSlots</a>())</div> |
| 1911 | <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  {</div> |
| 1912 | <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  numConnections += output.GetNumConnections();</div> |
| 1913 | <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  }</div> |
| 1914 | <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  </div> |
| 1915 | <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">return</span> (<a class="code" href="classarmnn_1_1_layer.html#a1594bddc87d6477df300317658f566bb">GetNumOutputSlots</a>() > 0) && (numConnections == 0);</div> |
| 1916 | <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  }</div> |
| 1917 | </div><!-- fragment --> |
| 1918 | <p class="reference">References <a class="el" href="_layer_8hpp_source.html#l00335">Layer::GetNumOutputSlots()</a>, and <a class="el" href="_layer_8hpp_source.html#l00259">Layer::GetOutputSlots()</a>.</p> |
| 1919 | |
| 1920 | <p class="reference">Referenced by <a class="el" href="_optimization_8hpp_source.html#l00084">OptimizeForConnectionImpl< BaseType, ChildType, Wrapped >::Run()</a>, and <a class="el" href="_optimization_8hpp_source.html#l00136">OptimizeForExclusiveConnectionImpl< BaseType, ChildType, Wrapped >::Run()</a>.</p> |
| 1921 | |
| 1922 | </div> |
| 1923 | </div> |
| 1924 | <a id="a386acff5f8430245239ce58d00ba7576"></a> |
| 1925 | <h2 class="memtitle"><span class="permalink"><a href="#a386acff5f8430245239ce58d00ba7576">◆ </a></span>OperateOnConstantTensors()</h2> |
| 1926 | |
| 1927 | <div class="memitem"> |
| 1928 | <div class="memproto"> |
| 1929 | <table class="mlabels"> |
| 1930 | <tr> |
| 1931 | <td class="mlabels-left"> |
| 1932 | <table class="memname"> |
| 1933 | <tr> |
| 1934 | <td class="memname">void OperateOnConstantTensors </td> |
| 1935 | <td>(</td> |
| 1936 | <td class="paramtype">Op </td> |
| 1937 | <td class="paramname"><em>op</em></td><td>)</td> |
| 1938 | <td></td> |
| 1939 | </tr> |
| 1940 | </table> |
| 1941 | </td> |
| 1942 | <td class="mlabels-right"> |
| 1943 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 1944 | </tr> |
| 1945 | </table> |
| 1946 | </div><div class="memdoc"> |
| 1947 | |
| 1948 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00319">319</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1949 | <div class="fragment"><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  {</div> |
| 1950 | <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> constant : <a class="code" href="classarmnn_1_1_layer.html#a9114de666bc2d910faa846b04fc26974">GetConstantTensorsByRef</a>())</div> |
| 1951 | <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  {</div> |
| 1952 | <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">if</span> (constant.get())</div> |
| 1953 | <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  {</div> |
| 1954 | <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  op(constant);</div> |
| 1955 | <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  }</div> |
| 1956 | <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  }</div> |
| 1957 | <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  };</div> |
| 1958 | </div><!-- fragment --> |
| 1959 | <p class="reference">References <a class="el" href="_layer_8cpp_source.html#l00576">Layer::GetConstantTensorsByRef()</a>.</p> |
| 1960 | |
| 1961 | <p class="reference">Referenced by <a class="el" href="_layer_8cpp_source.html#l00336">Layer::ReleaseConstantData()</a>, and <a class="el" href="_convert_constants_8hpp_source.html#l00071">ConvertConstants< Converter, Predicate >::Run()</a>.</p> |
| 1962 | |
| 1963 | </div> |
| 1964 | </div> |
| 1965 | <a id="a30a858b2b26d651a066537e499fbf40d"></a> |
| 1966 | <h2 class="memtitle"><span class="permalink"><a href="#a30a858b2b26d651a066537e499fbf40d">◆ </a></span>PrepInfoAndDesc()</h2> |
| 1967 | |
| 1968 | <div class="memitem"> |
| 1969 | <div class="memproto"> |
| 1970 | <table class="mlabels"> |
| 1971 | <tr> |
| 1972 | <td class="mlabels-left"> |
| 1973 | <table class="memname"> |
| 1974 | <tr> |
| 1975 | <td class="memname"><a class="el" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a> PrepInfoAndDesc </td> |
| 1976 | <td>(</td> |
| 1977 | <td class="paramtype"><a class="el" href="structarmnn_1_1_queue_descriptor.html">QueueDescriptor</a> & </td> |
| 1978 | <td class="paramname"><em>descriptor</em></td><td>)</td> |
| 1979 | <td> const</td> |
| 1980 | </tr> |
| 1981 | </table> |
| 1982 | </td> |
| 1983 | <td class="mlabels-right"> |
| 1984 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td> |
| 1985 | </tr> |
| 1986 | </table> |
| 1987 | </div><div class="memdoc"> |
| 1988 | |
| 1989 | <p>Helper function to reduce duplication in *Layer::CreateWorkload. </p> |
| 1990 | |
| 1991 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00409">409</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 1992 | <div class="fragment"><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  {</div> |
| 1993 | <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  WorkloadInfo <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>;</div> |
| 1994 | <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <a class="code" href="classarmnn_1_1_layer.html#afc3239f5fc116259bf5451964e803646">CollectQueueDescriptorInputs</a>(descriptor, info);</div> |
| 1995 | <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <a class="code" href="classarmnn_1_1_layer.html#a499ca5a94d0174ed21786b6994b2cd8c">CollectQueueDescriptorOutputs</a>(descriptor, info);</div> |
| 1996 | <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_Name = <a class="code" href="classarmnn_1_1_layer.html#a7ddf0cf6f620d59c10e63495ace795d0">GetName</a>();</div> |
| 1997 | <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>;</div> |
| 1998 | <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  }</div> |
| 1999 | </div><!-- fragment --> |
| 2000 | <p class="reference">References <a class="el" href="_layer_8hpp_source.html#l00386">Layer::CollectQueueDescriptorInputs()</a>, <a class="el" href="_layer_8hpp_source.html#l00393">Layer::CollectQueueDescriptorOutputs()</a>, <a class="el" href="_layer_8hpp_source.html#l00332">Layer::GetName()</a>, and <a class="el" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">armnn::info</a>.</p> |
| 2001 | |
| 2002 | <p class="reference">Referenced by <a class="el" href="_convert_fp32_to_fp16_layer_8cpp_source.html#l00021">ConvertFp32ToFp16Layer::CreateWorkload()</a>, <a class="el" href="_quantize_layer_8cpp_source.html#l00017">QuantizeLayer::CreateWorkload()</a>, <a class="el" href="_rank_layer_8cpp_source.html#l00020">RankLayer::CreateWorkload()</a>, <a class="el" href="_switch_layer_8cpp_source.html#l00019">SwitchLayer::CreateWorkload()</a>, <a class="el" href="_shape_layer_8cpp_source.html#l00024">ShapeLayer::CreateWorkload()</a>, <a class="el" href="_dequantize_layer_8cpp_source.html#l00019">DequantizeLayer::CreateWorkload()</a>, <a class="el" href="_mem_import_layer_8cpp_source.html#l00027">MemImportLayer::CreateWorkload()</a>, <a class="el" href="_gather_nd_layer_8cpp_source.html#l00021">GatherNdLayer::CreateWorkload()</a>, <a class="el" href="_convert_fp16_to_fp32_layer_8cpp_source.html#l00022">ConvertFp16ToFp32Layer::CreateWorkload()</a>, <a class="el" href="_floor_layer_8cpp_source.html#l00021">FloorLayer::CreateWorkload()</a>, <a class="el" href="_addition_layer_8cpp_source.html#l00022">AdditionLayer::CreateWorkload()</a>, <a class="el" href="_abs_layer_8cpp_source.html#l00022">AbsLayer::CreateWorkload()</a>, <a class="el" href="_cast_layer_8cpp_source.html#l00021">CastLayer::CreateWorkload()</a>, <a class="el" href="_rsqrt_layer_8cpp_source.html#l00022">RsqrtLayer::CreateWorkload()</a>, <a class="el" href="_mem_copy_layer_8cpp_source.html#l00027">MemCopyLayer::CreateWorkload()</a>, <a class="el" href="_unmap_layer_8cpp_source.html#l00027">UnmapLayer::CreateWorkload()</a>, <a class="el" href="_map_layer_8cpp_source.html#l00027">MapLayer::CreateWorkload()</a>, <a class="el" href="_debug_layer_8cpp_source.html#l00025">DebugLayer::CreateWorkload()</a>, <a class="el" href="_maximum_layer_8cpp_source.html#l00021">MaximumLayer::CreateWorkload()</a>, <a class="el" href="_prelu_layer_8cpp_source.html#l00023">PreluLayer::CreateWorkload()</a>, <a class="el" href="_division_layer_8cpp_source.html#l00022">DivisionLayer::CreateWorkload()</a>, <a class="el" href="_subtraction_layer_8cpp_source.html#l00022">SubtractionLayer::CreateWorkload()</a>, <a class="el" href="_minimum_layer_8cpp_source.html#l00022">MinimumLayer::CreateWorkload()</a>, <a class="el" href="_reverse_v2_layer_8cpp_source.html#l00018">ReverseV2Layer::CreateWorkload()</a>, <a class="el" href="_multiplication_layer_8cpp_source.html#l00022">MultiplicationLayer::CreateWorkload()</a>, <a class="el" href="_constant_layer_8cpp_source.html#l00021">ConstantLayer::CreateWorkload()</a>, <a class="el" href="_quantized_lstm_layer_8cpp_source.html#l00022">QuantizedLstmLayer::CreateWorkload()</a>, and <a class="el" href="_layer_with_parameters_8hpp_source.html#l00044">LayerWithParameters< StridedSliceDescriptor >::PrepInfoAndDesc()</a>.</p> |
| 2003 | |
| 2004 | </div> |
| 2005 | </div> |
| 2006 | <a id="a339bef86bc340c3d1393ed83950fe8af"></a> |
| 2007 | <h2 class="memtitle"><span class="permalink"><a href="#a339bef86bc340c3d1393ed83950fe8af">◆ </a></span>ReleaseConstantData()</h2> |
| 2008 | |
| 2009 | <div class="memitem"> |
| 2010 | <div class="memproto"> |
| 2011 | <table class="mlabels"> |
| 2012 | <tr> |
| 2013 | <td class="mlabels-left"> |
| 2014 | <table class="memname"> |
| 2015 | <tr> |
| 2016 | <td class="memname">void ReleaseConstantData </td> |
| 2017 | <td>(</td> |
| 2018 | <td class="paramname"></td><td>)</td> |
| 2019 | <td></td> |
| 2020 | </tr> |
| 2021 | </table> |
| 2022 | </td> |
| 2023 | <td class="mlabels-right"> |
| 2024 | <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| 2025 | </tr> |
| 2026 | </table> |
| 2027 | </div><div class="memdoc"> |
| 2028 | |
| 2029 | <p>Reimplemented in <a class="el" href="classarmnn_1_1_convolution2d_layer.html#a49a08bdbd40e6913a9a3e1418aa1f43a">Convolution2dLayer</a>, <a class="el" href="classarmnn_1_1_depthwise_convolution2d_layer.html#a49a08bdbd40e6913a9a3e1418aa1f43a">DepthwiseConvolution2dLayer</a>, <a class="el" href="classarmnn_1_1_fully_connected_layer.html#a49a08bdbd40e6913a9a3e1418aa1f43a">FullyConnectedLayer</a>, and <a class="el" href="classarmnn_1_1_constant_layer.html#a49a08bdbd40e6913a9a3e1418aa1f43a">ConstantLayer</a>.</p> |
| 2030 | |
| 2031 | <p class="definition">Definition at line <a class="el" href="_layer_8cpp_source.html#l00336">336</a> of file <a class="el" href="_layer_8cpp_source.html">Layer.cpp</a>.</p> |
| 2032 | <div class="fragment"><div class="line"><a name="l00337"></a><span class="lineno"> 337</span> {</div> |
| 2033 | <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="comment">// Now free up the static data.</span></div> |
| 2034 | <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <a class="code" href="classarmnn_1_1_layer.html#a386acff5f8430245239ce58d00ba7576">OperateOnConstantTensors</a>([](std::shared_ptr<ConstTensorHandle>& handle)</div> |
| 2035 | <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  {</div> |
| 2036 | <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  handle.reset();</div> |
| 2037 | <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  });</div> |
| 2038 | <div class="line"><a name="l00343"></a><span class="lineno"> 343</span> }</div> |
| 2039 | </div><!-- fragment --> |
| 2040 | <p class="reference">References <a class="el" href="_layer_8hpp_source.html#l00319">Layer::OperateOnConstantTensors()</a>.</p> |
| 2041 | |
| 2042 | </div> |
| 2043 | </div> |
| 2044 | <a id="ae68bb844446f28cf8580ecbe2f516ff6"></a> |
| 2045 | <h2 class="memtitle"><span class="permalink"><a href="#ae68bb844446f28cf8580ecbe2f516ff6">◆ </a></span>Reparent()</h2> |
| 2046 | |
| 2047 | <div class="memitem"> |
| 2048 | <div class="memproto"> |
| 2049 | <table class="mlabels"> |
| 2050 | <tr> |
| 2051 | <td class="mlabels-left"> |
| 2052 | <table class="memname"> |
| 2053 | <tr> |
| 2054 | <td class="memname">virtual void Reparent </td> |
| 2055 | <td>(</td> |
| 2056 | <td class="paramtype"><a class="el" href="classarmnn_1_1_graph.html">Graph</a> & </td> |
| 2057 | <td class="paramname"><em>dest</em>, </td> |
| 2058 | </tr> |
| 2059 | <tr> |
| 2060 | <td class="paramkey"></td> |
| 2061 | <td></td> |
| 2062 | <td class="paramtype">std::list< <a class="el" href="classarmnn_1_1_layer.html">Layer</a> * >::const_iterator </td> |
| 2063 | <td class="paramname"><em>iterator</em> </td> |
| 2064 | </tr> |
| 2065 | <tr> |
| 2066 | <td></td> |
| 2067 | <td>)</td> |
| 2068 | <td></td><td></td> |
| 2069 | </tr> |
| 2070 | </table> |
| 2071 | </td> |
| 2072 | <td class="mlabels-right"> |
| 2073 | <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> |
| 2074 | </tr> |
| 2075 | </table> |
| 2076 | </div><div class="memdoc"> |
| 2077 | |
| 2078 | <p class="reference">Referenced by <a class="el" href="_graph_8hpp_source.html#l00115">Graph::operator=()</a>.</p> |
| 2079 | |
| 2080 | </div> |
| 2081 | </div> |
| 2082 | <a id="aac329cade047e952621b59a51a5d5f49"></a> |
| 2083 | <h2 class="memtitle"><span class="permalink"><a href="#aac329cade047e952621b59a51a5d5f49">◆ </a></span>ResetPriority()</h2> |
| 2084 | |
| 2085 | <div class="memitem"> |
| 2086 | <div class="memproto"> |
| 2087 | <table class="memname"> |
| 2088 | <tr> |
| 2089 | <td class="memname">void ResetPriority </td> |
| 2090 | <td>(</td> |
| 2091 | <td class="paramname"></td><td>)</td> |
| 2092 | <td> const</td> |
| 2093 | </tr> |
| 2094 | </table> |
| 2095 | </div><div class="memdoc"> |
| 2096 | |
| 2097 | <p class="definition">Definition at line <a class="el" href="_layer_8cpp_source.html#l00354">354</a> of file <a class="el" href="_layer_8cpp_source.html">Layer.cpp</a>.</p> |
| 2098 | <div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> {</div> |
| 2099 | <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  m_Priority = 0;</div> |
| 2100 | <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  m_Visiting = <span class="keyword">false</span>;</div> |
| 2101 | <div class="line"><a name="l00358"></a><span class="lineno"> 358</span> }</div> |
| 2102 | </div><!-- fragment --> |
| 2103 | </div> |
| 2104 | </div> |
| 2105 | <a id="ac04cd8de9b9185756eb02463ffd432b1"></a> |
| 2106 | <h2 class="memtitle"><span class="permalink"><a href="#ac04cd8de9b9185756eb02463ffd432b1">◆ </a></span>SerializeLayerParameters()</h2> |
| 2107 | |
| 2108 | <div class="memitem"> |
| 2109 | <div class="memproto"> |
| 2110 | <table class="mlabels"> |
| 2111 | <tr> |
| 2112 | <td class="mlabels-left"> |
| 2113 | <table class="memname"> |
| 2114 | <tr> |
| 2115 | <td class="memname">void SerializeLayerParameters </td> |
| 2116 | <td>(</td> |
| 2117 | <td class="paramtype"><a class="el" href="namespacearmnn.html#a8c42c6647e31ebe525aeba878d133e45">ParameterStringifyFunction</a> & </td> |
| 2118 | <td class="paramname"><em>fn</em></td><td>)</td> |
| 2119 | <td> const</td> |
| 2120 | </tr> |
| 2121 | </table> |
| 2122 | </td> |
| 2123 | <td class="mlabels-right"> |
| 2124 | <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| 2125 | </tr> |
| 2126 | </table> |
| 2127 | </div><div class="memdoc"> |
| 2128 | |
| 2129 | <p>Helper to serialize the layer parameters to string. </p> |
| 2130 | <p>(currently used in DotSerializer and company). </p> |
| 2131 | |
| 2132 | <p>Reimplemented in <a class="el" href="classarmnn_1_1_constant_layer.html#a2ca654770a1890f15e3c7aab98e434a5">ConstantLayer</a>, <a class="el" href="classarmnn_1_1_convolution2d_layer.html#a2ca654770a1890f15e3c7aab98e434a5">Convolution2dLayer</a>, <a class="el" href="classarmnn_1_1_convolution3d_layer.html#a2ca654770a1890f15e3c7aab98e434a5">Convolution3dLayer</a>, <a class="el" href="classarmnn_1_1_depthwise_convolution2d_layer.html#a2ca654770a1890f15e3c7aab98e434a5">DepthwiseConvolution2dLayer</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< Parameters ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< SoftmaxDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< FakeQuantizationDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< ReduceDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< LstmDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< ChannelShuffleDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< LogSoftmaxDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< PreCompiledDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< SpaceToBatchNdDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< BatchToSpaceNdDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< PermuteDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< GatherDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< ElementwiseUnaryDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< DepthToSpaceDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< OriginsDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< SpaceToDepthDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< ReshapeDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< ViewsDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< Pooling2dDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< Convolution2dDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< ActivationDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< StandInDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< MeanDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< StackDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< TransposeDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< InstanceNormalizationDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< ComparisonDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< TransposeConvolution2dDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< BroadcastToDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< BatchNormalizationDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< FusedDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< BatchMatMulDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< TileDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< ArgMinMaxDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< LogicalBinaryDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< DetectionPostProcessDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< PadDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< L2NormalizationDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< Convolution3dDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< SliceDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< QLstmDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< FillDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< DepthwiseConvolution2dDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< NormalizationDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< FullyConnectedDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< ScatterNdDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< ResizeDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< Pooling3dDescriptor ></a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< ElementwiseBinaryDescriptor ></a>, and <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a2ca654770a1890f15e3c7aab98e434a5">LayerWithParameters< StridedSliceDescriptor ></a>.</p> |
| 2133 | |
| 2134 | <p class="definition">Definition at line <a class="el" href="_layer_8cpp_source.html#l00540">540</a> of file <a class="el" href="_layer_8cpp_source.html">Layer.cpp</a>.</p> |
| 2135 | <div class="fragment"><div class="line"><a name="l00541"></a><span class="lineno"> 541</span> {</div> |
| 2136 | <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  std::string guid = std::to_string(m_Guid);</div> |
| 2137 | <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  std::string layerType = <a class="code" href="namespacearmnn.html#addb6b14dd1b632263ffe77430259a7c4">GetLayerTypeAsCString</a>(m_Type);</div> |
| 2138 | <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  std::string backendId = std::string(m_BackendId);</div> |
| 2139 | <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="keywordflow">if</span> (!(guid.compare(<span class="stringliteral">""</span>) == 0) && !guid.empty())</div> |
| 2140 | <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  {</div> |
| 2141 | <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  fn(<span class="stringliteral">"Guid"</span>, guid);</div> |
| 2142 | <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  }</div> |
| 2143 | <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keywordflow">if</span>(!(m_LayerName.compare(<span class="stringliteral">""</span>) == 0) && !m_LayerName.empty())</div> |
| 2144 | <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  {</div> |
| 2145 | <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  fn(<span class="stringliteral">"LayerName"</span>,m_LayerName);</div> |
| 2146 | <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  }</div> |
| 2147 | <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <span class="keywordflow">if</span>(!(layerType.compare(<span class="stringliteral">""</span>) == 0) && !layerType.empty())</div> |
| 2148 | <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  {</div> |
| 2149 | <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  fn(<span class="stringliteral">"LayerType"</span>,layerType);</div> |
| 2150 | <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  }</div> |
| 2151 | <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="keywordflow">if</span>(!(backendId.compare(<span class="stringliteral">""</span>) == 0) && !backendId.empty())</div> |
| 2152 | <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  {</div> |
| 2153 | <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  fn(<span class="stringliteral">"BackendID"</span>,backendId);</div> |
| 2154 | <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  }</div> |
| 2155 | <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  std::shared_ptr<ActivationDescriptor></div> |
| 2156 | <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  activationDescPtr = GetAdditionalInformation<ActivationDescriptor>();</div> |
| 2157 | <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  </div> |
| 2158 | <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  <span class="keywordflow">if</span> (activationDescPtr)</div> |
| 2159 | <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  {</div> |
| 2160 | <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <a class="code" href="structarmnn_1_1_stringify_layer_parameters.html#a84990e31a235f27cd3d7f3fc90fa0035">StringifyLayerParameters<ActivationDescriptor>::Serialize</a>(fn, *activationDescPtr.get());</div> |
| 2161 | <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  }</div> |
| 2162 | <div class="line"><a name="l00568"></a><span class="lineno"> 568</span> }</div> |
| 2163 | </div><!-- fragment --> |
| 2164 | <p class="reference">References <a class="el" href="_internal_types_8cpp_source.html#l00013">armnn::GetLayerTypeAsCString()</a>, and <a class="el" href="_serialize_layer_parameters_8hpp_source.html#l00025">StringifyLayerParameters< LayerParameter >::Serialize()</a>.</p> |
| 2165 | |
| 2166 | <p class="reference">Referenced by <a class="el" href="_layer_with_parameters_8hpp_source.html#l00023">LayerWithParameters< StridedSliceDescriptor >::SerializeLayerParameters()</a>, and <a class="el" href="_constant_layer_8cpp_source.html#l00072">ConstantLayer::SerializeLayerParameters()</a>.</p> |
| 2167 | |
| 2168 | </div> |
| 2169 | </div> |
| 2170 | <a id="af7f0460d32511de0da525f1817d13e8c"></a> |
| 2171 | <h2 class="memtitle"><span class="permalink"><a href="#af7f0460d32511de0da525f1817d13e8c">◆ </a></span>SetAdditionalInfo()</h2> |
| 2172 | |
| 2173 | <div class="memitem"> |
| 2174 | <div class="memproto"> |
| 2175 | <table class="mlabels"> |
| 2176 | <tr> |
| 2177 | <td class="mlabels-left"> |
| 2178 | <table class="memname"> |
| 2179 | <tr> |
| 2180 | <td class="memname">void SetAdditionalInfo </td> |
| 2181 | <td>(</td> |
| 2182 | <td class="paramtype"><a class="el" href="structarmnn_1_1_queue_descriptor.html">QueueDescriptor</a> & </td> |
| 2183 | <td class="paramname"><em>descriptor</em></td><td>)</td> |
| 2184 | <td> const</td> |
| 2185 | </tr> |
| 2186 | </table> |
| 2187 | </td> |
| 2188 | <td class="mlabels-right"> |
| 2189 | <span class="mlabels"><span class="mlabel">protected</span></span> </td> |
| 2190 | </tr> |
| 2191 | </table> |
| 2192 | </div><div class="memdoc"> |
| 2193 | |
| 2194 | <p class="definition">Definition at line <a class="el" href="_layer_8cpp_source.html#l00303">303</a> of file <a class="el" href="_layer_8cpp_source.html">Layer.cpp</a>.</p> |
| 2195 | <div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> {</div> |
| 2196 | <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  descriptor.m_AdditionalInfoObject = <a class="code" href="classarmnn_1_1_layer.html#ac7170f79bd0eadb1b6153e359c023cc0">m_AdditionalInfoObject</a>.get();</div> |
| 2197 | <div class="line"><a name="l00306"></a><span class="lineno"> 306</span> }</div> |
| 2198 | </div><!-- fragment --> |
| 2199 | <p class="reference">References <a class="el" href="_workload_data_8hpp_source.html#l00028">QueueDescriptor::m_AdditionalInfoObject</a>, and <a class="el" href="_layer_8hpp_source.html#l00427">Layer::m_AdditionalInfoObject</a>.</p> |
| 2200 | |
| 2201 | <p class="reference">Referenced by <a class="el" href="_activation_layer_8cpp_source.html#l00020">ActivationLayer::CreateWorkload()</a>, <a class="el" href="_broadcast_to_layer_8cpp_source.html#l00020">BroadcastToLayer::CreateWorkload()</a>, <a class="el" href="_convert_fp32_to_fp16_layer_8cpp_source.html#l00021">ConvertFp32ToFp16Layer::CreateWorkload()</a>, <a class="el" href="_fill_layer_8cpp_source.html#l00021">FillLayer::CreateWorkload()</a>, <a class="el" href="_quantize_layer_8cpp_source.html#l00017">QuantizeLayer::CreateWorkload()</a>, <a class="el" href="_rank_layer_8cpp_source.html#l00020">RankLayer::CreateWorkload()</a>, <a class="el" href="_abs_layer_8cpp_source.html#l00022">AbsLayer::CreateWorkload()</a>, <a class="el" href="_instance_normalization_layer_8cpp_source.html#l00021">InstanceNormalizationLayer::CreateWorkload()</a>, <a class="el" href="_l2_normalization_layer_8cpp_source.html#l00021">L2NormalizationLayer::CreateWorkload()</a>, <a class="el" href="_splitter_layer_8cpp_source.html#l00022">SplitterLayer::CreateWorkload()</a>, <a class="el" href="_stack_layer_8cpp_source.html#l00022">StackLayer::CreateWorkload()</a>, <a class="el" href="_strided_slice_layer_8cpp_source.html#l00022">StridedSliceLayer::CreateWorkload()</a>, <a class="el" href="_switch_layer_8cpp_source.html#l00019">SwitchLayer::CreateWorkload()</a>, <a class="el" href="_softmax_layer_8cpp_source.html#l00021">SoftmaxLayer::CreateWorkload()</a>, <a class="el" href="_slice_layer_8cpp_source.html#l00024">SliceLayer::CreateWorkload()</a>, <a class="el" href="_tile_layer_8cpp_source.html#l00017">TileLayer::CreateWorkload()</a>, <a class="el" href="_scatter_nd_layer_8cpp_source.html#l00021">ScatterNdLayer::CreateWorkload()</a>, <a class="el" href="_cast_layer_8cpp_source.html#l00021">CastLayer::CreateWorkload()</a>, <a class="el" href="_debug_layer_8cpp_source.html#l00025">DebugLayer::CreateWorkload()</a>, <a class="el" href="_map_layer_8cpp_source.html#l00027">MapLayer::CreateWorkload()</a>, <a class="el" href="_unmap_layer_8cpp_source.html#l00027">UnmapLayer::CreateWorkload()</a>, <a class="el" href="_mem_copy_layer_8cpp_source.html#l00027">MemCopyLayer::CreateWorkload()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00018">BatchMatMulLayer::CreateWorkload()</a>, <a class="el" href="_dequantize_layer_8cpp_source.html#l00019">DequantizeLayer::CreateWorkload()</a>, <a class="el" href="_mem_import_layer_8cpp_source.html#l00027">MemImportLayer::CreateWorkload()</a>, <a class="el" href="_normalization_layer_8cpp_source.html#l00021">NormalizationLayer::CreateWorkload()</a>, <a class="el" href="_pooling2d_layer_8cpp_source.html#l00027">Pooling2dLayer::CreateWorkload()</a>, <a class="el" href="_pooling3d_layer_8cpp_source.html#l00027">Pooling3dLayer::CreateWorkload()</a>, <a class="el" href="_fake_quantization_layer_8cpp_source.html#l00021">FakeQuantizationLayer::CreateWorkload()</a>, <a class="el" href="_concat_layer_8cpp_source.html#l00023">ConcatLayer::CreateWorkload()</a>, <a class="el" href="_floor_layer_8cpp_source.html#l00021">FloorLayer::CreateWorkload()</a>, <a class="el" href="_addition_layer_8cpp_source.html#l00022">AdditionLayer::CreateWorkload()</a>, <a class="el" href="_convert_fp16_to_fp32_layer_8cpp_source.html#l00022">ConvertFp16ToFp32Layer::CreateWorkload()</a>, <a class="el" href="_resize_layer_8cpp_source.html#l00026">ResizeLayer::CreateWorkload()</a>, <a class="el" href="_rsqrt_layer_8cpp_source.html#l00022">RsqrtLayer::CreateWorkload()</a>, <a class="el" href="_batch_to_space_nd_layer_8cpp_source.html#l00024">BatchToSpaceNdLayer::CreateWorkload()</a>, <a class="el" href="_shape_layer_8cpp_source.html#l00024">ShapeLayer::CreateWorkload()</a>, <a class="el" href="_gather_nd_layer_8cpp_source.html#l00021">GatherNdLayer::CreateWorkload()</a>, <a class="el" href="_subtraction_layer_8cpp_source.html#l00022">SubtractionLayer::CreateWorkload()</a>, <a class="el" href="_maximum_layer_8cpp_source.html#l00021">MaximumLayer::CreateWorkload()</a>, <a class="el" href="_arg_min_max_layer_8cpp_source.html#l00024">ArgMinMaxLayer::CreateWorkload()</a>, <a class="el" href="_space_to_depth_layer_8cpp_source.html#l00027">SpaceToDepthLayer::CreateWorkload()</a>, <a class="el" href="_log_softmax_layer_8cpp_source.html#l00021">LogSoftmaxLayer::CreateWorkload()</a>, <a class="el" href="_space_to_batch_nd_layer_8cpp_source.html#l00023">SpaceToBatchNdLayer::CreateWorkload()</a>, <a class="el" href="_gather_layer_8cpp_source.html#l00021">GatherLayer::CreateWorkload()</a>, <a class="el" href="_reverse_v2_layer_8cpp_source.html#l00018">ReverseV2Layer::CreateWorkload()</a>, <a class="el" href="_minimum_layer_8cpp_source.html#l00022">MinimumLayer::CreateWorkload()</a>, <a class="el" href="_multiplication_layer_8cpp_source.html#l00022">MultiplicationLayer::CreateWorkload()</a>, <a class="el" href="_reduce_layer_8cpp_source.html#l00023">ReduceLayer::CreateWorkload()</a>, <a class="el" href="_transpose_layer_8cpp_source.html#l00025">TransposeLayer::CreateWorkload()</a>, <a class="el" href="_pad_layer_8cpp_source.html#l00022">PadLayer::CreateWorkload()</a>, <a class="el" href="_permute_layer_8cpp_source.html#l00025">PermuteLayer::CreateWorkload()</a>, <a class="el" href="_division_layer_8cpp_source.html#l00022">DivisionLayer::CreateWorkload()</a>, <a class="el" href="_mean_layer_8cpp_source.html#l00024">MeanLayer::CreateWorkload()</a>, <a class="el" href="_prelu_layer_8cpp_source.html#l00023">PreluLayer::CreateWorkload()</a>, <a class="el" href="_elementwise_binary_layer_8cpp_source.html#l00018">ElementwiseBinaryLayer::CreateWorkload()</a>, <a class="el" href="_comparison_layer_8cpp_source.html#l00023">ComparisonLayer::CreateWorkload()</a>, <a class="el" href="_depth_to_space_layer_8cpp_source.html#l00025">DepthToSpaceLayer::CreateWorkload()</a>, <a class="el" href="_reshape_layer_8cpp_source.html#l00022">ReshapeLayer::CreateWorkload()</a>, <a class="el" href="_constant_layer_8cpp_source.html#l00021">ConstantLayer::CreateWorkload()</a>, <a class="el" href="_channel_shuffle_layer_8cpp_source.html#l00022">ChannelShuffleLayer::CreateWorkload()</a>, <a class="el" href="_convolution3d_layer_8cpp_source.html#l00048">Convolution3dLayer::CreateWorkload()</a>, <a class="el" href="_fully_connected_layer_8cpp_source.html#l00022">FullyConnectedLayer::CreateWorkload()</a>, <a class="el" href="_convolution2d_layer_8cpp_source.html#l00049">Convolution2dLayer::CreateWorkload()</a>, <a class="el" href="_depthwise_convolution2d_layer_8cpp_source.html#l00050">DepthwiseConvolution2dLayer::CreateWorkload()</a>, <a class="el" href="_fused_layer_8cpp_source.html#l00029">FusedLayer::CreateWorkload()</a>, <a class="el" href="_detection_post_process_layer_8cpp_source.html#l00023">DetectionPostProcessLayer::CreateWorkload()</a>, <a class="el" href="_transpose_convolution2d_layer_8cpp_source.html#l00025">TransposeConvolution2dLayer::CreateWorkload()</a>, <a class="el" href="_pre_compiled_layer_8cpp_source.html#l00031">PreCompiledLayer::CreateWorkload()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00022">LstmLayer::CreateWorkload()</a>, <a class="el" href="_unidirectional_sequence_lstm_layer_8cpp_source.html#l00022">UnidirectionalSequenceLstmLayer::CreateWorkload()</a>, <a class="el" href="_batch_normalization_layer_8cpp_source.html#l00021">BatchNormalizationLayer::CreateWorkload()</a>, <a class="el" href="_quantized_lstm_layer_8cpp_source.html#l00022">QuantizedLstmLayer::CreateWorkload()</a>, and <a class="el" href="_q_lstm_layer_8cpp_source.html#l00022">QLstmLayer::CreateWorkload()</a>.</p> |
| 2202 | |
| 2203 | </div> |
| 2204 | </div> |
| 2205 | <a id="aea1c8483ebeabc0dcbd9090b4f648f1d"></a> |
| 2206 | <h2 class="memtitle"><span class="permalink"><a href="#aea1c8483ebeabc0dcbd9090b4f648f1d">◆ </a></span>SetAdditionalInfoForObject()</h2> |
| 2207 | |
| 2208 | <div class="memitem"> |
| 2209 | <div class="memproto"> |
| 2210 | <table class="mlabels"> |
| 2211 | <tr> |
| 2212 | <td class="mlabels-left"> |
| 2213 | <table class="memname"> |
| 2214 | <tr> |
| 2215 | <td class="memname">void SetAdditionalInfoForObject </td> |
| 2216 | <td>(</td> |
| 2217 | <td class="paramtype">const <a class="el" href="namespacearmnn.html#a2a5caf3721af872f43c7642fec9449bc">AdditionalInfoObjectPtr</a> & </td> |
| 2218 | <td class="paramname"><em>additionalInfo</em></td><td>)</td> |
| 2219 | <td></td> |
| 2220 | </tr> |
| 2221 | </table> |
| 2222 | </td> |
| 2223 | <td class="mlabels-right"> |
| 2224 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 2225 | </tr> |
| 2226 | </table> |
| 2227 | </div><div class="memdoc"> |
| 2228 | |
| 2229 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00373">373</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 2230 | <div class="fragment"><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  {</div> |
| 2231 | <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <a class="code" href="classarmnn_1_1_layer.html#ac7170f79bd0eadb1b6153e359c023cc0">m_AdditionalInfoObject</a> = additionalInfo;</div> |
| 2232 | <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  }</div> |
| 2233 | </div><!-- fragment --> |
| 2234 | <p class="reference">References <a class="el" href="_layer_8hpp_source.html#l00427">Layer::m_AdditionalInfoObject</a>.</p> |
| 2235 | |
| 2236 | <p class="reference">Referenced by <a class="el" href="_neon_backend_8cpp_source.html#l00144">NeonBackend::OptimizeSubgraphView()</a>.</p> |
| 2237 | |
| 2238 | </div> |
| 2239 | </div> |
| 2240 | <a id="a328c9cf1c3abf2febcce4801ba706541"></a> |
| 2241 | <h2 class="memtitle"><span class="permalink"><a href="#a328c9cf1c3abf2febcce4801ba706541">◆ </a></span>SetAllowExpandedDims()</h2> |
| 2242 | |
| 2243 | <div class="memitem"> |
| 2244 | <div class="memproto"> |
| 2245 | <table class="mlabels"> |
| 2246 | <tr> |
| 2247 | <td class="mlabels-left"> |
| 2248 | <table class="memname"> |
| 2249 | <tr> |
| 2250 | <td class="memname">void SetAllowExpandedDims </td> |
| 2251 | <td>(</td> |
| 2252 | <td class="paramtype">bool </td> |
| 2253 | <td class="paramname"><em>allowExpandedDims</em></td><td>)</td> |
| 2254 | <td></td> |
| 2255 | </tr> |
| 2256 | </table> |
| 2257 | </td> |
| 2258 | <td class="mlabels-right"> |
| 2259 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 2260 | </tr> |
| 2261 | </table> |
| 2262 | </div><div class="memdoc"> |
| 2263 | |
| 2264 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00362">362</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 2265 | <div class="fragment"><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  {</div> |
| 2266 | <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  m_AllowExpandedDims = allowExpandedDims;</div> |
| 2267 | <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  }</div> |
| 2268 | </div><!-- fragment --> |
| 2269 | </div> |
| 2270 | </div> |
| 2271 | <a id="a316670cb6b65902e017c32ca4bcb4b98"></a> |
| 2272 | <h2 class="memtitle"><span class="permalink"><a href="#a316670cb6b65902e017c32ca4bcb4b98">◆ </a></span>SetBackendId()</h2> |
| 2273 | |
| 2274 | <div class="memitem"> |
| 2275 | <div class="memproto"> |
| 2276 | <table class="mlabels"> |
| 2277 | <tr> |
| 2278 | <td class="mlabels-left"> |
| 2279 | <table class="memname"> |
| 2280 | <tr> |
| 2281 | <td class="memname">void SetBackendId </td> |
| 2282 | <td>(</td> |
| 2283 | <td class="paramtype">const <a class="el" href="classarmnn_1_1_backend_id.html">BackendId</a> & </td> |
| 2284 | <td class="paramname"><em>id</em></td><td>)</td> |
| 2285 | <td></td> |
| 2286 | </tr> |
| 2287 | </table> |
| 2288 | </td> |
| 2289 | <td class="mlabels-right"> |
| 2290 | <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> |
| 2291 | </tr> |
| 2292 | </table> |
| 2293 | </div><div class="memdoc"> |
| 2294 | |
| 2295 | <p>Set the backend of the <a class="el" href="classarmnn_1_1_i_connectable_layer.html" title="Interface for a layer that is connectable to other layers via InputSlots and OutputSlots.">IConnectableLayer</a>. </p> |
| 2296 | <p>By using <a class="el" href="classarmnn_1_1_layer.html#a316670cb6b65902e017c32ca4bcb4b98" title="Set the backend of the IConnectableLayer.">SetBackendId()</a> we guarantee that the input backend supports that layer (IsLayerSupported returns true for a specific backend). If there is no guarantee the input backend supports that layer use <a class="el" href="classarmnn_1_1_layer.html#a43a46eafee5c08787ab17b4342730c20" title="Provide a hint for the optimizer as to which backend to prefer for this layer.">BackendSelectionHint()</a>. </p> |
| 2297 | |
| 2298 | <p>Implements <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a99cc75f524d831824c5f3730a88e9ca3">IConnectableLayer</a>.</p> |
| 2299 | |
| 2300 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00291">291</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 2301 | <div class="fragment"><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> { m_BackendId = id; }</div> |
| 2302 | </div><!-- fragment --> |
| 2303 | <p class="reference">Referenced by <a class="el" href="_graph_8cpp_source.html#l00330">Graph::AddCompatibilityLayers()</a>, <a class="el" href="_network_8cpp_source.html#l03063">NetworkImpl::AddPrecompiledLayer()</a>, <a class="el" href="_network_8cpp_source.html#l00844">armnn::AttemptBackendAssignment()</a>, and <a class="el" href="_network_utils_8cpp_source.html#l00112">armnn::InsertDebugLayerAfter()</a>.</p> |
| 2304 | |
| 2305 | </div> |
| 2306 | </div> |
| 2307 | <a id="a6d1024208b672a87ef2c1bfaf93d2b9f"></a> |
| 2308 | <h2 class="memtitle"><span class="permalink"><a href="#a6d1024208b672a87ef2c1bfaf93d2b9f">◆ </a></span>SetGuid()</h2> |
| 2309 | |
| 2310 | <div class="memitem"> |
| 2311 | <div class="memproto"> |
| 2312 | <table class="mlabels"> |
| 2313 | <tr> |
| 2314 | <td class="mlabels-left"> |
| 2315 | <table class="memname"> |
| 2316 | <tr> |
| 2317 | <td class="memname">void SetGuid </td> |
| 2318 | <td>(</td> |
| 2319 | <td class="paramtype"><a class="el" href="_types_8hpp.html#af22094b802160f09f7c89ad9eee10084">LayerGuid</a> </td> |
| 2320 | <td class="paramname"><em>guid</em></td><td>)</td> |
| 2321 | <td></td> |
| 2322 | </tr> |
| 2323 | </table> |
| 2324 | </td> |
| 2325 | <td class="mlabels-right"> |
| 2326 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 2327 | </tr> |
| 2328 | </table> |
| 2329 | </div><div class="memdoc"> |
| 2330 | |
| 2331 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00342">342</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 2332 | <div class="fragment"><div class="line"><a name="l00342"></a><span class="lineno"> 342</span> { m_Guid = guid; }</div> |
| 2333 | </div><!-- fragment --> |
| 2334 | </div> |
| 2335 | </div> |
| 2336 | <a id="a429abdfa769f4d48268938dcaea00904"></a> |
| 2337 | <h2 class="memtitle"><span class="permalink"><a href="#a429abdfa769f4d48268938dcaea00904">◆ </a></span>SetShapeInferenceMethod()</h2> |
| 2338 | |
| 2339 | <div class="memitem"> |
| 2340 | <div class="memproto"> |
| 2341 | <table class="mlabels"> |
| 2342 | <tr> |
| 2343 | <td class="mlabels-left"> |
| 2344 | <table class="memname"> |
| 2345 | <tr> |
| 2346 | <td class="memname">void SetShapeInferenceMethod </td> |
| 2347 | <td>(</td> |
| 2348 | <td class="paramtype"><a class="el" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9">ShapeInferenceMethod</a> </td> |
| 2349 | <td class="paramname"><em>shapeInferenceMethod</em></td><td>)</td> |
| 2350 | <td></td> |
| 2351 | </tr> |
| 2352 | </table> |
| 2353 | </td> |
| 2354 | <td class="mlabels-right"> |
| 2355 | <span class="mlabels"><span class="mlabel">inline</span></span> </td> |
| 2356 | </tr> |
| 2357 | </table> |
| 2358 | </div><div class="memdoc"> |
| 2359 | |
| 2360 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00357">357</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 2361 | <div class="fragment"><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  {</div> |
| 2362 | <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <a class="code" href="classarmnn_1_1_layer.html#afe508761cc8318b15329ba4acf7fbfec">m_ShapeInferenceMethod</a> = shapeInferenceMethod;</div> |
| 2363 | <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  }</div> |
| 2364 | </div><!-- fragment --> |
| 2365 | <p class="reference">References <a class="el" href="_layer_8hpp_source.html#l00441">Layer::m_ShapeInferenceMethod</a>.</p> |
| 2366 | |
| 2367 | </div> |
| 2368 | </div> |
| 2369 | <a id="aeb2d638cc0e02c10075e015100996f2d"></a> |
| 2370 | <h2 class="memtitle"><span class="permalink"><a href="#aeb2d638cc0e02c10075e015100996f2d">◆ </a></span>ValidateAndCopyShape()</h2> |
| 2371 | |
| 2372 | <div class="memitem"> |
| 2373 | <div class="memproto"> |
| 2374 | <table class="mlabels"> |
| 2375 | <tr> |
| 2376 | <td class="mlabels-left"> |
| 2377 | <table class="memname"> |
| 2378 | <tr> |
| 2379 | <td class="memname">void ValidateAndCopyShape </td> |
| 2380 | <td>(</td> |
| 2381 | <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> & </td> |
| 2382 | <td class="paramname"><em>outputShape</em>, </td> |
| 2383 | </tr> |
| 2384 | <tr> |
| 2385 | <td class="paramkey"></td> |
| 2386 | <td></td> |
| 2387 | <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> & </td> |
| 2388 | <td class="paramname"><em>inferredShape</em>, </td> |
| 2389 | </tr> |
| 2390 | <tr> |
| 2391 | <td class="paramkey"></td> |
| 2392 | <td></td> |
| 2393 | <td class="paramtype">const <a class="el" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9">ShapeInferenceMethod</a> </td> |
| 2394 | <td class="paramname"><em>shapeInferenceMethod</em>, </td> |
| 2395 | </tr> |
| 2396 | <tr> |
| 2397 | <td class="paramkey"></td> |
| 2398 | <td></td> |
| 2399 | <td class="paramtype">const std::string & </td> |
| 2400 | <td class="paramname"><em>layerName</em>, </td> |
| 2401 | </tr> |
| 2402 | <tr> |
| 2403 | <td class="paramkey"></td> |
| 2404 | <td></td> |
| 2405 | <td class="paramtype">const unsigned int </td> |
| 2406 | <td class="paramname"><em>outputSlotIndex</em> = <code>0</code> </td> |
| 2407 | </tr> |
| 2408 | <tr> |
| 2409 | <td></td> |
| 2410 | <td>)</td> |
| 2411 | <td></td><td></td> |
| 2412 | </tr> |
| 2413 | </table> |
| 2414 | </td> |
| 2415 | <td class="mlabels-right"> |
| 2416 | <span class="mlabels"><span class="mlabel">protected</span></span> </td> |
| 2417 | </tr> |
| 2418 | </table> |
| 2419 | </div><div class="memdoc"> |
| 2420 | |
| 2421 | <p class="definition">Definition at line <a class="el" href="_layer_8cpp_source.html#l00457">457</a> of file <a class="el" href="_layer_8cpp_source.html">Layer.cpp</a>.</p> |
| 2422 | <div class="fragment"><div class="line"><a name="l00462"></a><span class="lineno"> 462</span> {</div> |
| 2423 | <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="keywordflow">if</span> (shapeInferenceMethod == <a class="code" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9af6486a22a9bb11959bfae60a3e5174b1">ShapeInferenceMethod::ValidateOnly</a>)</div> |
| 2424 | <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  {</div> |
| 2425 | <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keywordflow">if</span> (m_AllowExpandedDims)</div> |
| 2426 | <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  {</div> |
| 2427 | <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  std::vector<unsigned int> outputDims = <a class="code" href="namespacearmnn_utils.html#ac7f0575b4a8c9ba80c5b0695ada4dd92">armnnUtils::SqueezeDims</a>(outputShape);</div> |
| 2428 | <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  std::vector<unsigned int> inferredDims = <a class="code" href="namespacearmnn_utils.html#ac7f0575b4a8c9ba80c5b0695ada4dd92">armnnUtils::SqueezeDims</a>(inferredShape);</div> |
| 2429 | <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  </div> |
| 2430 | <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keywordflow">if</span> (outputDims.size() != inferredDims.size())</div> |
| 2431 | <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  {</div> |
| 2432 | <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  std::stringstream ss;</div> |
| 2433 | <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  ss << layerName << <span class="stringliteral">": TensorShape set on OutputSlot["</span> << outputSlotIndex <<</div> |
| 2434 | <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <span class="stringliteral">"] does not match the inferred shape. "</span>;</div> |
| 2435 | <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  ss << outputShape << <span class="stringliteral">" != "</span> << inferredShape;</div> |
| 2436 | <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="keywordflow">throw</span> LayerValidationException(ss.str());</div> |
| 2437 | <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  }</div> |
| 2438 | <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < outputDims.size(); ++i)</div> |
| 2439 | <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  {</div> |
| 2440 | <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">if</span> (outputDims[i] != inferredDims[i])</div> |
| 2441 | <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  {</div> |
| 2442 | <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  std::stringstream ss;</div> |
| 2443 | <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  ss << layerName << <span class="stringliteral">": TensorShape set on OutputSlot["</span> << outputSlotIndex <<</div> |
| 2444 | <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <span class="stringliteral">"] does not match the inferred shape at dimension index ["</span>;</div> |
| 2445 | <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  ss << i << <span class="stringliteral">"] "</span> << outputShape << <span class="stringliteral">" != "</span> << inferredShape;</div> |
| 2446 | <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="keywordflow">throw</span> LayerValidationException(ss.str());</div> |
| 2447 | <div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  }</div> |
| 2448 | <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  }</div> |
| 2449 | <div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="keywordflow">return</span>;</div> |
| 2450 | <div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  }</div> |
| 2451 | <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordflow">else</span></div> |
| 2452 | <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  {</div> |
| 2453 | <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  ConditionalThrowIfNotEqual<LayerValidationException>(</div> |
| 2454 | <div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  layerName + <span class="stringliteral">": TensorShape set on OutputSlot[0] does not match the inferred shape."</span>,</div> |
| 2455 | <div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  outputShape,</div> |
| 2456 | <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  inferredShape);</div> |
| 2457 | <div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">return</span>;</div> |
| 2458 | <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  }</div> |
| 2459 | <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  }</div> |
| 2460 | <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  </div> |
| 2461 | <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keywordflow">if</span> (outputShape.GetDimensionality() == <a class="code" href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681ab4b379bf7ded74c07595ccb85bc6fdc3">Dimensionality::Specified</a>)</div> |
| 2462 | <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  {</div> |
| 2463 | <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < outputShape.GetNumDimensions(); ++i)</div> |
| 2464 | <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  {</div> |
| 2465 | <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keywordflow">if</span> (outputShape.GetDimensionSpecificity(i) && outputShape[i] != inferredShape[i])</div> |
| 2466 | <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  {</div> |
| 2467 | <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  std::stringstream ss;</div> |
| 2468 | <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  ss << layerName << <span class="stringliteral">": TensorShape set on OutputSlot["</span> << outputSlotIndex <<</div> |
| 2469 | <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="stringliteral">"] does not match the inferred shape at dimension index ["</span>;</div> |
| 2470 | <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  ss << i << <span class="stringliteral">"] "</span> << outputShape << <span class="stringliteral">" != "</span> << inferredShape;</div> |
| 2471 | <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="keywordflow">throw</span> LayerValidationException(ss.str());</div> |
| 2472 | <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  }</div> |
| 2473 | <div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  }</div> |
| 2474 | <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  }</div> |
| 2475 | <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  </div> |
| 2476 | <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  TensorInfo <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a> = <a class="code" href="classarmnn_1_1_layer.html#a0e36688a43c35668d8db5257274c68fe">GetOutputSlot</a>(outputSlotIndex).<a class="code" href="classarmnn_1_1_output_slot.html#ada2ad7d1caeeb4ef6195c8925fad6a65">GetTensorInfo</a>();</div> |
| 2477 | <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  </div> |
| 2478 | <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> inferredTensorInfo(inferredShape,</div> |
| 2479 | <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.GetDataType(),</div> |
| 2480 | <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.GetQuantizationScale(),</div> |
| 2481 | <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.GetQuantizationOffset());</div> |
| 2482 | <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  </div> |
| 2483 | <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <a class="code" href="classarmnn_1_1_layer.html#a0e36688a43c35668d8db5257274c68fe">GetOutputSlot</a>(outputSlotIndex).<a class="code" href="classarmnn_1_1_output_slot.html#a7e5c5771d741dd5473989047a9314728">SetTensorInfo</a>(inferredTensorInfo);</div> |
| 2484 | <div class="line"><a name="l00524"></a><span class="lineno"> 524</span> }</div> |
| 2485 | </div><!-- fragment --> |
| 2486 | <p class="reference">References <a class="el" href="_tensor_8hpp_source.html#l00092">TensorShape::GetDimensionality()</a>, <a class="el" href="_tensor_8cpp_source.html#l00211">TensorShape::GetDimensionSpecificity()</a>, <a class="el" href="_tensor_8cpp_source.html#l00174">TensorShape::GetNumDimensions()</a>, <a class="el" href="_layer_8hpp_source.html#l00339">Layer::GetOutputSlot()</a>, <a class="el" href="_layer_8cpp_source.html#l00100">OutputSlot::GetTensorInfo()</a>, <a class="el" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">armnn::info</a>, <a class="el" href="_layer_8cpp_source.html#l00095">OutputSlot::SetTensorInfo()</a>, <a class="el" href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681ab4b379bf7ded74c07595ccb85bc6fdc3">armnn::Specified</a>, <a class="el" href="_tensor_utils_8cpp_source.html#l00195">armnnUtils::SqueezeDims()</a>, and <a class="el" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9af6486a22a9bb11959bfae60a3e5174b1">armnn::ValidateOnly</a>.</p> |
| 2487 | |
| 2488 | <p class="reference">Referenced by <a class="el" href="_elementwise_base_layer_8cpp_source.html#l00068">ElementwiseBaseLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_quantize_layer_8cpp_source.html#l00033">QuantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_activation_layer_8cpp_source.html#l00033">ActivationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_channel_shuffle_layer_8cpp_source.html#l00035">ChannelShuffleLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_rank_layer_8cpp_source.html#l00039">RankLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convert_fp32_to_fp16_layer_8cpp_source.html#l00034">ConvertFp32ToFp16Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_abs_layer_8cpp_source.html#l00036">AbsLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_debug_layer_8cpp_source.html#l00045">DebugLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_transpose_layer_8cpp_source.html#l00050">TransposeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mem_copy_layer_8cpp_source.html#l00037">MemCopyLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_cast_layer_8cpp_source.html#l00034">CastLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mem_import_layer_8cpp_source.html#l00037">MemImportLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_slice_layer_8cpp_source.html#l00037">SliceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_merge_layer_8cpp_source.html#l00030">MergeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_dequantize_layer_8cpp_source.html#l00033">DequantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_normalization_layer_8cpp_source.html#l00034">NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_permute_layer_8cpp_source.html#l00050">PermuteLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pooling2d_layer_8cpp_source.html#l00115">Pooling2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pooling3d_layer_8cpp_source.html#l00119">Pooling3dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_to_space_nd_layer_8cpp_source.html#l00038">BatchToSpaceNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fake_quantization_layer_8cpp_source.html#l00034">FakeQuantizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_floor_layer_8cpp_source.html#l00034">FloorLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_resize_layer_8cpp_source.html#l00067">ResizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convert_fp16_to_fp32_layer_8cpp_source.html#l00035">ConvertFp16ToFp32Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_rsqrt_layer_8cpp_source.html#l00036">RsqrtLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_shape_layer_8cpp_source.html#l00037">ShapeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_instance_normalization_layer_8cpp_source.html#l00034">InstanceNormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_softmax_layer_8cpp_source.html#l00034">SoftmaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_l2_normalization_layer_8cpp_source.html#l00034">L2NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_stack_layer_8cpp_source.html#l00067">StackLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_switch_layer_8cpp_source.html#l00032">SwitchLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_log_softmax_layer_8cpp_source.html#l00034">LogSoftmaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mean_layer_8cpp_source.html#l00044">MeanLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pad_layer_8cpp_source.html#l00077">PadLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reshape_layer_8cpp_source.html#l00041">ReshapeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convolution3d_layer_8cpp_source.html#l00126">Convolution3dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_depthwise_convolution2d_layer_8cpp_source.html#l00121">DepthwiseConvolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fully_connected_layer_8cpp_source.html#l00053">FullyConnectedLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_broadcast_to_layer_8cpp_source.html#l00038">BroadcastToLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convolution2d_layer_8cpp_source.html#l00117">Convolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_scatter_nd_layer_8cpp_source.html#l00052">ScatterNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_gather_nd_layer_8cpp_source.html#l00089">GatherNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_tile_layer_8cpp_source.html#l00062">TileLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00097">BatchMatMulLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_elementwise_binary_layer_8cpp_source.html#l00076">ElementwiseBinaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_arg_min_max_layer_8cpp_source.html#l00084">ArgMinMaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_strided_slice_layer_8cpp_source.html#l00103">StridedSliceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_detection_post_process_layer_8cpp_source.html#l00039">DetectionPostProcessLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reverse_v2_layer_8cpp_source.html#l00054">ReverseV2Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reduce_layer_8cpp_source.html#l00044">ReduceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_elementwise_unary_layer_8cpp_source.html#l00048">ElementwiseUnaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_gather_layer_8cpp_source.html#l00079">GatherLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_space_to_batch_nd_layer_8cpp_source.html#l00063">SpaceToBatchNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_depth_to_space_layer_8cpp_source.html#l00066">DepthToSpaceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_transpose_convolution2d_layer_8cpp_source.html#l00104">TransposeConvolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_space_to_depth_layer_8cpp_source.html#l00068">SpaceToDepthLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_logical_binary_layer_8cpp_source.html#l00072">LogicalBinaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_prelu_layer_8cpp_source.html#l00114">PreluLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_comparison_layer_8cpp_source.html#l00080">ComparisonLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_splitter_layer_8cpp_source.html#l00205">SplitterLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00172">LstmLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_unidirectional_sequence_lstm_layer_8cpp_source.html#l00172">UnidirectionalSequenceLstmLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_concat_layer_8cpp_source.html#l00309">ConcatLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_normalization_layer_8cpp_source.html#l00067">BatchNormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_quantized_lstm_layer_8cpp_source.html#l00100">QuantizedLstmLayer::ValidateTensorShapesFromInputs()</a>, and <a class="el" href="_q_lstm_layer_8cpp_source.html#l00174">QLstmLayer::ValidateTensorShapesFromInputs()</a>.</p> |
| 2489 | |
| 2490 | </div> |
| 2491 | </div> |
| 2492 | <a id="a84ff600212ba26e665de9b978ec896a4"></a> |
| 2493 | <h2 class="memtitle"><span class="permalink"><a href="#a84ff600212ba26e665de9b978ec896a4">◆ </a></span>ValidateTensorShapesFromInputs()</h2> |
| 2494 | |
| 2495 | <div class="memitem"> |
| 2496 | <div class="memproto"> |
| 2497 | <table class="mlabels"> |
| 2498 | <tr> |
| 2499 | <td class="mlabels-left"> |
| 2500 | <table class="memname"> |
| 2501 | <tr> |
| 2502 | <td class="memname">virtual void ValidateTensorShapesFromInputs </td> |
| 2503 | <td>(</td> |
| 2504 | <td class="paramname"></td><td>)</td> |
| 2505 | <td></td> |
| 2506 | </tr> |
| 2507 | </table> |
| 2508 | </td> |
| 2509 | <td class="mlabels-right"> |
| 2510 | <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> |
| 2511 | </tr> |
| 2512 | </table> |
| 2513 | </div><div class="memdoc"> |
| 2514 | |
| 2515 | <p>Implemented in <a class="el" href="classarmnn_1_1_q_lstm_layer.html#a8c8f543d7e9729362c266d12ec169966">QLstmLayer</a>, <a class="el" href="classarmnn_1_1_quantized_lstm_layer.html#a8c8f543d7e9729362c266d12ec169966">QuantizedLstmLayer</a>, <a class="el" href="classarmnn_1_1_output_layer.html#a8c8f543d7e9729362c266d12ec169966">OutputLayer</a>, <a class="el" href="classarmnn_1_1_batch_normalization_layer.html#a8c8f543d7e9729362c266d12ec169966">BatchNormalizationLayer</a>, <a class="el" href="classarmnn_1_1_concat_layer.html#a8c8f543d7e9729362c266d12ec169966">ConcatLayer</a>, <a class="el" href="classarmnn_1_1_lstm_layer.html#a8c8f543d7e9729362c266d12ec169966">LstmLayer</a>, <a class="el" href="classarmnn_1_1_unidirectional_sequence_lstm_layer.html#a8c8f543d7e9729362c266d12ec169966">UnidirectionalSequenceLstmLayer</a>, <a class="el" href="classarmnn_1_1_splitter_layer.html#a8c8f543d7e9729362c266d12ec169966">SplitterLayer</a>, <a class="el" href="classarmnn_1_1_comparison_layer.html#a8c8f543d7e9729362c266d12ec169966">ComparisonLayer</a>, <a class="el" href="classarmnn_1_1_depth_to_space_layer.html#a8c8f543d7e9729362c266d12ec169966">DepthToSpaceLayer</a>, <a class="el" href="classarmnn_1_1_logical_binary_layer.html#a8c8f543d7e9729362c266d12ec169966">LogicalBinaryLayer</a>, <a class="el" href="classarmnn_1_1_prelu_layer.html#a8c8f543d7e9729362c266d12ec169966">PreluLayer</a>, <a class="el" href="classarmnn_1_1_space_to_batch_nd_layer.html#a8c8f543d7e9729362c266d12ec169966">SpaceToBatchNdLayer</a>, <a class="el" href="classarmnn_1_1_space_to_depth_layer.html#a8c8f543d7e9729362c266d12ec169966">SpaceToDepthLayer</a>, <a class="el" href="classarmnn_1_1_transpose_convolution2d_layer.html#a8c8f543d7e9729362c266d12ec169966">TransposeConvolution2dLayer</a>, <a class="el" href="classarmnn_1_1_arg_min_max_layer.html#a8c8f543d7e9729362c266d12ec169966">ArgMinMaxLayer</a>, <a class="el" href="classarmnn_1_1_detection_post_process_layer.html#a8c8f543d7e9729362c266d12ec169966">DetectionPostProcessLayer</a>, <a class="el" href="classarmnn_1_1_elementwise_unary_layer.html#a8c8f543d7e9729362c266d12ec169966">ElementwiseUnaryLayer</a>, <a class="el" href="classarmnn_1_1_gather_layer.html#a8c8f543d7e9729362c266d12ec169966">GatherLayer</a>, <a class="el" href="classarmnn_1_1_reduce_layer.html#a8c8f543d7e9729362c266d12ec169966">ReduceLayer</a>, <a class="el" href="classarmnn_1_1_reverse_v2_layer.html#a8c8f543d7e9729362c266d12ec169966">ReverseV2Layer</a>, <a class="el" href="classarmnn_1_1_strided_slice_layer.html#a8c8f543d7e9729362c266d12ec169966">StridedSliceLayer</a>, <a class="el" href="classarmnn_1_1_batch_mat_mul_layer.html#a8c8f543d7e9729362c266d12ec169966">BatchMatMulLayer</a>, <a class="el" href="classarmnn_1_1_elementwise_binary_layer.html#a8c8f543d7e9729362c266d12ec169966">ElementwiseBinaryLayer</a>, <a class="el" href="classarmnn_1_1_tile_layer.html#a8c8f543d7e9729362c266d12ec169966">TileLayer</a>, <a class="el" href="classarmnn_1_1_gather_nd_layer.html#a8c8f543d7e9729362c266d12ec169966">GatherNdLayer</a>, <a class="el" href="classarmnn_1_1_scatter_nd_layer.html#a8c8f543d7e9729362c266d12ec169966">ScatterNdLayer</a>, <a class="el" href="classarmnn_1_1_broadcast_to_layer.html#a8c8f543d7e9729362c266d12ec169966">BroadcastToLayer</a>, <a class="el" href="classarmnn_1_1_convolution2d_layer.html#a8c8f543d7e9729362c266d12ec169966">Convolution2dLayer</a>, <a class="el" href="classarmnn_1_1_convolution3d_layer.html#a8c8f543d7e9729362c266d12ec169966">Convolution3dLayer</a>, <a class="el" href="classarmnn_1_1_depthwise_convolution2d_layer.html#a8c8f543d7e9729362c266d12ec169966">DepthwiseConvolution2dLayer</a>, <a class="el" href="classarmnn_1_1_fully_connected_layer.html#a8c8f543d7e9729362c266d12ec169966">FullyConnectedLayer</a>, <a class="el" href="classarmnn_1_1_pre_compiled_layer.html#a8c8f543d7e9729362c266d12ec169966">PreCompiledLayer</a>, <a class="el" href="classarmnn_1_1_constant_layer.html#a8c8f543d7e9729362c266d12ec169966">ConstantLayer</a>, <a class="el" href="classarmnn_1_1_reshape_layer.html#a8c8f543d7e9729362c266d12ec169966">ReshapeLayer</a>, <a class="el" href="classarmnn_1_1_log_softmax_layer.html#a8c8f543d7e9729362c266d12ec169966">LogSoftmaxLayer</a>, <a class="el" href="classarmnn_1_1_mean_layer.html#a8c8f543d7e9729362c266d12ec169966">MeanLayer</a>, <a class="el" href="classarmnn_1_1_pad_layer.html#a8c8f543d7e9729362c266d12ec169966">PadLayer</a>, <a class="el" href="classarmnn_1_1_stand_in_layer.html#a8c8f543d7e9729362c266d12ec169966">StandInLayer</a>, <a class="el" href="classarmnn_1_1_abs_layer.html#a8c8f543d7e9729362c266d12ec169966">AbsLayer</a>, <a class="el" href="classarmnn_1_1_batch_to_space_nd_layer.html#a8c8f543d7e9729362c266d12ec169966">BatchToSpaceNdLayer</a>, <a class="el" href="classarmnn_1_1_cast_layer.html#a8c8f543d7e9729362c266d12ec169966">CastLayer</a>, <a class="el" href="classarmnn_1_1_convert_fp16_to_fp32_layer.html#a8c8f543d7e9729362c266d12ec169966">ConvertFp16ToFp32Layer</a>, <a class="el" href="classarmnn_1_1_debug_layer.html#a8c8f543d7e9729362c266d12ec169966">DebugLayer</a>, <a class="el" href="classarmnn_1_1_dequantize_layer.html#a8c8f543d7e9729362c266d12ec169966">DequantizeLayer</a>, <a class="el" href="classarmnn_1_1_fake_quantization_layer.html#a8c8f543d7e9729362c266d12ec169966">FakeQuantizationLayer</a>, <a class="el" href="classarmnn_1_1_floor_layer.html#a8c8f543d7e9729362c266d12ec169966">FloorLayer</a>, <a class="el" href="classarmnn_1_1_fused_layer.html#a8c8f543d7e9729362c266d12ec169966">FusedLayer</a>, <a class="el" href="classarmnn_1_1_input_layer.html#a8c8f543d7e9729362c266d12ec169966">InputLayer</a>, <a class="el" href="classarmnn_1_1_instance_normalization_layer.html#a8c8f543d7e9729362c266d12ec169966">InstanceNormalizationLayer</a>, <a class="el" href="classarmnn_1_1_l2_normalization_layer.html#a8c8f543d7e9729362c266d12ec169966">L2NormalizationLayer</a>, <a class="el" href="classarmnn_1_1_map_layer.html#a8c8f543d7e9729362c266d12ec169966">MapLayer</a>, <a class="el" href="classarmnn_1_1_mem_copy_layer.html#a8c8f543d7e9729362c266d12ec169966">MemCopyLayer</a>, <a class="el" href="classarmnn_1_1_mem_import_layer.html#a8c8f543d7e9729362c266d12ec169966">MemImportLayer</a>, <a class="el" href="classarmnn_1_1_merge_layer.html#a8c8f543d7e9729362c266d12ec169966">MergeLayer</a>, <a class="el" href="classarmnn_1_1_normalization_layer.html#a8c8f543d7e9729362c266d12ec169966">NormalizationLayer</a>, <a class="el" href="classarmnn_1_1_permute_layer.html#a8c8f543d7e9729362c266d12ec169966">PermuteLayer</a>, <a class="el" href="classarmnn_1_1_pooling2d_layer.html#a8c8f543d7e9729362c266d12ec169966">Pooling2dLayer</a>, <a class="el" href="classarmnn_1_1_pooling3d_layer.html#a8c8f543d7e9729362c266d12ec169966">Pooling3dLayer</a>, <a class="el" href="classarmnn_1_1_resize_layer.html#a8c8f543d7e9729362c266d12ec169966">ResizeLayer</a>, <a class="el" href="classarmnn_1_1_rsqrt_layer.html#a8c8f543d7e9729362c266d12ec169966">RsqrtLayer</a>, <a class="el" href="classarmnn_1_1_shape_layer.html#a8c8f543d7e9729362c266d12ec169966">ShapeLayer</a>, <a class="el" href="classarmnn_1_1_slice_layer.html#a8c8f543d7e9729362c266d12ec169966">SliceLayer</a>, <a class="el" href="classarmnn_1_1_softmax_layer.html#a8c8f543d7e9729362c266d12ec169966">SoftmaxLayer</a>, <a class="el" href="classarmnn_1_1_stack_layer.html#a8c8f543d7e9729362c266d12ec169966">StackLayer</a>, <a class="el" href="classarmnn_1_1_switch_layer.html#a8c8f543d7e9729362c266d12ec169966">SwitchLayer</a>, <a class="el" href="classarmnn_1_1_transpose_layer.html#a8c8f543d7e9729362c266d12ec169966">TransposeLayer</a>, <a class="el" href="classarmnn_1_1_unmap_layer.html#a8c8f543d7e9729362c266d12ec169966">UnmapLayer</a>, <a class="el" href="classarmnn_1_1_convert_fp32_to_fp16_layer.html#a8c8f543d7e9729362c266d12ec169966">ConvertFp32ToFp16Layer</a>, <a class="el" href="classarmnn_1_1_fill_layer.html#a8c8f543d7e9729362c266d12ec169966">FillLayer</a>, <a class="el" href="classarmnn_1_1_rank_layer.html#a8c8f543d7e9729362c266d12ec169966">RankLayer</a>, <a class="el" href="classarmnn_1_1_activation_layer.html#a8c8f543d7e9729362c266d12ec169966">ActivationLayer</a>, <a class="el" href="classarmnn_1_1_channel_shuffle_layer.html#a8c8f543d7e9729362c266d12ec169966">ChannelShuffleLayer</a>, <a class="el" href="classarmnn_1_1_quantize_layer.html#a8c8f543d7e9729362c266d12ec169966">QuantizeLayer</a>, and <a class="el" href="classarmnn_1_1_elementwise_base_layer.html#a8c8f543d7e9729362c266d12ec169966">ElementwiseBaseLayer</a>.</p> |
| 2516 | |
| 2517 | <p class="reference">Referenced by <a class="el" href="_layer_8cpp_source.html#l00105">OutputSlot::IsTensorInfoSet()</a>.</p> |
| 2518 | |
| 2519 | </div> |
| 2520 | </div> |
| 2521 | <a id="a0607e36e88f38c34c71c663164b76776"></a> |
| 2522 | <h2 class="memtitle"><span class="permalink"><a href="#a0607e36e88f38c34c71c663164b76776">◆ </a></span>VerifyLayerConnections()</h2> |
| 2523 | |
| 2524 | <div class="memitem"> |
| 2525 | <div class="memproto"> |
| 2526 | <table class="memname"> |
| 2527 | <tr> |
| 2528 | <td class="memname">void VerifyLayerConnections </td> |
| 2529 | <td>(</td> |
| 2530 | <td class="paramtype">unsigned int </td> |
| 2531 | <td class="paramname"><em>expectedConnections</em>, </td> |
| 2532 | </tr> |
| 2533 | <tr> |
| 2534 | <td class="paramkey"></td> |
| 2535 | <td></td> |
| 2536 | <td class="paramtype">const <a class="el" href="structarmnn_1_1_check_location.html">CheckLocation</a> & </td> |
| 2537 | <td class="paramname"><em>location</em> </td> |
| 2538 | </tr> |
| 2539 | <tr> |
| 2540 | <td></td> |
| 2541 | <td>)</td> |
| 2542 | <td></td><td> const</td> |
| 2543 | </tr> |
| 2544 | </table> |
| 2545 | </div><div class="memdoc"> |
| 2546 | |
| 2547 | <p class="definition">Definition at line <a class="el" href="_layer_8cpp_source.html#l00410">410</a> of file <a class="el" href="_layer_8cpp_source.html">Layer.cpp</a>.</p> |
| 2548 | <div class="fragment"><div class="line"><a name="l00411"></a><span class="lineno"> 411</span> {</div> |
| 2549 | <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keywordflow">if</span> (<a class="code" href="classarmnn_1_1_layer.html#abc0660dc440c8a285b456c9ef6383c26">GetNumInputSlots</a>() != expectedConnections)</div> |
| 2550 | <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  {</div> |
| 2551 | <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_exception.html">armnn::Exception</a>(<span class="stringliteral">"input slots must match expected connections."</span>);</div> |
| 2552 | <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  }</div> |
| 2553 | <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  </div> |
| 2554 | <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i<expectedConnections; ++i)</div> |
| 2555 | <div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  {</div> |
| 2556 | <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="keywordflow">if</span> (<a class="code" href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">GetInputSlot</a>(i).GetConnection() == <span class="keyword">nullptr</span>)</div> |
| 2557 | <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  {</div> |
| 2558 | <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">throw</span> LayerValidationException(</div> |
| 2559 | <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  fmt::format(<span class="stringliteral">"Input connection #{0} must be connected "</span></div> |
| 2560 | <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <span class="stringliteral">"for {1} layer {2} {3}"</span>,</div> |
| 2561 | <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  i,</div> |
| 2562 | <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <a class="code" href="namespacearmnn.html#addb6b14dd1b632263ffe77430259a7c4">GetLayerTypeAsCString</a>(this-><a class="code" href="classarmnn_1_1_layer.html#ad8e15c530c929ab823d89ae9fd2d3f11">GetType</a>()),</div> |
| 2563 | <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <a class="code" href="classarmnn_1_1_layer.html#a9a97cb6d32661a57fc33bd29b8e41ff4">GetNameStr</a>(),</div> |
| 2564 | <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  location.AsString()));</div> |
| 2565 | <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  }</div> |
| 2566 | <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  }</div> |
| 2567 | <div class="line"><a name="l00430"></a><span class="lineno"> 430</span> }</div> |
| 2568 | </div><!-- fragment --> |
| 2569 | <p class="reference">References <a class="el" href="_exceptions_8hpp_source.html#l00029">CheckLocation::AsString()</a>, <a class="el" href="_layer_8hpp_source.html#l00337">Layer::GetInputSlot()</a>, <a class="el" href="_internal_types_8cpp_source.html#l00013">armnn::GetLayerTypeAsCString()</a>, <a class="el" href="_layer_8hpp_source.html#l00240">Layer::GetNameStr()</a>, <a class="el" href="_layer_8hpp_source.html#l00334">Layer::GetNumInputSlots()</a>, and <a class="el" href="_layer_8hpp_source.html#l00286">Layer::GetType()</a>.</p> |
| 2570 | |
| 2571 | <p class="reference">Referenced by <a class="el" href="_elementwise_base_layer_8cpp_source.html#l00068">ElementwiseBaseLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_quantize_layer_8cpp_source.html#l00033">QuantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_activation_layer_8cpp_source.html#l00033">ActivationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_channel_shuffle_layer_8cpp_source.html#l00035">ChannelShuffleLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convert_fp32_to_fp16_layer_8cpp_source.html#l00034">ConvertFp32ToFp16Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fill_layer_8cpp_source.html#l00034">FillLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_rank_layer_8cpp_source.html#l00039">RankLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_abs_layer_8cpp_source.html#l00036">AbsLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_debug_layer_8cpp_source.html#l00045">DebugLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_transpose_layer_8cpp_source.html#l00050">TransposeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_unmap_layer_8cpp_source.html#l00037">UnmapLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_map_layer_8cpp_source.html#l00037">MapLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_cast_layer_8cpp_source.html#l00034">CastLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mem_copy_layer_8cpp_source.html#l00037">MemCopyLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mem_import_layer_8cpp_source.html#l00037">MemImportLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_rsqrt_layer_8cpp_source.html#l00036">RsqrtLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_dequantize_layer_8cpp_source.html#l00033">DequantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_merge_layer_8cpp_source.html#l00030">MergeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_normalization_layer_8cpp_source.html#l00034">NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_permute_layer_8cpp_source.html#l00050">PermuteLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pooling2d_layer_8cpp_source.html#l00115">Pooling2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pooling3d_layer_8cpp_source.html#l00119">Pooling3dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_to_space_nd_layer_8cpp_source.html#l00038">BatchToSpaceNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fake_quantization_layer_8cpp_source.html#l00034">FakeQuantizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_resize_layer_8cpp_source.html#l00067">ResizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convert_fp16_to_fp32_layer_8cpp_source.html#l00035">ConvertFp16ToFp32Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_floor_layer_8cpp_source.html#l00034">FloorLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_shape_layer_8cpp_source.html#l00037">ShapeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_instance_normalization_layer_8cpp_source.html#l00034">InstanceNormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_slice_layer_8cpp_source.html#l00037">SliceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_softmax_layer_8cpp_source.html#l00034">SoftmaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_l2_normalization_layer_8cpp_source.html#l00034">L2NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_stack_layer_8cpp_source.html#l00067">StackLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_switch_layer_8cpp_source.html#l00032">SwitchLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_log_softmax_layer_8cpp_source.html#l00034">LogSoftmaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mean_layer_8cpp_source.html#l00044">MeanLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pad_layer_8cpp_source.html#l00077">PadLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reshape_layer_8cpp_source.html#l00041">ReshapeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convolution3d_layer_8cpp_source.html#l00126">Convolution3dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_broadcast_to_layer_8cpp_source.html#l00038">BroadcastToLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_depthwise_convolution2d_layer_8cpp_source.html#l00121">DepthwiseConvolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convolution2d_layer_8cpp_source.html#l00117">Convolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_gather_nd_layer_8cpp_source.html#l00089">GatherNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_scatter_nd_layer_8cpp_source.html#l00052">ScatterNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00097">BatchMatMulLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_tile_layer_8cpp_source.html#l00062">TileLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_elementwise_binary_layer_8cpp_source.html#l00076">ElementwiseBinaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_strided_slice_layer_8cpp_source.html#l00103">StridedSliceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reduce_layer_8cpp_source.html#l00044">ReduceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_detection_post_process_layer_8cpp_source.html#l00039">DetectionPostProcessLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_elementwise_unary_layer_8cpp_source.html#l00048">ElementwiseUnaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_arg_min_max_layer_8cpp_source.html#l00084">ArgMinMaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reverse_v2_layer_8cpp_source.html#l00054">ReverseV2Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_gather_layer_8cpp_source.html#l00079">GatherLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_prelu_layer_8cpp_source.html#l00114">PreluLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_transpose_convolution2d_layer_8cpp_source.html#l00104">TransposeConvolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_depth_to_space_layer_8cpp_source.html#l00066">DepthToSpaceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_space_to_depth_layer_8cpp_source.html#l00068">SpaceToDepthLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_space_to_batch_nd_layer_8cpp_source.html#l00063">SpaceToBatchNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_logical_binary_layer_8cpp_source.html#l00072">LogicalBinaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_comparison_layer_8cpp_source.html#l00080">ComparisonLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_concat_layer_8cpp_source.html#l00309">ConcatLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_unidirectional_sequence_lstm_layer_8cpp_source.html#l00172">UnidirectionalSequenceLstmLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00172">LstmLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_normalization_layer_8cpp_source.html#l00067">BatchNormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_quantized_lstm_layer_8cpp_source.html#l00100">QuantizedLstmLayer::ValidateTensorShapesFromInputs()</a>, and <a class="el" href="_q_lstm_layer_8cpp_source.html#l00174">QLstmLayer::ValidateTensorShapesFromInputs()</a>.</p> |
| 2572 | |
| 2573 | </div> |
| 2574 | </div> |
| 2575 | <a id="a448afc716fda85394df1e8e5b7d530e8"></a> |
| 2576 | <h2 class="memtitle"><span class="permalink"><a href="#a448afc716fda85394df1e8e5b7d530e8">◆ </a></span>VerifyShapeInferenceType()</h2> |
| 2577 | |
| 2578 | <div class="memitem"> |
| 2579 | <div class="memproto"> |
| 2580 | <table class="mlabels"> |
| 2581 | <tr> |
| 2582 | <td class="mlabels-left"> |
| 2583 | <table class="memname"> |
| 2584 | <tr> |
| 2585 | <td class="memname">void VerifyShapeInferenceType </td> |
| 2586 | <td>(</td> |
| 2587 | <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> & </td> |
| 2588 | <td class="paramname"><em>outputShape</em>, </td> |
| 2589 | </tr> |
| 2590 | <tr> |
| 2591 | <td class="paramkey"></td> |
| 2592 | <td></td> |
| 2593 | <td class="paramtype"><a class="el" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9">ShapeInferenceMethod</a> </td> |
| 2594 | <td class="paramname"><em>shapeInferenceMethod</em> </td> |
| 2595 | </tr> |
| 2596 | <tr> |
| 2597 | <td></td> |
| 2598 | <td>)</td> |
| 2599 | <td></td><td></td> |
| 2600 | </tr> |
| 2601 | </table> |
| 2602 | </td> |
| 2603 | <td class="mlabels-right"> |
| 2604 | <span class="mlabels"><span class="mlabel">protected</span></span> </td> |
| 2605 | </tr> |
| 2606 | </table> |
| 2607 | </div><div class="memdoc"> |
| 2608 | |
| 2609 | <p class="definition">Definition at line <a class="el" href="_layer_8cpp_source.html#l00526">526</a> of file <a class="el" href="_layer_8cpp_source.html">Layer.cpp</a>.</p> |
| 2610 | <div class="fragment"><div class="line"><a name="l00527"></a><span class="lineno"> 527</span> {</div> |
| 2611 | <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="keywordflow">if</span> (shapeInferenceMethod == <a class="code" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9af6486a22a9bb11959bfae60a3e5174b1">ShapeInferenceMethod::ValidateOnly</a>)</div> |
| 2612 | <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  {</div> |
| 2613 | <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  ConditionalThrow<LayerValidationException>(</div> |
| 2614 | <div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  outputShape.GetDimensionality() != <a class="code" href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681a4b7d504abac49ba24b4df86c129d3cbc">Dimensionality::NotSpecified</a>,</div> |
| 2615 | <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="stringliteral">"Dimensionality can not be NotSpecified while using ShapeInferenceMethod::ValidateOnly"</span>);</div> |
| 2616 | <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  </div> |
| 2617 | <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  ConditionalThrow<LayerValidationException>(</div> |
| 2618 | <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  outputShape.AreAllDimensionsSpecified(),</div> |
| 2619 | <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <span class="stringliteral">"Unspecified dimension while using ShapeInferenceMethod::ValidateOnly"</span>);</div> |
| 2620 | <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  }</div> |
| 2621 | <div class="line"><a name="l00538"></a><span class="lineno"> 538</span> }</div> |
| 2622 | </div><!-- fragment --> |
| 2623 | <p class="reference">References <a class="el" href="_tensor_8cpp_source.html#l00241">TensorShape::AreAllDimensionsSpecified()</a>, <a class="el" href="_tensor_8hpp_source.html#l00092">TensorShape::GetDimensionality()</a>, <a class="el" href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681a4b7d504abac49ba24b4df86c129d3cbc">armnn::NotSpecified</a>, and <a class="el" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9af6486a22a9bb11959bfae60a3e5174b1">armnn::ValidateOnly</a>.</p> |
| 2624 | |
| 2625 | <p class="reference">Referenced by <a class="el" href="_elementwise_base_layer_8cpp_source.html#l00068">ElementwiseBaseLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_quantize_layer_8cpp_source.html#l00033">QuantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_activation_layer_8cpp_source.html#l00033">ActivationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_channel_shuffle_layer_8cpp_source.html#l00035">ChannelShuffleLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convert_fp32_to_fp16_layer_8cpp_source.html#l00034">ConvertFp32ToFp16Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fill_layer_8cpp_source.html#l00034">FillLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_rank_layer_8cpp_source.html#l00039">RankLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_abs_layer_8cpp_source.html#l00036">AbsLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_debug_layer_8cpp_source.html#l00045">DebugLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_transpose_layer_8cpp_source.html#l00050">TransposeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_cast_layer_8cpp_source.html#l00034">CastLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mem_copy_layer_8cpp_source.html#l00037">MemCopyLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mem_import_layer_8cpp_source.html#l00037">MemImportLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_dequantize_layer_8cpp_source.html#l00033">DequantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_merge_layer_8cpp_source.html#l00030">MergeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_rsqrt_layer_8cpp_source.html#l00036">RsqrtLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_normalization_layer_8cpp_source.html#l00034">NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_permute_layer_8cpp_source.html#l00050">PermuteLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pooling2d_layer_8cpp_source.html#l00115">Pooling2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pooling3d_layer_8cpp_source.html#l00119">Pooling3dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_to_space_nd_layer_8cpp_source.html#l00038">BatchToSpaceNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fake_quantization_layer_8cpp_source.html#l00034">FakeQuantizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_resize_layer_8cpp_source.html#l00067">ResizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convert_fp16_to_fp32_layer_8cpp_source.html#l00035">ConvertFp16ToFp32Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_floor_layer_8cpp_source.html#l00034">FloorLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_shape_layer_8cpp_source.html#l00037">ShapeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_instance_normalization_layer_8cpp_source.html#l00034">InstanceNormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_slice_layer_8cpp_source.html#l00037">SliceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_softmax_layer_8cpp_source.html#l00034">SoftmaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_l2_normalization_layer_8cpp_source.html#l00034">L2NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_stack_layer_8cpp_source.html#l00067">StackLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_switch_layer_8cpp_source.html#l00032">SwitchLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_log_softmax_layer_8cpp_source.html#l00034">LogSoftmaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mean_layer_8cpp_source.html#l00044">MeanLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pad_layer_8cpp_source.html#l00077">PadLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reshape_layer_8cpp_source.html#l00041">ReshapeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convolution3d_layer_8cpp_source.html#l00126">Convolution3dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fully_connected_layer_8cpp_source.html#l00053">FullyConnectedLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_depthwise_convolution2d_layer_8cpp_source.html#l00121">DepthwiseConvolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convolution2d_layer_8cpp_source.html#l00117">Convolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_broadcast_to_layer_8cpp_source.html#l00038">BroadcastToLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_scatter_nd_layer_8cpp_source.html#l00052">ScatterNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_gather_nd_layer_8cpp_source.html#l00089">GatherNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_tile_layer_8cpp_source.html#l00062">TileLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00097">BatchMatMulLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_elementwise_binary_layer_8cpp_source.html#l00076">ElementwiseBinaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_detection_post_process_layer_8cpp_source.html#l00039">DetectionPostProcessLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reduce_layer_8cpp_source.html#l00044">ReduceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_strided_slice_layer_8cpp_source.html#l00103">StridedSliceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_elementwise_unary_layer_8cpp_source.html#l00048">ElementwiseUnaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_arg_min_max_layer_8cpp_source.html#l00084">ArgMinMaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reverse_v2_layer_8cpp_source.html#l00054">ReverseV2Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_gather_layer_8cpp_source.html#l00079">GatherLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_prelu_layer_8cpp_source.html#l00114">PreluLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_space_to_batch_nd_layer_8cpp_source.html#l00063">SpaceToBatchNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_space_to_depth_layer_8cpp_source.html#l00068">SpaceToDepthLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_comparison_layer_8cpp_source.html#l00080">ComparisonLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_depth_to_space_layer_8cpp_source.html#l00066">DepthToSpaceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_logical_binary_layer_8cpp_source.html#l00072">LogicalBinaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_transpose_convolution2d_layer_8cpp_source.html#l00104">TransposeConvolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_splitter_layer_8cpp_source.html#l00205">SplitterLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_unidirectional_sequence_lstm_layer_8cpp_source.html#l00172">UnidirectionalSequenceLstmLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00172">LstmLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_concat_layer_8cpp_source.html#l00309">ConcatLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_normalization_layer_8cpp_source.html#l00067">BatchNormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_quantized_lstm_layer_8cpp_source.html#l00100">QuantizedLstmLayer::ValidateTensorShapesFromInputs()</a>, and <a class="el" href="_q_lstm_layer_8cpp_source.html#l00174">QLstmLayer::ValidateTensorShapesFromInputs()</a>.</p> |
| 2626 | |
| 2627 | </div> |
| 2628 | </div> |
| 2629 | <h2 class="groupheader">Friends And Related Function Documentation</h2> |
| 2630 | <a id="afab89afd724f1b07b1aaad6bdc61c47a"></a> |
| 2631 | <h2 class="memtitle"><span class="permalink"><a href="#afab89afd724f1b07b1aaad6bdc61c47a">◆ </a></span>Graph</h2> |
| 2632 | |
| 2633 | <div class="memitem"> |
| 2634 | <div class="memproto"> |
| 2635 | <table class="mlabels"> |
| 2636 | <tr> |
| 2637 | <td class="mlabels-left"> |
| 2638 | <table class="memname"> |
| 2639 | <tr> |
| 2640 | <td class="memname">friend class <a class="el" href="classarmnn_1_1_graph.html">Graph</a></td> |
| 2641 | </tr> |
| 2642 | </table> |
| 2643 | </td> |
| 2644 | <td class="mlabels-right"> |
| 2645 | <span class="mlabels"><span class="mlabel">friend</span></span> </td> |
| 2646 | </tr> |
| 2647 | </table> |
| 2648 | </div><div class="memdoc"> |
| 2649 | |
| 2650 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00382">382</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 2651 | |
| 2652 | </div> |
| 2653 | </div> |
| 2654 | <h2 class="groupheader">Member Data Documentation</h2> |
| 2655 | <a id="ac7170f79bd0eadb1b6153e359c023cc0"></a> |
| 2656 | <h2 class="memtitle"><span class="permalink"><a href="#ac7170f79bd0eadb1b6153e359c023cc0">◆ </a></span>m_AdditionalInfoObject</h2> |
| 2657 | |
| 2658 | <div class="memitem"> |
| 2659 | <div class="memproto"> |
| 2660 | <table class="mlabels"> |
| 2661 | <tr> |
| 2662 | <td class="mlabels-left"> |
| 2663 | <table class="memname"> |
| 2664 | <tr> |
| 2665 | <td class="memname"><a class="el" href="namespacearmnn.html#a2a5caf3721af872f43c7642fec9449bc">AdditionalInfoObjectPtr</a> m_AdditionalInfoObject</td> |
| 2666 | </tr> |
| 2667 | </table> |
| 2668 | </td> |
| 2669 | <td class="mlabels-right"> |
| 2670 | <span class="mlabels"><span class="mlabel">protected</span></span> </td> |
| 2671 | </tr> |
| 2672 | </table> |
| 2673 | </div><div class="memdoc"> |
| 2674 | |
| 2675 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00427">427</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 2676 | |
| 2677 | <p class="reference">Referenced by <a class="el" href="_fused_layer_8cpp_source.html#l00022">FusedLayer::Clone()</a>, <a class="el" href="_layer_8hpp_source.html#l00368">Layer::GetAdditionalInformation()</a>, <a class="el" href="_layer_8cpp_source.html#l00303">Layer::SetAdditionalInfo()</a>, and <a class="el" href="_layer_8hpp_source.html#l00373">Layer::SetAdditionalInfoForObject()</a>.</p> |
| 2678 | |
| 2679 | </div> |
| 2680 | </div> |
| 2681 | <a id="aa44d91037bba52ba0dec6577509ade3b"></a> |
| 2682 | <h2 class="memtitle"><span class="permalink"><a href="#aa44d91037bba52ba0dec6577509ade3b">◆ </a></span>m_OutputHandlers</h2> |
| 2683 | |
| 2684 | <div class="memitem"> |
| 2685 | <div class="memproto"> |
| 2686 | <table class="mlabels"> |
| 2687 | <tr> |
| 2688 | <td class="mlabels-left"> |
| 2689 | <table class="memname"> |
| 2690 | <tr> |
| 2691 | <td class="memname">std::vector<<a class="el" href="classarmnn_1_1_output_handler.html">OutputHandler</a>> m_OutputHandlers</td> |
| 2692 | </tr> |
| 2693 | </table> |
| 2694 | </td> |
| 2695 | <td class="mlabels-right"> |
| 2696 | <span class="mlabels"><span class="mlabel">protected</span></span> </td> |
| 2697 | </tr> |
| 2698 | </table> |
| 2699 | </div><div class="memdoc"> |
| 2700 | |
| 2701 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00440">440</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 2702 | |
| 2703 | <p class="reference">Referenced by <a class="el" href="_layer_8hpp_source.html#l00245">Layer::GetOutputHandler()</a>, and <a class="el" href="_layer_8cpp_source.html#l00233">Layer::Layer()</a>.</p> |
| 2704 | |
| 2705 | </div> |
| 2706 | </div> |
| 2707 | <a id="afe508761cc8318b15329ba4acf7fbfec"></a> |
| 2708 | <h2 class="memtitle"><span class="permalink"><a href="#afe508761cc8318b15329ba4acf7fbfec">◆ </a></span>m_ShapeInferenceMethod</h2> |
| 2709 | |
| 2710 | <div class="memitem"> |
| 2711 | <div class="memproto"> |
| 2712 | <table class="mlabels"> |
| 2713 | <tr> |
| 2714 | <td class="mlabels-left"> |
| 2715 | <table class="memname"> |
| 2716 | <tr> |
| 2717 | <td class="memname"><a class="el" href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9">ShapeInferenceMethod</a> m_ShapeInferenceMethod</td> |
| 2718 | </tr> |
| 2719 | </table> |
| 2720 | </td> |
| 2721 | <td class="mlabels-right"> |
| 2722 | <span class="mlabels"><span class="mlabel">protected</span></span> </td> |
| 2723 | </tr> |
| 2724 | </table> |
| 2725 | </div><div class="memdoc"> |
| 2726 | |
| 2727 | <p class="definition">Definition at line <a class="el" href="_layer_8hpp_source.html#l00441">441</a> of file <a class="el" href="_layer_8hpp_source.html">Layer.hpp</a>.</p> |
| 2728 | |
| 2729 | <p class="reference">Referenced by <a class="el" href="_layer_clone_base_8hpp_source.html#l00014">Layer::CloneBase()</a>, <a class="el" href="_layer_8hpp_source.html#l00255">Layer::GetShapeInferenceMethod()</a>, <a class="el" href="_layer_8hpp_source.html#l00357">Layer::SetShapeInferenceMethod()</a>, <a class="el" href="_elementwise_base_layer_8cpp_source.html#l00068">ElementwiseBaseLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_quantize_layer_8cpp_source.html#l00033">QuantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_activation_layer_8cpp_source.html#l00033">ActivationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_channel_shuffle_layer_8cpp_source.html#l00035">ChannelShuffleLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convert_fp32_to_fp16_layer_8cpp_source.html#l00034">ConvertFp32ToFp16Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fill_layer_8cpp_source.html#l00034">FillLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_rank_layer_8cpp_source.html#l00039">RankLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_instance_normalization_layer_8cpp_source.html#l00034">InstanceNormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_stack_layer_8cpp_source.html#l00067">StackLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_slice_layer_8cpp_source.html#l00037">SliceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_l2_normalization_layer_8cpp_source.html#l00034">L2NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_switch_layer_8cpp_source.html#l00032">SwitchLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_to_space_nd_layer_8cpp_source.html#l00038">BatchToSpaceNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_transpose_layer_8cpp_source.html#l00050">TransposeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_debug_layer_8cpp_source.html#l00045">DebugLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mem_copy_layer_8cpp_source.html#l00037">MemCopyLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_dequantize_layer_8cpp_source.html#l00033">DequantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mem_import_layer_8cpp_source.html#l00037">MemImportLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_merge_layer_8cpp_source.html#l00030">MergeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_normalization_layer_8cpp_source.html#l00034">NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_permute_layer_8cpp_source.html#l00050">PermuteLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pooling2d_layer_8cpp_source.html#l00115">Pooling2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_cast_layer_8cpp_source.html#l00034">CastLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pooling3d_layer_8cpp_source.html#l00119">Pooling3dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fake_quantization_layer_8cpp_source.html#l00034">FakeQuantizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_resize_layer_8cpp_source.html#l00067">ResizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_abs_layer_8cpp_source.html#l00036">AbsLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_floor_layer_8cpp_source.html#l00034">FloorLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_rsqrt_layer_8cpp_source.html#l00036">RsqrtLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_shape_layer_8cpp_source.html#l00037">ShapeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convert_fp16_to_fp32_layer_8cpp_source.html#l00035">ConvertFp16ToFp32Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_softmax_layer_8cpp_source.html#l00034">SoftmaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_log_softmax_layer_8cpp_source.html#l00034">LogSoftmaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mean_layer_8cpp_source.html#l00044">MeanLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pad_layer_8cpp_source.html#l00077">PadLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reshape_layer_8cpp_source.html#l00041">ReshapeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convolution2d_layer_8cpp_source.html#l00117">Convolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fully_connected_layer_8cpp_source.html#l00053">FullyConnectedLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_broadcast_to_layer_8cpp_source.html#l00038">BroadcastToLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_depthwise_convolution2d_layer_8cpp_source.html#l00121">DepthwiseConvolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convolution3d_layer_8cpp_source.html#l00126">Convolution3dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_scatter_nd_layer_8cpp_source.html#l00052">ScatterNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_gather_nd_layer_8cpp_source.html#l00089">GatherNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_tile_layer_8cpp_source.html#l00062">TileLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_elementwise_binary_layer_8cpp_source.html#l00076">ElementwiseBinaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00097">BatchMatMulLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_gather_layer_8cpp_source.html#l00079">GatherLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reverse_v2_layer_8cpp_source.html#l00054">ReverseV2Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_elementwise_unary_layer_8cpp_source.html#l00048">ElementwiseUnaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_arg_min_max_layer_8cpp_source.html#l00084">ArgMinMaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_detection_post_process_layer_8cpp_source.html#l00039">DetectionPostProcessLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reduce_layer_8cpp_source.html#l00044">ReduceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_strided_slice_layer_8cpp_source.html#l00103">StridedSliceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_space_to_depth_layer_8cpp_source.html#l00068">SpaceToDepthLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_space_to_batch_nd_layer_8cpp_source.html#l00063">SpaceToBatchNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_depth_to_space_layer_8cpp_source.html#l00066">DepthToSpaceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_logical_binary_layer_8cpp_source.html#l00072">LogicalBinaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_prelu_layer_8cpp_source.html#l00114">PreluLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_comparison_layer_8cpp_source.html#l00080">ComparisonLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_transpose_convolution2d_layer_8cpp_source.html#l00104">TransposeConvolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_splitter_layer_8cpp_source.html#l00205">SplitterLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_concat_layer_8cpp_source.html#l00309">ConcatLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00172">LstmLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_unidirectional_sequence_lstm_layer_8cpp_source.html#l00172">UnidirectionalSequenceLstmLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_normalization_layer_8cpp_source.html#l00067">BatchNormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_quantized_lstm_layer_8cpp_source.html#l00100">QuantizedLstmLayer::ValidateTensorShapesFromInputs()</a>, and <a class="el" href="_q_lstm_layer_8cpp_source.html#l00174">QLstmLayer::ValidateTensorShapesFromInputs()</a>.</p> |
| 2730 | |
| 2731 | </div> |
| 2732 | </div> |
| 2733 | <hr/>The documentation for this class was generated from the following files:<ul> |
| 2734 | <li>src/armnn/<a class="el" href="_layer_8hpp_source.html">Layer.hpp</a></li> |
| 2735 | <li>src/armnn/<a class="el" href="_layer_8cpp_source.html">Layer.cpp</a></li> |
| 2736 | <li>src/armnn/layers/<a class="el" href="_layer_clone_base_8hpp_source.html">LayerCloneBase.hpp</a></li> |
| 2737 | </ul> |
| 2738 | </div><!-- contents --> |
| 2739 | </div><!-- doc-content --> |
| 2740 | <div class="ttc" id="anamespacearmnn_html_addb6b14dd1b632263ffe77430259a7c4"><div class="ttname"><a href="namespacearmnn.html#addb6b14dd1b632263ffe77430259a7c4">armnn::GetLayerTypeAsCString</a></div><div class="ttdeci">const char * GetLayerTypeAsCString(LayerType type)</div><div class="ttdef"><b>Definition:</b> <a href="_internal_types_8cpp_source.html#l00013">InternalTypes.cpp:13</a></div></div> |
| 2741 | <div class="ttc" id="aclassarmnn_1_1_output_slot_html_ada2ad7d1caeeb4ef6195c8925fad6a65"><div class="ttname"><a href="classarmnn_1_1_output_slot.html#ada2ad7d1caeeb4ef6195c8925fad6a65">armnn::OutputSlot::GetTensorInfo</a></div><div class="ttdeci">const TensorInfo & GetTensorInfo() const override</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00100">Layer.cpp:100</a></div></div> |
| 2742 | <div class="ttc" id="anamespacearmnn_utils_html_ac7f0575b4a8c9ba80c5b0695ada4dd92"><div class="ttname"><a href="namespacearmnn_utils.html#ac7f0575b4a8c9ba80c5b0695ada4dd92">armnnUtils::SqueezeDims</a></div><div class="ttdeci">std::vector< unsigned int > SqueezeDims(const armnn::TensorShape &tensorShape)</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_utils_8cpp_source.html#l00195">TensorUtils.cpp:195</a></div></div> |
| 2743 | <div class="ttc" id="aclassarmnn_1_1_layer_html_a386acff5f8430245239ce58d00ba7576"><div class="ttname"><a href="classarmnn_1_1_layer.html#a386acff5f8430245239ce58d00ba7576">armnn::Layer::OperateOnConstantTensors</a></div><div class="ttdeci">void OperateOnConstantTensors(Op op)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00319">Layer.hpp:319</a></div></div> |
| 2744 | <div class="ttc" id="aclassarmnn_1_1_layer_html_a6ff80e440308295056b57e2adaa42888"><div class="ttname"><a href="classarmnn_1_1_layer.html#a6ff80e440308295056b57e2adaa42888">armnn::Layer::GetBackendHint</a></div><div class="ttdeci">Optional< BackendId > GetBackendHint() const</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00355">Layer.hpp:355</a></div></div> |
| 2745 | <div class="ttc" id="aclassarmnn_1_1_layer_html_ac7170f79bd0eadb1b6153e359c023cc0"><div class="ttname"><a href="classarmnn_1_1_layer.html#ac7170f79bd0eadb1b6153e359c023cc0">armnn::Layer::m_AdditionalInfoObject</a></div><div class="ttdeci">AdditionalInfoObjectPtr m_AdditionalInfoObject</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00427">Layer.hpp:427</a></div></div> |
| 2746 | <div class="ttc" id="aclassarmnn_1_1_output_slot_html_a7e5c5771d741dd5473989047a9314728"><div class="ttname"><a href="classarmnn_1_1_output_slot.html#a7e5c5771d741dd5473989047a9314728">armnn::OutputSlot::SetTensorInfo</a></div><div class="ttdeci">void SetTensorInfo(const TensorInfo &tensorInfo) override</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00095">Layer.cpp:95</a></div></div> |
| 2747 | <div class="ttc" id="anamespacearmnn_html_a419086ecb4dc9d0f9e5d8933c87e2ea2"><div class="ttname"><a href="namespacearmnn.html#a419086ecb4dc9d0f9e5d8933c87e2ea2">armnn::LayerPriority</a></div><div class="ttdeci">unsigned int LayerPriority</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00227">Layer.hpp:227</a></div></div> |
| 2748 | <div class="ttc" id="aclassarmnn_1_1_tensor_info_html"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00152">Tensor.hpp:152</a></div></div> |
| 2749 | <div class="ttc" id="a_exceptions_8hpp_html_aa3be76aec4ce713822a5ea1ecbb7bc61"><div class="ttname"><a href="_exceptions_8hpp.html#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a></div><div class="ttdeci">#define CHECK_LOCATION()</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00203">Exceptions.hpp:203</a></div></div> |
| 2750 | <div class="ttc" id="aclassarmnn_1_1_i_connectable_layer_html_af978f897fb7e115a901cb7ed95f8e532"><div class="ttname"><a href="classarmnn_1_1_i_connectable_layer.html#af978f897fb7e115a901cb7ed95f8e532">armnn::IConnectableLayer::ConstantTensors</a></div><div class="ttdeci">std::vector< std::reference_wrapper< std::shared_ptr< ConstTensorHandle > >> ConstantTensors</div><div class="ttdef"><b>Definition:</b> <a href="_i_network_8hpp_source.html#l00136">INetwork.hpp:136</a></div></div> |
| 2751 | <div class="ttc" id="aclassarmnn_1_1_layer_html_a0e36688a43c35668d8db5257274c68fe"><div class="ttname"><a href="classarmnn_1_1_layer.html#a0e36688a43c35668d8db5257274c68fe">armnn::Layer::GetOutputSlot</a></div><div class="ttdeci">const OutputSlot & GetOutputSlot(unsigned int index=0) const override</div><div class="ttdoc">Get the const output slot handle by slot index.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00339">Layer.hpp:339</a></div></div> |
| 2752 | <div class="ttc" id="aclassarmnn_1_1_layer_html_aa44d91037bba52ba0dec6577509ade3b"><div class="ttname"><a href="classarmnn_1_1_layer.html#aa44d91037bba52ba0dec6577509ade3b">armnn::Layer::m_OutputHandlers</a></div><div class="ttdeci">std::vector< OutputHandler > m_OutputHandlers</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00440">Layer.hpp:440</a></div></div> |
| 2753 | <div class="ttc" id="aclassarmnn_1_1_layer_html_a9114de666bc2d910faa846b04fc26974"><div class="ttname"><a href="classarmnn_1_1_layer.html#a9114de666bc2d910faa846b04fc26974">armnn::Layer::GetConstantTensorsByRef</a></div><div class="ttdeci">virtual ConstantTensors GetConstantTensorsByRef() override final</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00576">Layer.cpp:576</a></div></div> |
| 2754 | <div class="ttc" id="aclassarmnn_1_1_layer_html_af5f530544d09a44d726f24702b67b35b"><div class="ttname"><a href="classarmnn_1_1_layer.html#af5f530544d09a44d726f24702b67b35b">armnn::Layer::GetInputSlots</a></div><div class="ttdeci">const std::vector< InputSlot > & GetInputSlots() const</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00258">Layer.hpp:258</a></div></div> |
| 2755 | <div class="ttc" id="aclassarmnn_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 & GetInputSlot(unsigned int index) const override</div><div class="ttdoc">Get a const input slot handle by slot index.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00337">Layer.hpp:337</a></div></div> |
| 2756 | <div class="ttc" id="aclassarmnn_1_1_layer_html_a5e5ae420d199a0bccae5139d38c30205"><div class="ttname"><a href="classarmnn_1_1_layer.html#a5e5ae420d199a0bccae5139d38c30205">armnn::Layer::Layer</a></div><div class="ttdeci">Layer(unsigned int numInputSlots, unsigned int numOutputSlots, LayerType type, const char *name)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00260">Layer.cpp:260</a></div></div> |
| 2757 | <div class="ttc" id="aclassarmnn_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="ttdoc">Returns the name of the layer.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00332">Layer.hpp:332</a></div></div> |
| 2758 | <div class="ttc" id="aclassarmnn_1_1_i_tensor_handle_factory_html_a9c95f90eb40e31f629e0e2947b8bc6f9"><div class="ttname"><a href="classarmnn_1_1_i_tensor_handle_factory.html#a9c95f90eb40e31f629e0e2947b8bc6f9">armnn::ITensorHandleFactory::LegacyFactoryId</a></div><div class="ttdeci">static const FactoryId LegacyFactoryId</div><div class="ttdef"><b>Definition:</b> <a href="_i_tensor_handle_factory_8hpp_source.html#l00050">ITensorHandleFactory.hpp:50</a></div></div> |
| 2759 | <div class="ttc" id="aclassarmnn_1_1_i_connectable_layer_html_aba5c20cadbebd2e7ba67e20a47e31472"><div class="ttname"><a href="classarmnn_1_1_i_connectable_layer.html#aba5c20cadbebd2e7ba67e20a47e31472">armnn::IConnectableLayer::ImmutableConstantTensors</a></div><div class="ttdeci">std::vector< std::reference_wrapper< const std::shared_ptr< ConstTensorHandle > >> ImmutableConstantTensors</div><div class="ttdef"><b>Definition:</b> <a href="_i_network_8hpp_source.html#l00141">INetwork.hpp:141</a></div></div> |
| 2760 | <div class="ttc" id="aclassarmnn_1_1_input_slot_html_ada2ad7d1caeeb4ef6195c8925fad6a65"><div class="ttname"><a href="classarmnn_1_1_input_slot.html#ada2ad7d1caeeb4ef6195c8925fad6a65">armnn::InputSlot::GetTensorInfo</a></div><div class="ttdeci">const TensorInfo & GetTensorInfo() const override</div><div class="ttdoc">Gets the TensorInfo for this InputSlot.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00614">Layer.cpp:614</a></div></div> |
| 2761 | <div class="ttc" id="aclassarmnn_1_1_layer_html_a8dc12f0ee5b232d397bd18ced1a72a64"><div class="ttname"><a href="classarmnn_1_1_layer.html#a8dc12f0ee5b232d397bd18ced1a72a64">armnn::Layer::GetGuid</a></div><div class="ttdeci">LayerGuid GetGuid() const final</div><div class="ttdoc">Returns the unique id of the layer.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00343">Layer.hpp:343</a></div></div> |
| 2762 | <div class="ttc" id="aclassarmnn_1_1_layer_html_af2c0edc7ea62a8baaec4d3d9b2b09256"><div class="ttname"><a href="classarmnn_1_1_layer.html#af2c0edc7ea62a8baaec4d3d9b2b09256">armnn::Layer::GetOutputHandler</a></div><div class="ttdeci">const OutputHandler & GetOutputHandler(unsigned int i=0) const</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00245">Layer.hpp:245</a></div></div> |
| 2763 | <div class="ttc" id="aclassarmnn_1_1_layer_html_afc3239f5fc116259bf5451964e803646"><div class="ttname"><a href="classarmnn_1_1_layer.html#afc3239f5fc116259bf5451964e803646">armnn::Layer::CollectQueueDescriptorInputs</a></div><div class="ttdeci">void CollectQueueDescriptorInputs(QueueDescriptor &descriptor, WorkloadInfo &info) const</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00386">Layer.hpp:386</a></div></div> |
| 2764 | <div class="ttc" id="aclassarmnn_1_1_layer_html_a1594bddc87d6477df300317658f566bb"><div class="ttname"><a href="classarmnn_1_1_layer.html#a1594bddc87d6477df300317658f566bb">armnn::Layer::GetNumOutputSlots</a></div><div class="ttdeci">unsigned int GetNumOutputSlots() const override</div><div class="ttdoc">Returns the number of connectable output slots.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00335">Layer.hpp:335</a></div></div> |
| 2765 | <div class="ttc" id="astructarmnn_1_1_stringify_layer_parameters_html_a84990e31a235f27cd3d7f3fc90fa0035"><div class="ttname"><a href="structarmnn_1_1_stringify_layer_parameters.html#a84990e31a235f27cd3d7f3fc90fa0035">armnn::StringifyLayerParameters::Serialize</a></div><div class="ttdeci">static void Serialize(ParameterStringifyFunction &, const LayerParameter &)</div><div class="ttdef"><b>Definition:</b> <a href="_serialize_layer_parameters_8hpp_source.html#l00025">SerializeLayerParameters.hpp:25</a></div></div> |
| 2766 | <div class="ttc" id="aclassarmnn_1_1_layer_html_a98cdff4e0b45f4c80bfcedaf926e16e0"><div class="ttname"><a href="classarmnn_1_1_layer.html#a98cdff4e0b45f4c80bfcedaf926e16e0">armnn::Layer::GetOutputSlots</a></div><div class="ttdeci">const std::vector< OutputSlot > & GetOutputSlots() const</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00259">Layer.hpp:259</a></div></div> |
| 2767 | <div class="ttc" id="anamespacearmnn_html_a8e1f31031ad31cd8cc22d7c9daa32681a4b7d504abac49ba24b4df86c129d3cbc"><div class="ttname"><a href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681a4b7d504abac49ba24b4df86c129d3cbc">armnn::Dimensionality::NotSpecified</a></div><div class="ttdeci">@ NotSpecified</div></div> |
| 2768 | <div class="ttc" id="aclassarmnn_1_1_exception_html"><div class="ttname"><a href="classarmnn_1_1_exception.html">armnn::Exception</a></div><div class="ttdoc">Base class for all ArmNN exceptions so that users can filter to just those.</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00046">Exceptions.hpp:46</a></div></div> |
| 2769 | <div class="ttc" id="anamespacearmnn_html_a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c"><div class="ttname"><a href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">armnn::BoostLogSeverityMapping::info</a></div><div class="ttdeci">@ info</div></div> |
| 2770 | <div class="ttc" id="aclassarmnn_1_1_tensor_info_html_aea909c7327109228ef618d459015def3"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html#aea909c7327109228ef618d459015def3">armnn::TensorInfo::GetDataType</a></div><div class="ttdeci">DataType GetDataType() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00200">Tensor.hpp:200</a></div></div> |
| 2771 | <div class="ttc" id="aclassarmnn_1_1_layer_html_a9a97cb6d32661a57fc33bd29b8e41ff4"><div class="ttname"><a href="classarmnn_1_1_layer.html#a9a97cb6d32661a57fc33bd29b8e41ff4">armnn::Layer::GetNameStr</a></div><div class="ttdeci">const std::string & GetNameStr() const</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00240">Layer.hpp:240</a></div></div> |
| 2772 | <div class="ttc" id="aclassarmnn_1_1_layer_html_abc0660dc440c8a285b456c9ef6383c26"><div class="ttname"><a href="classarmnn_1_1_layer.html#abc0660dc440c8a285b456c9ef6383c26">armnn::Layer::GetNumInputSlots</a></div><div class="ttdeci">unsigned int GetNumInputSlots() const override</div><div class="ttdoc">Returns the number of connectable input slots.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00334">Layer.hpp:334</a></div></div> |
| 2773 | <div class="ttc" id="anamespacearmnn_html_adf57837d00e8352d9b5cc5ab1fb5fee9af6486a22a9bb11959bfae60a3e5174b1"><div class="ttname"><a href="namespacearmnn.html#adf57837d00e8352d9b5cc5ab1fb5fee9af6486a22a9bb11959bfae60a3e5174b1">armnn::ShapeInferenceMethod::ValidateOnly</a></div><div class="ttdeci">@ ValidateOnly</div><div class="ttdoc">Validate all output shapes.</div></div> |
| 2774 | <div class="ttc" id="aclassarmnn_1_1_layer_html_ad8e15c530c929ab823d89ae9fd2d3f11"><div class="ttname"><a href="classarmnn_1_1_layer.html#ad8e15c530c929ab823d89ae9fd2d3f11">armnn::Layer::GetType</a></div><div class="ttdeci">LayerType GetType() const override</div><div class="ttdoc">Returns the armnn::LayerType of this layer.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00286">Layer.hpp:286</a></div></div> |
| 2775 | <div class="ttc" id="anamespacearmnn_html_a8e1f31031ad31cd8cc22d7c9daa32681ab4b379bf7ded74c07595ccb85bc6fdc3"><div class="ttname"><a href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681ab4b379bf7ded74c07595ccb85bc6fdc3">armnn::Dimensionality::Specified</a></div><div class="ttdeci">@ Specified</div></div> |
| 2776 | <div class="ttc" id="anamespacearmnn_html_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.html#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &&...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.html#l00014">IgnoreUnused.hpp:14</a></div></div> |
| 2777 | <div class="ttc" id="aclassarmnn_1_1_layer_html_afdb1d37740e7a083b625d669588b6a0e"><div class="ttname"><a href="classarmnn_1_1_layer.html#afdb1d37740e7a083b625d669588b6a0e">armnn::Layer::GetBackendId</a></div><div class="ttdeci">const BackendId & GetBackendId() const</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00290">Layer.hpp:290</a></div></div> |
| 2778 | <div class="ttc" id="aclassarmnn_1_1_layer_html_a499ca5a94d0174ed21786b6994b2cd8c"><div class="ttname"><a href="classarmnn_1_1_layer.html#a499ca5a94d0174ed21786b6994b2cd8c">armnn::Layer::CollectQueueDescriptorOutputs</a></div><div class="ttdeci">void CollectQueueDescriptorOutputs(QueueDescriptor &descriptor, WorkloadInfo &info) const</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00393">Layer.hpp:393</a></div></div> |
| 2779 | <div class="ttc" id="aclassarmnn_1_1_i_tensor_handle_factory_html_a32f4aa6a7089d877af08928139c2c277"><div class="ttname"><a href="classarmnn_1_1_i_tensor_handle_factory.html#a32f4aa6a7089d877af08928139c2c277">armnn::ITensorHandleFactory::FactoryId</a></div><div class="ttdeci">std::string FactoryId</div><div class="ttdef"><b>Definition:</b> <a href="_i_tensor_handle_factory_8hpp_source.html#l00049">ITensorHandleFactory.hpp:49</a></div></div> |
| 2780 | <div class="ttc" id="anamespacearmnn_html_a56943a0946e5f15e5e58054b8e7a04a4a324118a6721dd6b8a9b9f4e327df2bf5"><div class="ttname"><a href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4a324118a6721dd6b8a9b9f4e327df2bf5">armnn::LayerType::Input</a></div><div class="ttdeci">@ Input</div></div> |
| 2781 | <div class="ttc" id="aclassarmnn_1_1_null_pointer_exception_html"><div class="ttname"><a href="classarmnn_1_1_null_pointer_exception.html">armnn::NullPointerException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00146">Exceptions.hpp:146</a></div></div> |
| 2782 | <div class="ttc" id="aclassarmnn_1_1_layer_html_afe508761cc8318b15329ba4acf7fbfec"><div class="ttname"><a href="classarmnn_1_1_layer.html#afe508761cc8318b15329ba4acf7fbfec">armnn::Layer::m_ShapeInferenceMethod</a></div><div class="ttdeci">ShapeInferenceMethod m_ShapeInferenceMethod</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00441">Layer.hpp:441</a></div></div> |
| 2783 | <div class="ttc" id="anamespacearmnn_html_a56943a0946e5f15e5e58054b8e7a04a4"><div class="ttname"><a href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">armnn::LayerType</a></div><div class="ttdeci">LayerType</div><div class="ttdoc">When adding a new layer, adapt also the LastLayer enum value in the enum class LayerType below.</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.html#l00491">Types.hpp:491</a></div></div> |
| 2784 | <div class="ttc" id="anamespacearmnn_html_a56943a0946e5f15e5e58054b8e7a04a4a29c2c02a361c9d7028472e5d92cd4a54"><div class="ttname"><a href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4a29c2c02a361c9d7028472e5d92cd4a54">armnn::LayerType::Output</a></div><div class="ttdeci">@ Output</div></div> |
| 2785 | <div class="ttc" id="anamespacearmnn_html_ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"><div class="ttname"><a href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::DataLayout::NCHW</a></div><div class="ttdeci">@ NCHW</div></div> |
| 2786 | <div class="ttc" id="a_exceptions_8hpp_html_a5b0cd1f24b12298894d6367f186ea6dc"><div class="ttname"><a href="_exceptions_8hpp.html#a5b0cd1f24b12298894d6367f186ea6dc">ARMNN_THROW_INVALIDARG_MSG_IF_FALSE</a></div><div class="ttdeci">#define ARMNN_THROW_INVALIDARG_MSG_IF_FALSE(_cond, _str)</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00210">Exceptions.hpp:210</a></div></div> |
| 2787 | <!-- start footer part --> |
| 2788 | <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> |
| 2789 | <ul> |
| 2790 | <li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_layer.html">Layer</a></li> |
| 2791 | <li class="footer">Generated on Thu May 16 2024 09:31:56 for Arm NN by |
| 2792 | <a href="http://www.doxygen.org/index.html"> |
| 2793 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li> |
| 2794 | </ul> |
| 2795 | </div> |
| 2796 | </body> |
| 2797 | </html> |