blob: b95c43dbb6cb836c8f7735ec9701aae1fef440b3 [file] [log] [blame]
<!-- HTML header for doxygen 1.8.17-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Arm NN: IConnectableLayer Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
<td id="projectalign" style="padding-left: 0.9em;">
<div id="projectname">
&#160;<span id="projectnumber">24.05</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classarmnn_1_1_i_connectable_layer.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classarmnn_1_1_i_connectable_layer-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">IConnectableLayer Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>Interface for a layer that is connectable to other layers via InputSlots and OutputSlots.
<a href="classarmnn_1_1_i_connectable_layer.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_i_network_8hpp_source.html">INetwork.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for IConnectableLayer:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classarmnn_1_1_i_connectable_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>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:af978f897fb7e115a901cb7ed95f8e532"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#af978f897fb7e115a901cb7ed95f8e532">ConstantTensors</a> = std::vector&lt; std::reference_wrapper&lt; std::shared_ptr&lt; <a class="el" href="classarmnn_1_1_const_tensor_handle.html">ConstTensorHandle</a> &gt; &gt;&gt;</td></tr>
<tr class="separator:af978f897fb7e115a901cb7ed95f8e532"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba5c20cadbebd2e7ba67e20a47e31472"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#aba5c20cadbebd2e7ba67e20a47e31472">ImmutableConstantTensors</a> = std::vector&lt; std::reference_wrapper&lt; const std::shared_ptr&lt; <a class="el" href="classarmnn_1_1_const_tensor_handle.html">ConstTensorHandle</a> &gt; &gt;&gt;</td></tr>
<tr class="separator:aba5c20cadbebd2e7ba67e20a47e31472"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:afcc1c3a20bd2860e0ddd21674389246f"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#afcc1c3a20bd2860e0ddd21674389246f">GetName</a> () const =0</td></tr>
<tr class="memdesc:afcc1c3a20bd2860e0ddd21674389246f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the layer. <a href="classarmnn_1_1_i_connectable_layer.html#afcc1c3a20bd2860e0ddd21674389246f">More...</a><br /></td></tr>
<tr class="separator:afcc1c3a20bd2860e0ddd21674389246f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c2cba04b6d7ace4fc2a2436b82a5a63"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#a9c2cba04b6d7ace4fc2a2436b82a5a63">GetNumInputSlots</a> () const =0</td></tr>
<tr class="memdesc:a9c2cba04b6d7ace4fc2a2436b82a5a63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of connectable input slots. <a href="classarmnn_1_1_i_connectable_layer.html#a9c2cba04b6d7ace4fc2a2436b82a5a63">More...</a><br /></td></tr>
<tr class="separator:a9c2cba04b6d7ace4fc2a2436b82a5a63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2dac3b61c94de52093616be4ab17f8d"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#ac2dac3b61c94de52093616be4ab17f8d">GetNumOutputSlots</a> () const =0</td></tr>
<tr class="memdesc:ac2dac3b61c94de52093616be4ab17f8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of connectable output slots. <a href="classarmnn_1_1_i_connectable_layer.html#ac2dac3b61c94de52093616be4ab17f8d">More...</a><br /></td></tr>
<tr class="separator:ac2dac3b61c94de52093616be4ab17f8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ec9e0eb66d7d6a01240492a0b18104c"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classarmnn_1_1_i_input_slot.html">IInputSlot</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#a6ec9e0eb66d7d6a01240492a0b18104c">GetInputSlot</a> (unsigned int index) const =0</td></tr>
<tr class="memdesc:a6ec9e0eb66d7d6a01240492a0b18104c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a const input slot handle by slot index. <a href="classarmnn_1_1_i_connectable_layer.html#a6ec9e0eb66d7d6a01240492a0b18104c">More...</a><br /></td></tr>
<tr class="separator:a6ec9e0eb66d7d6a01240492a0b18104c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3fd4f909aec6a9e150ba82dfad4017f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classarmnn_1_1_i_input_slot.html">IInputSlot</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#ae3fd4f909aec6a9e150ba82dfad4017f">GetInputSlot</a> (unsigned int index)=0</td></tr>
<tr class="memdesc:ae3fd4f909aec6a9e150ba82dfad4017f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the input slot handle by slot index. <a href="classarmnn_1_1_i_connectable_layer.html#ae3fd4f909aec6a9e150ba82dfad4017f">More...</a><br /></td></tr>
<tr class="separator:ae3fd4f909aec6a9e150ba82dfad4017f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80ac4eda2e7f2757ec9dd96fc96dbd16"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classarmnn_1_1_i_output_slot.html">IOutputSlot</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#a80ac4eda2e7f2757ec9dd96fc96dbd16">GetOutputSlot</a> (unsigned int index) const =0</td></tr>
<tr class="memdesc:a80ac4eda2e7f2757ec9dd96fc96dbd16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the const output slot handle by slot index. <a href="classarmnn_1_1_i_connectable_layer.html#a80ac4eda2e7f2757ec9dd96fc96dbd16">More...</a><br /></td></tr>
<tr class="separator:a80ac4eda2e7f2757ec9dd96fc96dbd16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75bfde3503c1b21c397bb095f55db990"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classarmnn_1_1_i_output_slot.html">IOutputSlot</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#a75bfde3503c1b21c397bb095f55db990">GetOutputSlot</a> (unsigned int index)=0</td></tr>
<tr class="memdesc:a75bfde3503c1b21c397bb095f55db990"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the output slot handle by slot index. <a href="classarmnn_1_1_i_connectable_layer.html#a75bfde3503c1b21c397bb095f55db990">More...</a><br /></td></tr>
<tr class="separator:a75bfde3503c1b21c397bb095f55db990"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6e3c075c888e7c16942a468a3aae33c"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#aa6e3c075c888e7c16942a468a3aae33c">InferOutputShapes</a> (const std::vector&lt; <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &gt; &amp;inputShapes) const =0</td></tr>
<tr class="memdesc:aa6e3c075c888e7c16942a468a3aae33c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Infer the shape of the output(s) based on the provided input shape(s) <a href="classarmnn_1_1_i_connectable_layer.html#aa6e3c075c888e7c16942a468a3aae33c">More...</a><br /></td></tr>
<tr class="separator:aa6e3c075c888e7c16942a468a3aae33c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb5e65c770f6cee222db8af7581541a6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="_types_8hpp.html#af22094b802160f09f7c89ad9eee10084">LayerGuid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#afb5e65c770f6cee222db8af7581541a6">GetGuid</a> () const =0</td></tr>
<tr class="memdesc:afb5e65c770f6cee222db8af7581541a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the unique id of the layer. <a href="classarmnn_1_1_i_connectable_layer.html#afb5e65c770f6cee222db8af7581541a6">More...</a><br /></td></tr>
<tr class="separator:afb5e65c770f6cee222db8af7581541a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52799628c0df0037c4708de02bec7185"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#a52799628c0df0037c4708de02bec7185">ExecuteStrategy</a> (<a class="el" href="classarmnn_1_1_i_strategy.html">IStrategy</a> &amp;strategy) const =0</td></tr>
<tr class="memdesc:a52799628c0df0037c4708de02bec7185"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply a visitor to this layer. <a href="classarmnn_1_1_i_connectable_layer.html#a52799628c0df0037c4708de02bec7185">More...</a><br /></td></tr>
<tr class="separator:a52799628c0df0037c4708de02bec7185"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a833170f92e96b3ef414b6cf6e5720d2b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#a833170f92e96b3ef414b6cf6e5720d2b">BackendSelectionHint</a> (<a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_backend_id.html">BackendId</a> &gt; backend)=0</td></tr>
<tr class="memdesc:a833170f92e96b3ef414b6cf6e5720d2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a hint for the optimizer as to which backend to prefer for this layer. <a href="classarmnn_1_1_i_connectable_layer.html#a833170f92e96b3ef414b6cf6e5720d2b">More...</a><br /></td></tr>
<tr class="separator:a833170f92e96b3ef414b6cf6e5720d2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adceb04ae84c524e4d01881e3754a4d59"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#adceb04ae84c524e4d01881e3754a4d59">GetType</a> () const =0</td></tr>
<tr class="memdesc:adceb04ae84c524e4d01881e3754a4d59"><td class="mdescLeft">&#160;</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_i_connectable_layer.html#adceb04ae84c524e4d01881e3754a4d59">More...</a><br /></td></tr>
<tr class="separator:adceb04ae84c524e4d01881e3754a4d59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ce723f9ed0cba4430ec1fc11daa4ce9"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="structarmnn_1_1_base_descriptor.html">BaseDescriptor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#a7ce723f9ed0cba4430ec1fc11daa4ce9">GetParameters</a> () const =0</td></tr>
<tr class="memdesc:a7ce723f9ed0cba4430ec1fc11daa4ce9"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the layer has a descriptor return it. <a href="classarmnn_1_1_i_connectable_layer.html#a7ce723f9ed0cba4430ec1fc11daa4ce9">More...</a><br /></td></tr>
<tr class="separator:a7ce723f9ed0cba4430ec1fc11daa4ce9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99cc75f524d831824c5f3730a88e9ca3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#a99cc75f524d831824c5f3730a88e9ca3">SetBackendId</a> (const <a class="el" href="classarmnn_1_1_backend_id.html">BackendId</a> &amp;id)=0</td></tr>
<tr class="memdesc:a99cc75f524d831824c5f3730a88e9ca3"><td class="mdescLeft">&#160;</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_i_connectable_layer.html#a99cc75f524d831824c5f3730a88e9ca3">More...</a><br /></td></tr>
<tr class="separator:a99cc75f524d831824c5f3730a88e9ca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c2ceb86756bf870d10a9ebe6fe8e14e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classarmnn_1_1_i_connectable_layer.html#af978f897fb7e115a901cb7ed95f8e532">ConstantTensors</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#a4c2ceb86756bf870d10a9ebe6fe8e14e">GetConstantTensorsByRef</a> ()=0</td></tr>
<tr class="separator:a4c2ceb86756bf870d10a9ebe6fe8e14e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8ffb1cf9a5990f7c2ab50d160d4e70c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classarmnn_1_1_i_connectable_layer.html#aba5c20cadbebd2e7ba67e20a47e31472">ImmutableConstantTensors</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#ae8ffb1cf9a5990f7c2ab50d160d4e70c">GetConstantTensorsByRef</a> () const =0</td></tr>
<tr class="separator:ae8ffb1cf9a5990f7c2ab50d160d4e70c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a8c7faf37c1d965431aaa02ae934d67ee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_connectable_layer.html#a8c7faf37c1d965431aaa02ae934d67ee">~IConnectableLayer</a> ()</td></tr>
<tr class="memdesc:a8c7faf37c1d965431aaa02ae934d67ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Objects are not deletable via the handle. <a href="classarmnn_1_1_i_connectable_layer.html#a8c7faf37c1d965431aaa02ae934d67ee">More...</a><br /></td></tr>
<tr class="separator:a8c7faf37c1d965431aaa02ae934d67ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Interface for a layer that is connectable to other layers via InputSlots and OutputSlots. </p>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_async_execution_sample_8cpp-example.html#_a9">AsyncExecutionSample.cpp</a>, <a class="el" href="_custom_memory_allocator_sample_8cpp-example.html#_a15">CustomMemoryAllocatorSample.cpp</a>, <a class="el" href="_dynamic_sample_8cpp-example.html#_a2">DynamicSample.cpp</a>, and <a class="el" href="_simple_sample_8cpp-example.html#_a9">SimpleSample.cpp</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_i_network_8hpp_source.html#l00080">80</a> of file <a class="el" href="_i_network_8hpp_source.html">INetwork.hpp</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="af978f897fb7e115a901cb7ed95f8e532"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af978f897fb7e115a901cb7ed95f8e532">&#9670;&nbsp;</a></span>ConstantTensors</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classarmnn_1_1_i_connectable_layer.html#af978f897fb7e115a901cb7ed95f8e532">ConstantTensors</a> = std::vector&lt;std::reference_wrapper&lt;std::shared_ptr&lt;<a class="el" href="classarmnn_1_1_const_tensor_handle.html">ConstTensorHandle</a>&gt; &gt;&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_i_network_8hpp_source.html#l00136">136</a> of file <a class="el" href="_i_network_8hpp_source.html">INetwork.hpp</a>.</p>
</div>
</div>
<a id="aba5c20cadbebd2e7ba67e20a47e31472"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba5c20cadbebd2e7ba67e20a47e31472">&#9670;&nbsp;</a></span>ImmutableConstantTensors</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classarmnn_1_1_i_connectable_layer.html#aba5c20cadbebd2e7ba67e20a47e31472">ImmutableConstantTensors</a> = std::vector&lt;std::reference_wrapper&lt;const std::shared_ptr&lt;<a class="el" href="classarmnn_1_1_const_tensor_handle.html">ConstTensorHandle</a>&gt; &gt;&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_i_network_8hpp_source.html#l00141">141</a> of file <a class="el" href="_i_network_8hpp_source.html">INetwork.hpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a8c7faf37c1d965431aaa02ae934d67ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c7faf37c1d965431aaa02ae934d67ee">&#9670;&nbsp;</a></span>~IConnectableLayer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">~<a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Objects are not deletable via the handle. </p>
<p class="definition">Definition at line <a class="el" href="_i_network_8hpp_source.html#l00148">148</a> of file <a class="el" href="_i_network_8hpp_source.html">INetwork.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;{}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a833170f92e96b3ef414b6cf6e5720d2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a833170f92e96b3ef414b6cf6e5720d2b">&#9670;&nbsp;</a></span>BackendSelectionHint()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void BackendSelectionHint </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_backend_id.html">BackendId</a> &gt;&#160;</td>
<td class="paramname"><em>backend</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Provide a hint for the optimizer as to which backend to prefer for this layer. </p>
<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_i_connectable_layer.html#a99cc75f524d831824c5f3730a88e9ca3" 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>
<p>Implemented in <a class="el" href="classarmnn_1_1_layer.html#a43a46eafee5c08787ab17b4342730c20">Layer</a>.</p>
</div>
</div>
<a id="a52799628c0df0037c4708de02bec7185"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52799628c0df0037c4708de02bec7185">&#9670;&nbsp;</a></span>ExecuteStrategy()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void ExecuteStrategy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classarmnn_1_1_i_strategy.html">IStrategy</a> &amp;&#160;</td>
<td class="paramname"><em>strategy</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Apply a visitor to this layer. </p>
<p>Implemented in <a class="el" href="classarmnn_1_1_bindable_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">BindableLayer</a>, <a class="el" href="classarmnn_1_1_layer.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">Layer</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&lt; Parameters &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; SoftmaxDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; FakeQuantizationDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; ReduceDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; LstmDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; ChannelShuffleDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; LogSoftmaxDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; PreCompiledDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; SpaceToBatchNdDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; BatchToSpaceNdDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; PermuteDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; GatherDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; ElementwiseUnaryDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; DepthToSpaceDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; OriginsDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; SpaceToDepthDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; ReshapeDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; ViewsDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; Pooling2dDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; Convolution2dDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; ActivationDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; StandInDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; MeanDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; StackDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; TransposeDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; InstanceNormalizationDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; ComparisonDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; TransposeConvolution2dDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; BroadcastToDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; BatchNormalizationDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; FusedDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; BatchMatMulDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; TileDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; ArgMinMaxDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; LogicalBinaryDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; DetectionPostProcessDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; PadDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; L2NormalizationDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; Convolution3dDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; SliceDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; QLstmDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; FillDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; DepthwiseConvolution2dDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; NormalizationDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; FullyConnectedDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; ScatterNdDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; ResizeDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; Pooling3dDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; ElementwiseBinaryDescriptor &gt;</a>, <a class="el" href="classarmnn_1_1_layer_with_parameters.html#a46fc3fdd4b2a5dd6d184e57983cf20bc">LayerWithParameters&lt; StridedSliceDescriptor &gt;</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>
</div>
</div>
<a id="ae8ffb1cf9a5990f7c2ab50d160d4e70c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8ffb1cf9a5990f7c2ab50d160d4e70c">&#9670;&nbsp;</a></span>GetConstantTensorsByRef() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classarmnn_1_1_i_connectable_layer.html#aba5c20cadbebd2e7ba67e20a47e31472">ImmutableConstantTensors</a> GetConstantTensorsByRef </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classarmnn_1_1_layer.html#a45544992c89527fa4d51498a91401640">Layer</a>, <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>
</div>
</div>
<a id="a4c2ceb86756bf870d10a9ebe6fe8e14e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c2ceb86756bf870d10a9ebe6fe8e14e">&#9670;&nbsp;</a></span>GetConstantTensorsByRef() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classarmnn_1_1_i_connectable_layer.html#af978f897fb7e115a901cb7ed95f8e532">ConstantTensors</a> GetConstantTensorsByRef </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classarmnn_1_1_layer.html#a9114de666bc2d910faa846b04fc26974">Layer</a>.</p>
</div>
</div>
<a id="afb5e65c770f6cee222db8af7581541a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb5e65c770f6cee222db8af7581541a6">&#9670;&nbsp;</a></span>GetGuid()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="_types_8hpp.html#af22094b802160f09f7c89ad9eee10084">LayerGuid</a> GetGuid </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the unique id of the layer. </p>
<p>Implemented in <a class="el" href="classarmnn_1_1_layer.html#a8dc12f0ee5b232d397bd18ced1a72a64">Layer</a>.</p>
<p class="reference">Referenced by <a class="el" href="_range_tracker_8cpp_source.html#l00012">RangeTracker::SetRange()</a>.</p>
</div>
</div>
<a id="a6ec9e0eb66d7d6a01240492a0b18104c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ec9e0eb66d7d6a01240492a0b18104c">&#9670;&nbsp;</a></span>GetInputSlot() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const <a class="el" href="classarmnn_1_1_i_input_slot.html">IInputSlot</a>&amp; GetInputSlot </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a const input slot handle by slot index. </p>
<p>Implemented in <a class="el" href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">Layer</a>.</p>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_async_execution_sample_8cpp-example.html#a15">AsyncExecutionSample.cpp</a>, <a class="el" href="_custom_memory_allocator_sample_8cpp-example.html#a18">CustomMemoryAllocatorSample.cpp</a>, <a class="el" href="_dynamic_sample_8cpp-example.html#a6">DynamicSample.cpp</a>, and <a class="el" href="_simple_sample_8cpp-example.html#a15">SimpleSample.cpp</a>.</dd>
</dl>
<p class="reference">Referenced by <a class="el" href="_test_utils_8cpp_source.html#l00014">Connect()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00392">armnn_driver::ConvertPooling2d()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00520">armnn_driver::ConvertReduce()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00604">armnn_driver::ConvertToActivation()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l01064">armnn_driver::IsConnectedToDequantize()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00906">armnn_driver::ProcessActivation()</a>, and <a class="el" href="_conversion_utils_8cpp_source.html#l00987">armnn_driver::SetupAndTrackLayerOutputSlot()</a>.</p>
</div>
</div>
<a id="ae3fd4f909aec6a9e150ba82dfad4017f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3fd4f909aec6a9e150ba82dfad4017f">&#9670;&nbsp;</a></span>GetInputSlot() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classarmnn_1_1_i_input_slot.html">IInputSlot</a>&amp; GetInputSlot </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the input slot handle by slot index. </p>
<p>Implemented in <a class="el" href="classarmnn_1_1_layer.html#a1b50eb1358cdf382f4bc3fc8849f8e8e">Layer</a>.</p>
</div>
</div>
<a id="afcc1c3a20bd2860e0ddd21674389246f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afcc1c3a20bd2860e0ddd21674389246f">&#9670;&nbsp;</a></span>GetName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const char* GetName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the name of the layer. </p>
<p>Implemented in <a class="el" href="classarmnn_1_1_layer.html#a7ddf0cf6f620d59c10e63495ace795d0">Layer</a>.</p>
<p class="reference">Referenced by <a class="el" href="_test_utils_8cpp_source.html#l00014">Connect()</a>, and <a class="el" href="_serializer_8cpp_source.html#l02074">SerializerStrategy::ExecuteStrategy()</a>.</p>
</div>
</div>
<a id="a9c2cba04b6d7ace4fc2a2436b82a5a63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c2cba04b6d7ace4fc2a2436b82a5a63">&#9670;&nbsp;</a></span>GetNumInputSlots()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual unsigned int GetNumInputSlots </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of connectable input slots. </p>
<p>Implemented in <a class="el" href="classarmnn_1_1_layer.html#abc0660dc440c8a285b456c9ef6383c26">Layer</a>.</p>
<p class="reference">Referenced by <a class="el" href="_conversion_utils_8cpp_source.html#l00987">armnn_driver::SetupAndTrackLayerOutputSlot()</a>.</p>
</div>
</div>
<a id="ac2dac3b61c94de52093616be4ab17f8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2dac3b61c94de52093616be4ab17f8d">&#9670;&nbsp;</a></span>GetNumOutputSlots()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual unsigned int GetNumOutputSlots </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of connectable output slots. </p>
<p>Implemented in <a class="el" href="classarmnn_1_1_layer.html#a1594bddc87d6477df300317658f566bb">Layer</a>.</p>
<p class="reference">Referenced by <a class="el" href="_subgraph_view_8cpp_source.html#l00396">SubgraphView::GetWorkingCopy()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00906">armnn_driver::ProcessActivation()</a>, <a class="el" href="_range_tracker_8cpp_source.html#l00012">RangeTracker::SetRange()</a>, and <a class="el" href="_conversion_utils_8cpp_source.html#l00987">armnn_driver::SetupAndTrackLayerOutputSlot()</a>.</p>
</div>
</div>
<a id="a80ac4eda2e7f2757ec9dd96fc96dbd16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80ac4eda2e7f2757ec9dd96fc96dbd16">&#9670;&nbsp;</a></span>GetOutputSlot() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const <a class="el" href="classarmnn_1_1_i_output_slot.html">IOutputSlot</a>&amp; GetOutputSlot </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the const output slot handle by slot index. </p>
<p>Implemented in <a class="el" href="classarmnn_1_1_layer.html#a0e36688a43c35668d8db5257274c68fe">Layer</a>.</p>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_async_execution_sample_8cpp-example.html#a16">AsyncExecutionSample.cpp</a>, <a class="el" href="_custom_memory_allocator_sample_8cpp-example.html#a16">CustomMemoryAllocatorSample.cpp</a>, <a class="el" href="_dynamic_sample_8cpp-example.html#a4">DynamicSample.cpp</a>, and <a class="el" href="_simple_sample_8cpp-example.html#a16">SimpleSample.cpp</a>.</dd>
</dl>
<p class="reference">Referenced by <a class="el" href="_test_utils_8cpp_source.html#l00014">Connect()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00216">armnn_driver::ConvertToLayerInputHandle()</a>, <a class="el" href="_subgraph_view_8cpp_source.html#l00396">SubgraphView::GetWorkingCopy()</a>, <a class="el" href="_tosa_ref_backend_8cpp_source.html#l00082">TosaRefBackend::OptimizeSubgraphView()</a>, <a class="el" href="_gpu_fsa_backend_8cpp_source.html#l00220">GpuFsaBackend::OptimizeSubgraphView()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00906">armnn_driver::ProcessActivation()</a>, and <a class="el" href="_conversion_utils_8cpp_source.html#l00987">armnn_driver::SetupAndTrackLayerOutputSlot()</a>.</p>
</div>
</div>
<a id="a75bfde3503c1b21c397bb095f55db990"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75bfde3503c1b21c397bb095f55db990">&#9670;&nbsp;</a></span>GetOutputSlot() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classarmnn_1_1_i_output_slot.html">IOutputSlot</a>&amp; GetOutputSlot </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the output slot handle by slot index. </p>
<p>Implemented in <a class="el" href="classarmnn_1_1_layer.html#abbd71844785bb2f00a81baca30ea5ff0">Layer</a>.</p>
</div>
</div>
<a id="a7ce723f9ed0cba4430ec1fc11daa4ce9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ce723f9ed0cba4430ec1fc11daa4ce9">&#9670;&nbsp;</a></span>GetParameters()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const <a class="el" href="structarmnn_1_1_base_descriptor.html">BaseDescriptor</a>&amp; GetParameters </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If the layer has a descriptor return it. </p>
<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>
<p>Implemented in <a class="el" href="classarmnn_1_1_layer.html#a94a487f29157eeec10e2f9a372487bcc">Layer</a>, and <a class="el" href="classarmnn_1_1_layer_with_parameters.html#afa3e8a8f23589b1eaddbe203825bbdcf">LayerWithParameters&lt; Parameters &gt;</a>.</p>
</div>
</div>
<a id="adceb04ae84c524e4d01881e3754a4d59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adceb04ae84c524e4d01881e3754a4d59">&#9670;&nbsp;</a></span>GetType()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">LayerType</a> GetType </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<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>
<p>Implemented in <a class="el" href="classarmnn_1_1_layer.html#ad8e15c530c929ab823d89ae9fd2d3f11">Layer</a>.</p>
<p class="reference">Referenced by <a class="el" href="_test_utils_8cpp_source.html#l00014">Connect()</a>, <a class="el" href="_serializer_8cpp_source.html#l02074">SerializerStrategy::ExecuteStrategy()</a>, <a class="el" href="_strategy_base_8hpp_source.html#l00033">StrategyBase&lt; DefaultStrategy &gt;::ExecuteStrategy()</a>, <a class="el" href="_subgraph_view_8cpp_source.html#l00396">SubgraphView::GetWorkingCopy()</a>, and <a class="el" href="_conversion_utils_8cpp_source.html#l01064">armnn_driver::IsConnectedToDequantize()</a>.</p>
</div>
</div>
<a id="aa6e3c075c888e7c16942a468a3aae33c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6e3c075c888e7c16942a468a3aae33c">&#9670;&nbsp;</a></span>InferOutputShapes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::vector&lt;<a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>&gt; InferOutputShapes </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>inputShapes</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Infer the shape of the output(s) based on the provided input shape(s) </p>
<p>Implemented in <a class="el" href="classarmnn_1_1_layer.html#a65ca562c882ad619684445a1402f415a">Layer</a>, <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>
</div>
</div>
<a id="a99cc75f524d831824c5f3730a88e9ca3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99cc75f524d831824c5f3730a88e9ca3">&#9670;&nbsp;</a></span>SetBackendId()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void SetBackendId </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarmnn_1_1_backend_id.html">BackendId</a> &amp;&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<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>
<p>By using <a class="el" href="classarmnn_1_1_i_connectable_layer.html#a99cc75f524d831824c5f3730a88e9ca3" 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_i_connectable_layer.html#a833170f92e96b3ef414b6cf6e5720d2b" title="Provide a hint for the optimizer as to which backend to prefer for this layer.">BackendSelectionHint()</a>. </p>
<p>Implemented in <a class="el" href="classarmnn_1_1_layer.html#a316670cb6b65902e017c32ca4bcb4b98">Layer</a>.</p>
<p class="reference">Referenced by <a class="el" href="_conversion_utils_8cpp_source.html#l00392">armnn_driver::ConvertPooling2d()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00520">armnn_driver::ConvertReduce()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00604">armnn_driver::ConvertToActivation()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00216">armnn_driver::ConvertToLayerInputHandle()</a>, and <a class="el" href="_conversion_utils_8cpp_source.html#l00906">armnn_driver::ProcessActivation()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/armnn/<a class="el" href="_i_network_8hpp_source.html">INetwork.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_i_connectable_layer.html">IConnectableLayer</a></li>
<li class="footer">Generated on Thu May 16 2024 09:31:56 for Arm NN by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>