blob: c8473c59b00fc5e161e68a131e12aa2f60f6a2a3 [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: TensorInfo 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.02</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_tensor_info.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="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classarmnn_1_1_tensor_info-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">TensorInfo Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="_tensor_8hpp_source.html">Tensor.hpp</a>&gt;</code></p>
<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:a072e6479d01aa341fae292f43d012945"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a072e6479d01aa341fae292f43d012945">DifferenceType</a> = std::vector&lt; <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &gt;::difference_type</td></tr>
<tr class="separator:a072e6479d01aa341fae292f43d012945"><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:a21c2ae9fa438faf42669dadda628080c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a21c2ae9fa438faf42669dadda628080c">TensorInfo</a> ()</td></tr>
<tr class="memdesc:a21c2ae9fa438faf42669dadda628080c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty (invalid) constructor. <a href="classarmnn_1_1_tensor_info.html#a21c2ae9fa438faf42669dadda628080c">More...</a><br /></td></tr>
<tr class="separator:a21c2ae9fa438faf42669dadda628080c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf2180cf334a3a58c122d45e7bea567d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#adf2180cf334a3a58c122d45e7bea567d">TensorInfo</a> (const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;shape, <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dataType, float quantizationScale=1.0f, int32_t quantizationOffset=0, bool isConstant=false)</td></tr>
<tr class="separator:adf2180cf334a3a58c122d45e7bea567d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35a1737605f6b189b67f659b463cdf52"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a35a1737605f6b189b67f659b463cdf52">TensorInfo</a> (unsigned int numDimensions, const unsigned int *dimensionSizes, <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dataType, float quantizationScale=1.0f, int32_t quantizationOffset=0, bool isConstant=false)</td></tr>
<tr class="separator:a35a1737605f6b189b67f659b463cdf52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20ef8da79251cbf4a70ec8a335f94e5a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a20ef8da79251cbf4a70ec8a335f94e5a">TensorInfo</a> (const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;shape, <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dataType, const std::vector&lt; float &gt; &amp;quantizationScales, unsigned int quantizationDim, bool isConstant=false)</td></tr>
<tr class="separator:a20ef8da79251cbf4a70ec8a335f94e5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82427ce9fa1e85bb8b785fbe1c8ad34e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a82427ce9fa1e85bb8b785fbe1c8ad34e">TensorInfo</a> (unsigned int numDimensions, const unsigned int *dimensionSizes, <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dataType, const std::vector&lt; float &gt; &amp;quantizationScales, unsigned int quantizationDim, bool isConstant=false)</td></tr>
<tr class="separator:a82427ce9fa1e85bb8b785fbe1c8ad34e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef0989e23ab5fc862df9981d3b371f63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#aef0989e23ab5fc862df9981d3b371f63">TensorInfo</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;other)</td></tr>
<tr class="separator:aef0989e23ab5fc862df9981d3b371f63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac45c8c0052476cd66ef732de76dd9bc8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#ac45c8c0052476cd66ef732de76dd9bc8">operator=</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;other)</td></tr>
<tr class="separator:ac45c8c0052476cd66ef732de76dd9bc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a586e1eec08e847abfeb3de3a4038c5ce"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a586e1eec08e847abfeb3de3a4038c5ce">operator==</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;other) const</td></tr>
<tr class="separator:a586e1eec08e847abfeb3de3a4038c5ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a944e616dc6fdde5287b17f2265307d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a2a944e616dc6fdde5287b17f2265307d">operator!=</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;other) const</td></tr>
<tr class="separator:a2a944e616dc6fdde5287b17f2265307d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b5d0f8a24e9d9238f412260a552acf8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a8b5d0f8a24e9d9238f412260a552acf8">GetShape</a> () const</td></tr>
<tr class="separator:a8b5d0f8a24e9d9238f412260a552acf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a350bcc7d86f7d9333340a0a04be078f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a350bcc7d86f7d9333340a0a04be078f6">GetShape</a> ()</td></tr>
<tr class="separator:a350bcc7d86f7d9333340a0a04be078f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe8889e8150beef5fd204b2d87b49298"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#abe8889e8150beef5fd204b2d87b49298">SetShape</a> (const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;newShape)</td></tr>
<tr class="separator:abe8889e8150beef5fd204b2d87b49298"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a157e27d41e9f6b21f0d3c025fa47dc24"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a> () const</td></tr>
<tr class="separator:a157e27d41e9f6b21f0d3c025fa47dc24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8846406ac37fbd2204f0be16ee05d5b7"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a8846406ac37fbd2204f0be16ee05d5b7">GetNumElements</a> () const</td></tr>
<tr class="separator:a8846406ac37fbd2204f0be16ee05d5b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea909c7327109228ef618d459015def3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#aea909c7327109228ef618d459015def3">GetDataType</a> () const</td></tr>
<tr class="separator:aea909c7327109228ef618d459015def3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71975fcec1464d639f1a78f73164d1bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a71975fcec1464d639f1a78f73164d1bd">SetDataType</a> (<a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> type)</td></tr>
<tr class="separator:a71975fcec1464d639f1a78f73164d1bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af672d1c9e2a120a18926cb645981fbb7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#af672d1c9e2a120a18926cb645981fbb7">HasMultipleQuantizationScales</a> () const</td></tr>
<tr class="separator:af672d1c9e2a120a18926cb645981fbb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab85cd8cc10c96a7c99c14042c251fc48"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#ab85cd8cc10c96a7c99c14042c251fc48">HasPerAxisQuantization</a> () const</td></tr>
<tr class="separator:ab85cd8cc10c96a7c99c14042c251fc48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bc11f1fa23ef42532f9fdd04d355270"><td class="memItemLeft" align="right" valign="top">std::vector&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a8bc11f1fa23ef42532f9fdd04d355270">GetQuantizationScales</a> () const</td></tr>
<tr class="separator:a8bc11f1fa23ef42532f9fdd04d355270"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a8675f9d64c3fb59e6af15362bb6332"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a1a8675f9d64c3fb59e6af15362bb6332">SetQuantizationScales</a> (const std::vector&lt; float &gt; &amp;scales)</td></tr>
<tr class="separator:a1a8675f9d64c3fb59e6af15362bb6332"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a047ca888c43bd7fb5702853bf72410d0"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a047ca888c43bd7fb5702853bf72410d0">GetQuantizationScale</a> () const</td></tr>
<tr class="separator:a047ca888c43bd7fb5702853bf72410d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a685739c4eb65a580e075282cfe6787d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a685739c4eb65a580e075282cfe6787d6">SetQuantizationScale</a> (float scale)</td></tr>
<tr class="separator:a685739c4eb65a580e075282cfe6787d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a770b51078da02f44a819e9f95d8058b5"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a770b51078da02f44a819e9f95d8058b5">GetQuantizationOffset</a> () const</td></tr>
<tr class="separator:a770b51078da02f44a819e9f95d8058b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63cbc581012c957f9d68d224ddc3e43c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a63cbc581012c957f9d68d224ddc3e43c">SetQuantizationOffset</a> (int32_t offset)</td></tr>
<tr class="separator:a63cbc581012c957f9d68d224ddc3e43c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b8fc85ce966c035d789cf22db5088a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; unsigned int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a8b8fc85ce966c035d789cf22db5088a1">GetQuantizationDim</a> () const</td></tr>
<tr class="separator:a8b8fc85ce966c035d789cf22db5088a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a519efe8ff6dc3aacdfe8a999415e3e4e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a519efe8ff6dc3aacdfe8a999415e3e4e">SetQuantizationDim</a> (const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; unsigned int &gt; &amp;quantizationDim)</td></tr>
<tr class="separator:a519efe8ff6dc3aacdfe8a999415e3e4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c00efeb540198b33b8558c76e5cc2dd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a7c00efeb540198b33b8558c76e5cc2dd">IsQuantized</a> () const</td></tr>
<tr class="separator:a7c00efeb540198b33b8558c76e5cc2dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a945263e85c27f3216a8323cfc16d8919"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a945263e85c27f3216a8323cfc16d8919">IsConstant</a> () const</td></tr>
<tr class="separator:a945263e85c27f3216a8323cfc16d8919"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ffca1e21bdfa7f945617acd606aac91"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a8ffca1e21bdfa7f945617acd606aac91">SetConstant</a> (const bool <a class="el" href="classarmnn_1_1_tensor_info.html#a945263e85c27f3216a8323cfc16d8919">IsConstant</a>=true)</td></tr>
<tr class="memdesc:a8ffca1e21bdfa7f945617acd606aac91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks the data corresponding to this tensor info as constant. <a href="classarmnn_1_1_tensor_info.html#a8ffca1e21bdfa7f945617acd606aac91">More...</a><br /></td></tr>
<tr class="separator:a8ffca1e21bdfa7f945617acd606aac91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22f377fc4e10dc1773a3f979061e85f1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#a22f377fc4e10dc1773a3f979061e85f1">IsTypeSpaceMatch</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;other) const</td></tr>
<tr class="memdesc:a22f377fc4e10dc1773a3f979061e85f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check that the types are the same and, if quantize, that the quantization parameters are the same. <a href="classarmnn_1_1_tensor_info.html#a22f377fc4e10dc1773a3f979061e85f1">More...</a><br /></td></tr>
<tr class="separator:a22f377fc4e10dc1773a3f979061e85f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcbdfb544ece4c31d0b37715ad0f3be0"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_tensor_info.html#abcbdfb544ece4c31d0b37715ad0f3be0">GetNumBytes</a> () const</td></tr>
<tr class="separator:abcbdfb544ece4c31d0b37715ad0f3be0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_async_execution_sample_8cpp-example.html#_a4">AsyncExecutionSample.cpp</a>, <a class="el" href="_custom_memory_allocator_sample_8cpp-example.html#_a11">CustomMemoryAllocatorSample.cpp</a>, <a class="el" href="_dynamic_sample_8cpp-example.html#_a7">DynamicSample.cpp</a>, and <a class="el" href="_simple_sample_8cpp-example.html#_a4">SimpleSample.cpp</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_tensor_8hpp_source.html#l00152">152</a> of file <a class="el" href="_tensor_8hpp_source.html">Tensor.hpp</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a072e6479d01aa341fae292f43d012945"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a072e6479d01aa341fae292f43d012945">&#9670;&nbsp;</a></span>DifferenceType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classarmnn_1_1_tensor_info.html#a072e6479d01aa341fae292f43d012945">DifferenceType</a> = std::vector&lt;<a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a>&gt;::difference_type</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8hpp_source.html#l00191">191</a> of file <a class="el" href="_tensor_8hpp_source.html">Tensor.hpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a21c2ae9fa438faf42669dadda628080c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21c2ae9fa438faf42669dadda628080c">&#9670;&nbsp;</a></span>TensorInfo() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Empty (invalid) constructor. </p>
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00341">341</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;: m_DataType(<a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>), m_IsConstant(<span class="keyword">false</span>)</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;{</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::Float32</a>.</p>
</div>
</div>
<a id="adf2180cf334a3a58c122d45e7bea567d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf2180cf334a3a58c122d45e7bea567d">&#9670;&nbsp;</a></span>TensorInfo() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;&#160;</td>
<td class="paramname"><em>shape</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
<td class="paramname"><em>dataType</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>quantizationScale</em> = <code>1.0f</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>quantizationOffset</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isConstant</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00346">346</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; : m_Shape(shape)</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; , m_DataType(dataType)</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; , m_IsConstant(isConstant)</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;{</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html#a685739c4eb65a580e075282cfe6787d6">SetQuantizationScale</a>(quantizationScale);</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html#a63cbc581012c957f9d68d224ddc3e43c">SetQuantizationOffset</a>(quantizationOffset);</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_tensor_8cpp_source.html#l00489">TensorInfo::SetQuantizationOffset()</a>, and <a class="el" href="_tensor_8cpp_source.html#l00473">TensorInfo::SetQuantizationScale()</a>.</p>
</div>
</div>
<a id="a35a1737605f6b189b67f659b463cdf52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35a1737605f6b189b67f659b463cdf52">&#9670;&nbsp;</a></span>TensorInfo() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>numDimensions</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned int *&#160;</td>
<td class="paramname"><em>dimensionSizes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
<td class="paramname"><em>dataType</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>quantizationScale</em> = <code>1.0f</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>quantizationOffset</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isConstant</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00359">359</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; : m_Shape(numDimensions, dimensionSizes), m_DataType(dataType), m_IsConstant(isConstant)</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;{</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html#a685739c4eb65a580e075282cfe6787d6">SetQuantizationScale</a>(quantizationScale);</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html#a63cbc581012c957f9d68d224ddc3e43c">SetQuantizationOffset</a>(quantizationOffset);</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_tensor_8cpp_source.html#l00489">TensorInfo::SetQuantizationOffset()</a>, and <a class="el" href="_tensor_8cpp_source.html#l00473">TensorInfo::SetQuantizationScale()</a>.</p>
</div>
</div>
<a id="a20ef8da79251cbf4a70ec8a335f94e5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20ef8da79251cbf4a70ec8a335f94e5a">&#9670;&nbsp;</a></span>TensorInfo() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;&#160;</td>
<td class="paramname"><em>shape</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
<td class="paramname"><em>dataType</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; float &gt; &amp;&#160;</td>
<td class="paramname"><em>quantizationScales</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>quantizationDim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isConstant</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00371">371</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; : m_Shape(shape)</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; , m_DataType(dataType)</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; , m_IsConstant(isConstant)</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;{</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html#a1a8675f9d64c3fb59e6af15362bb6332">SetQuantizationScales</a>(quantizationScales);</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html#a519efe8ff6dc3aacdfe8a999415e3e4e">SetQuantizationDim</a>(MakeOptional&lt;unsigned int&gt;(quantizationDim));</div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_tensor_8cpp_source.html#l00499">TensorInfo::SetQuantizationDim()</a>, and <a class="el" href="_tensor_8cpp_source.html#l00456">TensorInfo::SetQuantizationScales()</a>.</p>
</div>
</div>
<a id="a82427ce9fa1e85bb8b785fbe1c8ad34e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82427ce9fa1e85bb8b785fbe1c8ad34e">&#9670;&nbsp;</a></span>TensorInfo() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>numDimensions</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned int *&#160;</td>
<td class="paramname"><em>dimensionSizes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
<td class="paramname"><em>dataType</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; float &gt; &amp;&#160;</td>
<td class="paramname"><em>quantizationScales</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>quantizationDim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isConstant</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00384">384</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; : m_Shape(numDimensions, dimensionSizes)</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; , m_DataType(dataType)</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; , m_IsConstant(isConstant)</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;{</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html#a1a8675f9d64c3fb59e6af15362bb6332">SetQuantizationScales</a>(quantizationScales);</div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html#a519efe8ff6dc3aacdfe8a999415e3e4e">SetQuantizationDim</a>(MakeOptional&lt;unsigned int&gt;(quantizationDim));</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_tensor_8cpp_source.html#l00499">TensorInfo::SetQuantizationDim()</a>, and <a class="el" href="_tensor_8cpp_source.html#l00456">TensorInfo::SetQuantizationScales()</a>.</p>
</div>
</div>
<a id="aef0989e23ab5fc862df9981d3b371f63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef0989e23ab5fc862df9981d3b371f63">&#9670;&nbsp;</a></span>TensorInfo() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00398">398</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;: m_Shape(other.m_Shape)</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;, m_DataType(other.m_DataType)</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;, m_IsConstant(other.m_IsConstant)</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;, m_Quantization(other.m_Quantization)</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;{}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aea909c7327109228ef618d459015def3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea909c7327109228ef618d459015def3">&#9670;&nbsp;</a></span>GetDataType()</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="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> GetDataType </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8hpp_source.html#l00200">200</a> of file <a class="el" href="_tensor_8hpp_source.html">Tensor.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;{ <span class="keywordflow">return</span> m_DataType; }</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_layer_support_rules_8hpp_source.html#l00120">BiasAndWeightsTypesMatch::BiasAndWeightsTypesMatch()</a>, <a class="el" href="_parser_helper_8cpp_source.html#l00052">armnnUtils::CalculateReducedOutputTensoInfo()</a>, <a class="el" href="_parser_helper_8cpp_source.html#l00103">armnnUtils::CalculateStridedSliceOutputTensorInfo()</a>, <a class="el" href="_tosa_ref_tensor_handle_8cpp_source.html#l00172">TosaRefTensorHandle::CanBeImported()</a>, <a class="el" href="_ref_tensor_handle_8cpp_source.html#l00153">RefTensorHandle::CanBeImported()</a>, <a class="el" href="_cl_convert_fp16_to_fp32_workload_8cpp_source.html#l00044">armnn::ClConvertFp16ToFp32WorkloadValidate()</a>, <a class="el" href="_cl_convert_fp32_to_fp16_workload_8cpp_source.html#l00044">armnn::ClConvertFp32ToFp16WorkloadValidate()</a>, <a class="el" href="_quantize_operator_8cpp_source.html#l00013">ConvertQuantizeToTosaOperator()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00216">armnn_driver::ConvertToLayerInputHandle()</a>, <a class="el" href="_layer_8cpp_source.html#l00326">Layer::GetDataType()</a>, <a class="el" href="_tensor_8hpp_source.html#l00302">BaseTensor&lt; void * &gt;::GetDataType()</a>, <a class="el" href="_network_8cpp_source.html#l01020">armnn::GetLayerInOutDatatype()</a>, <a class="el" href="_fold_pad_into_layer2d_8hpp_source.html#l00026">armnn::optimizations::pad_fold::GetLowestElement()</a>, <a class="el" href="_tensor_handle_8cpp_source.html#l00015">armnn::GetUnpaddedTensorStrides()</a>, <a class="el" href="_neon_workload_utils_8hpp_source.html#l00068">armnn::InitializeArmComputeTensorData()</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="_sample_dynamic_layer_support_8cpp_source.html#l00052">SampleDynamicLayerSupport::IsAdditionSupported()</a>, <a class="el" href="_ref_layer_support_8cpp_source.html#l00990">RefLayerSupport::IsConvertFp16ToFp32Supported()</a>, <a class="el" href="_ref_layer_support_8cpp_source.html#l01010">RefLayerSupport::IsConvertFp32ToFp16Supported()</a>, <a class="el" href="_ref_layer_support_8cpp_source.html#l01030">RefLayerSupport::IsConvolution2dSupported()</a>, <a class="el" href="_ref_layer_support_8cpp_source.html#l01099">RefLayerSupport::IsConvolution3dSupported()</a>, <a class="el" href="_ref_layer_support_8cpp_source.html#l01226">RefLayerSupport::IsDepthwiseConvolutionSupported()</a>, <a class="el" href="_neon_layer_support_8cpp_source.html#l01149">NeonLayerSupport::IsFloorSupported()</a>, <a class="el" href="_neon_layer_support_8cpp_source.html#l01427">NeonLayerSupport::IsQLstmSupported()</a>, <a class="el" href="_cl_layer_support_8cpp_source.html#l01341">ClLayerSupport::IsQLstmSupported()</a>, <a class="el" href="_ref_layer_support_8cpp_source.html#l02771">RefLayerSupport::IsTransposeConvolution2dSupported()</a>, <a class="el" href="_neon_layer_support_8cpp_source.html#l01688">NeonLayerSupport::IsUnidirectionalSequenceLstmSupported()</a>, <a class="el" href="_lstm_8cpp_source.html#l00013">armnn::LstmImpl()</a>, <a class="el" href="_pad_8cpp_source.html#l00039">armnn::Pad()</a>, <a class="el" href="_workload_utils_8cpp_source.html#l00018">armnn::PermuteTensor()</a>, <a class="el" href="_convert_fp32_network_to_fp16_8hpp_source.html#l00018">ConvertFp32NetworkToFp16Impl::Run()</a>, <a class="el" href="_canonical_utils_8cpp_source.html#l00040">armnn_driver::SwizzleAndroidNn4dTensorToArmNn()</a>, <a class="el" href="_tensor_utils_8cpp_source.html#l00348">armnnUtils::ToFloatArray()</a>, <a class="el" href="_workload_data_8cpp_source.html#l00628">ArgMinMaxQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l01033">FullyConnectedQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l01249">Convolution2dQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l01326">Convolution3dQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l01388">DepthwiseConvolution2dQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l02495">QuantizeQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l02683">EqualQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l02304">ConvertFp16ToFp32QueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l02281">ConvertFp32ToFp16QueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l02707">GreaterQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l02757">GatherNdQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l02792">GatherQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l03052">TransposeConvolution2dQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l03738">ComparisonQueueDescriptor::Validate()</a>, and <a class="el" href="_workload_data_8cpp_source.html#l03861">LogicalBinaryQueueDescriptor::Validate()</a>.</p>
</div>
</div>
<a id="abcbdfb544ece4c31d0b37715ad0f3be0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcbdfb544ece4c31d0b37715ad0f3be0">&#9670;&nbsp;</a></span>GetNumBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int GetNumBytes </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00427">427</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;{</div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#aa02b9e06fb20fa3c13da0427e6ee5ab2">GetDataTypeSize</a>(m_DataType) * <a class="code" href="classarmnn_1_1_tensor_info.html#a8846406ac37fbd2204f0be16ee05d5b7">GetNumElements</a>();</div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_types_utils_8hpp_source.html#l00182">armnn::GetDataTypeSize()</a>, and <a class="el" href="_tensor_8hpp_source.html#l00198">TensorInfo::GetNumElements()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_tosa_ref_tensor_handle_8cpp_source.html#l00054">TosaRefTensorHandle::Allocate()</a>, <a class="el" href="_sample_tensor_handle_8cpp_source.html#l00052">SampleTensorHandle::Allocate()</a>, <a class="el" href="_ref_tensor_handle_8cpp_source.html#l00056">RefTensorHandle::Allocate()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00086">ConstTensorPin::ConstTensorPin()</a>, <a class="el" href="_onnx_parser_8cpp_source.html#l00602">armnnOnnxParser::CreateConstTensorImpl()</a>, <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00646">ArmnnPreparedModel::ExecuteWithDummyInputs()</a>, <a class="el" href="_tensor_8hpp_source.html#l00304">BaseTensor&lt; void * &gt;::GetNumBytes()</a>, <a class="el" href="_tosa_ref_tensor_handle_8cpp_source.html#l00043">TosaRefTensorHandle::Manage()</a>, <a class="el" href="_sample_tensor_handle_8cpp_source.html#l00047">SampleTensorHandle::Manage()</a>, <a class="el" href="_ref_tensor_handle_8cpp_source.html#l00045">RefTensorHandle::Manage()</a>, <a class="el" href="_workload_utils_8cpp_source.html#l00018">armnn::PermuteTensor()</a>, <a class="el" href="_workload_utils_8cpp_source.html#l00073">armnn::ReorderWeightChannelsForAcl()</a>, and <a class="el" href="_tensor_handle_8cpp_source.html#l00066">ScopedTensorHandle::ScopedTensorHandle()</a>.</p>
</div>
</div>
<a id="a157e27d41e9f6b21f0d3c025fa47dc24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a157e27d41e9f6b21f0d3c025fa47dc24">&#9670;&nbsp;</a></span>GetNumDimensions()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned int GetNumDimensions </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8hpp_source.html#l00197">197</a> of file <a class="el" href="_tensor_8hpp_source.html">Tensor.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;{ <span class="keywordflow">return</span> m_Shape.<a class="code" href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>(); }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_tensor_8cpp_source.html#l00174">TensorShape::GetNumDimensions()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_arg_min_max_8cpp_source.html#l00017">armnn::ArgMinMax()</a>, <a class="el" href="_batch_to_space_nd_8cpp_source.html#l00050">armnn::BatchToSpaceNd()</a>, <a class="el" href="_workload_utils_8cpp_source.html#l00312">armnn::CalculateGatherNdKeyIndices()</a>, <a class="el" href="_parser_helper_8cpp_source.html#l00052">armnnUtils::CalculateReducedOutputTensoInfo()</a>, <a class="el" href="_parser_helper_8cpp_source.html#l00103">armnnUtils::CalculateStridedSliceOutputTensorInfo()</a>, <a class="el" href="_neon_backend_optimization_utils_8hpp_source.html#l00014">armnn::CollapseLeadingUnitDimensions()</a>, <a class="el" href="_arm_compute_utils_8hpp_source.html#l00273">armnn::ComputeAclAxis()</a>, <a class="el" href="_arm_compute_utils_8hpp_source.html#l00347">armnn::ComputeReductionTensorShape()</a>, <a class="el" href="_arm_compute_utils_8hpp_source.html#l00227">armnn::ComputeSoftmaxAclAxis()</a>, <a class="el" href="_concatenate_8cpp_source.html#l00014">armnn::Concatenate()</a>, <a class="el" href="_subgraph_utils_8hpp_source.html#l00271">armnn::ConnectedToLayerType()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00520">armnn_driver::ConvertReduce()</a>, <a class="el" href="_gather_8cpp_source.html#l00015">armnn::Gather()</a>, <a class="el" href="_ref_fully_connected_workload_8cpp_source.html#l00016">armnn::GetNumActivations()</a>, <a class="el" href="_tensor_8hpp_source.html#l00303">BaseTensor&lt; void * &gt;::GetNumDimensions()</a>, <a class="el" href="_canonical_utils_8cpp_source.html#l00491">armnn_driver::IsDynamicTensor()</a>, <a class="el" href="_ref_layer_support_8cpp_source.html#l01925">RefLayerSupport::IsMeanSupported()</a>, <a class="el" href="_log_softmax_8cpp_source.html#l00029">armnn::LogSoftmax()</a>, <a class="el" href="_tf_lite_parser_8cpp_source.html#l02381">TfLiteParserImpl::OutputShapeOfSqueeze()</a>, <a class="el" href="_debug_8cpp_source.html#l00023">armnn::PrintOutput()</a>, <a class="el" href="_parser_helper_8cpp_source.html#l00019">armnnUtils::ProcessConcatInputTensorInfo()</a>, <a class="el" href="_reduce_8cpp_source.html#l00070">armnn::Reduce()</a>, <a class="el" href="_reverse_v2_impl_8cpp_source.html#l00078">armnn::ReverseV2()</a>, <a class="el" href="_permute_and_batch_to_space_as_depth_to_space_8hpp_source.html#l00021">PermuteAndBatchToSpaceAsDepthToSpaceImpl&lt; PermuteType &gt;::Run()</a>, <a class="el" href="_add_broadcast_reshape_layer_8hpp_source.html#l00027">AddBroadcastReshapeLayerImpl::Run()</a>, <a class="el" href="_softmax_8cpp_source.html#l00017">armnn::Softmax()</a>, <a class="el" href="_space_to_batch_nd_8cpp_source.html#l00048">armnn::SpaceToBatchNd()</a>, <a class="el" href="_splitter_8cpp_source.html#l00021">armnn::Split()</a>, <a class="el" href="_splitter_8hpp_source.html#l00017">armnn::Splitter()</a>, <a class="el" href="_stack_8cpp_source.html#l00012">armnn::Stack()</a>, <a class="el" href="_canonical_utils_8cpp_source.html#l00040">armnn_driver::SwizzleAndroidNn4dTensorToArmNn()</a>, <a class="el" href="_tile_8cpp_source.html#l00045">armnn::Tile()</a>, <a class="el" href="_workload_data_8cpp_source.html#l01033">FullyConnectedQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l02429">MeanQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l02473">PadQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l01704">InstanceNormalizationQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l01733">L2NormalizationQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l01848">SpaceToBatchNdQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l02584">StridedSliceQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l02757">GatherNdQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l02792">GatherQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l03630">SliceQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l04173">BatchMatMulQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l01623">ReverseV2QueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l04389">TileQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l00397">QueueDescriptor::ValidateTensorNumDimensions()</a>, and <a class="el" href="_reduce_layer_8cpp_source.html#l00044">ReduceLayer::ValidateTensorShapesFromInputs()</a>.</p>
</div>
</div>
<a id="a8846406ac37fbd2204f0be16ee05d5b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8846406ac37fbd2204f0be16ee05d5b7">&#9670;&nbsp;</a></span>GetNumElements()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned int GetNumElements </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8hpp_source.html#l00198">198</a> of file <a class="el" href="_tensor_8hpp_source.html">Tensor.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;{ <span class="keywordflow">return</span> m_Shape.<a class="code" href="classarmnn_1_1_tensor_shape.html#a8846406ac37fbd2204f0be16ee05d5b7">GetNumElements</a>(); }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_tensor_8cpp_source.html#l00181">TensorShape::GetNumElements()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_activation_8cpp_source.html#l00102">armnn::Activation()</a>, <a class="el" href="_tensor_utils_8cpp_source.html#l00296">armnnUtils::CheckSizes()</a>, <a class="el" href="_concatenate_8cpp_source.html#l00014">armnn::Concatenate()</a>, <a class="el" href="_onnx_parser_8cpp_source.html#l00602">armnnOnnxParser::CreateConstTensorImpl()</a>, <a class="el" href="_dequantize_8cpp_source.html#l00013">armnn::Dequantize()</a>, <a class="el" href="_detection_post_process_8cpp_source.html#l00141">armnn::DetectionPostProcess()</a>, <a class="el" href="_gather_8cpp_source.html#l00015">armnn::Gather()</a>, <a class="el" href="_tensor_8cpp_source.html#l00427">TensorInfo::GetNumBytes()</a>, <a class="el" href="_tensor_8hpp_source.html#l00305">BaseTensor&lt; void * &gt;::GetNumElements()</a>, <a class="el" href="_mirror_pad_8cpp_source.html#l00059">armnn::MirrorPad()</a>, <a class="el" href="_deserializer_8cpp_source.html#l02616">IDeserializer::DeserializerImpl::OutputShapeOfReshape()</a>, <a class="el" href="_tf_lite_parser_8cpp_source.html#l03262">TfLiteParserImpl::OutputShapeOfReshape()</a>, <a class="el" href="_pad_8cpp_source.html#l00039">armnn::Pad()</a>, <a class="el" href="_debug_8cpp_source.html#l00023">armnn::PrintOutput()</a>, <a class="el" href="_reduce_8cpp_source.html#l00070">armnn::Reduce()</a>, <a class="el" href="_reverse_v2_impl_8cpp_source.html#l00078">armnn::ReverseV2()</a>, <a class="el" href="_layer_support_rules_8hpp_source.html#l00148">ShapesAreSameTotalSize::ShapesAreSameTotalSize()</a>, <a class="el" href="_splitter_8cpp_source.html#l00021">armnn::Split()</a>, <a class="el" href="_splitter_8hpp_source.html#l00017">armnn::Splitter()</a>, <a class="el" href="_stack_8cpp_source.html#l00012">armnn::Stack()</a>, <a class="el" href="_tile_8cpp_source.html#l00045">armnn::Tile()</a>, <a class="el" href="_deserializer_8cpp_source.html#l00760">armnnDeserializer::ToConstTensor()</a>, <a class="el" href="_tensor_utils_8cpp_source.html#l00307">armnnUtils::ToFloatArray()</a>, and <a class="el" href="_workload_data_8cpp_source.html#l01848">SpaceToBatchNdQueueDescriptor::Validate()</a>.</p>
</div>
</div>
<a id="a8b8fc85ce966c035d789cf22db5088a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b8fc85ce966c035d789cf22db5088a1">&#9670;&nbsp;</a></span>GetQuantizationDim()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; unsigned int &gt; GetQuantizationDim </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00494">494</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;{</div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">return</span> m_Quantization.m_QuantizationDim;</div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_tensor_utils_8cpp_source.html#l00307">armnnUtils::ToFloatArray()</a>.</p>
</div>
</div>
<a id="a770b51078da02f44a819e9f95d8058b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a770b51078da02f44a819e9f95d8058b5">&#9670;&nbsp;</a></span>GetQuantizationOffset()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t GetQuantizationOffset </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00478">478</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;{</div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">if</span> (!m_Quantization.m_Offset.has_value())</div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; {</div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="comment">// NOTE: old default for backward compatibility</span></div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; }</div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; </div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">return</span> m_Quantization.m_Offset.value();</div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_quantize_operator_8cpp_source.html#l00013">ConvertQuantizeToTosaOperator()</a>, <a class="el" href="_fold_pad_into_layer2d_8hpp_source.html#l00026">armnn::optimizations::pad_fold::GetLowestElement()</a>, <a class="el" href="_fold_pad_into_layer2d_8hpp_source.html#l00021">armnn::optimizations::pad_fold::GetZeroElement()</a>, <a class="el" href="_tensor_8cpp_source.html#l00432">TensorInfo::IsTypeSpaceMatch()</a>, <a class="el" href="_layer_support_rules_8hpp_source.html#l00083">QuantizationParametersAreEqual::QuantizationParametersAreEqual()</a>, <a class="el" href="_tensor_utils_8cpp_source.html#l00307">armnnUtils::ToFloatArray()</a>, and <a class="el" href="_workload_data_8cpp_source.html#l03146">QLstmQueueDescriptor::Validate()</a>.</p>
</div>
</div>
<a id="a047ca888c43bd7fb5702853bf72410d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a047ca888c43bd7fb5702853bf72410d0">&#9670;&nbsp;</a></span>GetQuantizationScale()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float GetQuantizationScale </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00461">461</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;{</div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keywordflow">if</span> (m_Quantization.m_Scales.empty())</div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; {</div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="comment">// NOTE: old default for backward compatibility</span></div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">return</span> 1.0f;</div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; }</div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; </div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <a class="code" href="_assert_8hpp.html#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(!<a class="code" href="classarmnn_1_1_tensor_info.html#af672d1c9e2a120a18926cb645981fbb7">HasMultipleQuantizationScales</a>());</div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">return</span> m_Quantization.m_Scales[0];</div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_assert_8hpp_source.html#l00014">ARMNN_ASSERT</a>, and <a class="el" href="_tensor_8hpp_source.html#l00203">TensorInfo::HasMultipleQuantizationScales()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_quantize_operator_8cpp_source.html#l00013">ConvertQuantizeToTosaOperator()</a>, <a class="el" href="_fold_pad_into_layer2d_8hpp_source.html#l00026">armnn::optimizations::pad_fold::GetLowestElement()</a>, <a class="el" href="_tensor_8cpp_source.html#l00432">TensorInfo::IsTypeSpaceMatch()</a>, <a class="el" href="_layer_support_rules_8hpp_source.html#l00083">QuantizationParametersAreEqual::QuantizationParametersAreEqual()</a>, <a class="el" href="_tensor_utils_8cpp_source.html#l00307">armnnUtils::ToFloatArray()</a>, and <a class="el" href="_workload_data_8cpp_source.html#l03146">QLstmQueueDescriptor::Validate()</a>.</p>
</div>
</div>
<a id="a8bc11f1fa23ef42532f9fdd04d355270"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8bc11f1fa23ef42532f9fdd04d355270">&#9670;&nbsp;</a></span>GetQuantizationScales()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; float &gt; GetQuantizationScales </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00451">451</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;{</div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">return</span> m_Quantization.m_Scales;</div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_tensor_utils_8cpp_source.html#l00307">armnnUtils::ToFloatArray()</a>.</p>
</div>
</div>
<a id="a350bcc7d86f7d9333340a0a04be078f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a350bcc7d86f7d9333340a0a04be078f6">&#9670;&nbsp;</a></span>GetShape() <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"><a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>&amp; GetShape </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8hpp_source.html#l00194">194</a> of file <a class="el" href="_tensor_8hpp_source.html">Tensor.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;{ <span class="keywordflow">return</span> m_Shape; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a8b5d0f8a24e9d9238f412260a552acf8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b5d0f8a24e9d9238f412260a552acf8">&#9670;&nbsp;</a></span>GetShape() <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">const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>&amp; GetShape </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8hpp_source.html#l00193">193</a> of file <a class="el" href="_tensor_8hpp_source.html">Tensor.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;{ <span class="keywordflow">return</span> m_Shape; }</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_arg_min_max_8cpp_source.html#l00017">armnn::ArgMinMax()</a>, <a class="el" href="_batch_mat_mul_impl_8cpp_source.html#l00015">BatchMatMul::BatchMatMul()</a>, <a class="el" href="_batch_norm_impl_8cpp_source.html#l00018">armnn::BatchNormImpl()</a>, <a class="el" href="_batch_to_space_nd_8cpp_source.html#l00050">armnn::BatchToSpaceNd()</a>, <a class="el" href="_workload_utils_8cpp_source.html#l00312">armnn::CalculateGatherNdKeyIndices()</a>, <a class="el" href="_parser_helper_8cpp_source.html#l00052">armnnUtils::CalculateReducedOutputTensoInfo()</a>, <a class="el" href="_parser_helper_8cpp_source.html#l00103">armnnUtils::CalculateStridedSliceOutputTensorInfo()</a>, <a class="el" href="_cl_unidirectional_sequence_lstm_float_workload_8cpp_source.html#l00508">armnn::ClUnidirectionalSequenceLstmFloatWorkloadValidate()</a>, <a class="el" href="_neon_backend_optimization_utils_8hpp_source.html#l00014">armnn::CollapseLeadingUnitDimensions()</a>, <a class="el" href="_concatenate_8cpp_source.html#l00014">armnn::Concatenate()</a>, <a class="el" href="_workload_utils_8cpp_source.html#l00176">armnn::Convert1HWOTensorInfoToAcl()</a>, <a class="el" href="_workload_utils_8cpp_source.html#l00145">armnn::Convert1HWOTensorToAcl()</a>, <a class="el" href="_workload_utils_8cpp_source.html#l00207">armnn::Convert1HWOtoMIHW()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00392">armnn_driver::ConvertPooling2d()</a>, <a class="el" href="_quantize_operator_8cpp_source.html#l00013">ConvertQuantizeToTosaOperator()</a>, <a class="el" href="_workload_utils_8cpp_source.html#l00236">armnn::ConvertWeightTensorFromArmnnToAcl()</a>, <a class="el" href="_arm_compute_utils_8hpp_source.html#l00029">armnn::CreateAclNormalizationLayerInfoForL2Normalization()</a>, <a class="el" href="_onnx_parser_8cpp_source.html#l00602">armnnOnnxParser::CreateConstTensorImpl()</a>, <a class="el" href="_depth_to_space_8cpp_source.html#l00018">armnn::DepthToSpace()</a>, <a class="el" href="_detection_post_process_8cpp_source.html#l00141">armnn::DetectionPostProcess()</a>, <a class="el" href="_ref_elementwise_binary_workload_8cpp_source.html#l00027">armnn::ExecuteFunction()</a>, <a class="el" href="_gather_8cpp_source.html#l00015">armnn::Gather()</a>, <a class="el" href="_ref_fully_connected_workload_8cpp_source.html#l00016">armnn::GetNumActivations()</a>, <a class="el" href="_tosa_ref_tensor_handle_8hpp_source.html#l00044">TosaRefTensorHandle::GetShape()</a>, <a class="el" href="_sample_tensor_handle_8hpp_source.html#l00044">SampleTensorHandle::GetShape()</a>, <a class="el" href="_ref_tensor_handle_8hpp_source.html#l00048">RefTensorHandle::GetShape()</a>, <a class="el" href="_tensor_handle_8hpp_source.html#l00056">ConstTensorHandle::GetShape()</a>, <a class="el" href="_ref_tensor_handle_8hpp_source.html#l00111">RefTensorHandleDecorator::GetShape()</a>, <a class="el" href="_tensor_8hpp_source.html#l00299">BaseTensor&lt; void * &gt;::GetShape()</a>, <a class="el" href="_tensor_handle_8cpp_source.html#l00015">armnn::GetUnpaddedTensorStrides()</a>, <a class="el" href="_instance_norm_8cpp_source.html#l00018">armnn::InstanceNorm()</a>, <a class="el" href="_canonical_utils_8cpp_source.html#l00491">armnn_driver::IsDynamicTensor()</a>, <a class="el" href="_cl_layer_support_8cpp_source.html#l01484">ClLayerSupport::IsSplitterSupported()</a>, <a class="el" href="_neon_layer_support_8cpp_source.html#l01582">NeonLayerSupport::IsSplitterSupported()</a>, <a class="el" href="_log_softmax_8cpp_source.html#l00029">armnn::LogSoftmax()</a>, <a class="el" href="_lstm_8cpp_source.html#l00013">armnn::LstmImpl()</a>, <a class="el" href="_mirror_pad_8cpp_source.html#l00059">armnn::MirrorPad()</a>, <a class="el" href="_neon_unidirectional_sequence_lstm_float_workload_8cpp_source.html#l00510">armnn::NeonUnidirectionalSequenceLstmFloatWorkloadValidate()</a>, <a class="el" href="_neon_unidirectional_sequence_lstm_workload_8cpp_source.html#l00491">armnn::NeonUnidirectionalSequenceLstmWorkloadValidate()</a>, <a class="el" href="_tf_lite_parser_8cpp_source.html#l02381">TfLiteParserImpl::OutputShapeOfSqueeze()</a>, <a class="el" href="_pad_8cpp_source.html#l00039">armnn::Pad()</a>, <a class="el" href="_workload_utils_8cpp_source.html#l00018">armnn::PermuteTensor()</a>, <a class="el" href="_pooling2d_8cpp_source.html#l00142">armnn::Pooling2d()</a>, <a class="el" href="_pooling3d_8cpp_source.html#l00172">armnn::Pooling3d()</a>, <a class="el" href="_prelu_impl_8cpp_source.html#l00013">armnn::PreluImpl()</a>, <a class="el" href="_debug_8cpp_source.html#l00023">armnn::PrintOutput()</a>, <a class="el" href="_parser_helper_8cpp_source.html#l00019">armnnUtils::ProcessConcatInputTensorInfo()</a>, <a class="el" href="_reduce_8cpp_source.html#l00070">armnn::Reduce()</a>, <a class="el" href="_tensor_utils_8cpp_source.html#l00134">armnnUtils::ReduceDims()</a>, <a class="el" href="_ref_transpose_convolution2d_workload_8cpp_source.html#l00016">RefTransposeConvolution2dWorkload::RefTransposeConvolution2dWorkload()</a>, <a class="el" href="_workload_utils_8cpp_source.html#l00047">armnn::ReshapeWeightsForAcl()</a>, <a class="el" href="_resize_8cpp_source.html#l00065">armnn::Resize()</a>, <a class="el" href="_reverse_v2_impl_8cpp_source.html#l00078">armnn::ReverseV2()</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="_add_broadcast_reshape_layer_8hpp_source.html#l00027">AddBroadcastReshapeLayerImpl::Run()</a>, <a class="el" href="_fuse_batch_norm_8hpp_source.html#l00027">FuseBatchNorm&lt; ConvLayer, ArmnnType, T &gt;::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="_graph_8cpp_source.html#l00146">Graph::SerializeToDot()</a>, <a class="el" href="_layer_support_rules_8hpp_source.html#l00163">ShapesAreBroadcastCompatible::ShapesAreBroadcastCompatible()</a>, <a class="el" href="_layer_support_rules_8hpp_source.html#l00140">ShapesAreSameRank::ShapesAreSameRank()</a>, <a class="el" href="_slice_8cpp_source.html#l00014">armnn::Slice()</a>, <a class="el" href="_softmax_8cpp_source.html#l00017">armnn::Softmax()</a>, <a class="el" href="_space_to_batch_nd_8cpp_source.html#l00048">armnn::SpaceToBatchNd()</a>, <a class="el" href="_space_to_depth_8cpp_source.html#l00036">armnn::SpaceToDepth()</a>, <a class="el" href="_splitter_8cpp_source.html#l00021">armnn::Split()</a>, <a class="el" href="_splitter_8hpp_source.html#l00017">armnn::Splitter()</a>, <a class="el" href="_stack_8cpp_source.html#l00012">armnn::Stack()</a>, <a class="el" href="_strided_slice_8cpp_source.html#l00090">armnn::StridedSlice()</a>, <a class="el" href="_canonical_utils_8cpp_source.html#l00040">armnn_driver::SwizzleAndroidNn4dTensorToArmNn()</a>, <a class="el" href="_tile_8cpp_source.html#l00045">armnn::Tile()</a>, <a class="el" href="_tensor_utils_8cpp_source.html#l00307">armnnUtils::ToFloatArray()</a>, <a class="el" href="_workload_data_8cpp_source.html#l00628">ArgMinMaxQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l01492">PermuteQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l01388">DepthwiseConvolution2dQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l02827">DetectionPostProcessQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l01575">ResizeQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l01848">SpaceToBatchNdQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l01934">SpaceToDepthQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l02524">BatchToSpaceNdQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l03104">TransposeQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l03146">QLstmQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l03432">QuantizedLstmQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l03630">SliceQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l03685">DepthToSpaceQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l04173">BatchMatMulQueueDescriptor::Validate()</a>, <a class="el" href="_workload_data_8cpp_source.html#l00397">QueueDescriptor::ValidateTensorNumDimensions()</a>, <a class="el" href="_layer_8cpp_source.html#l00106">OutputSlot::ValidateTensorShape()</a>, <a class="el" href="_elementwise_base_layer_8cpp_source.html#l00061">ElementwiseBaseLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_quantize_layer_8cpp_source.html#l00033">QuantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_channel_shuffle_layer_8cpp_source.html#l00035">ChannelShuffleLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_activation_layer_8cpp_source.html#l00033">ActivationLayer::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="_cast_layer_8cpp_source.html#l00034">CastLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_softmax_layer_8cpp_source.html#l00034">SoftmaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_abs_layer_8cpp_source.html#l00036">AbsLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_stack_layer_8cpp_source.html#l00063">StackLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_transpose_layer_8cpp_source.html#l00045">TransposeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fake_quantization_layer_8cpp_source.html#l00034">FakeQuantizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_to_space_nd_layer_8cpp_source.html#l00038">BatchToSpaceNdLayer::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="_resize_layer_8cpp_source.html#l00063">ResizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pooling3d_layer_8cpp_source.html#l00109">Pooling3dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_instance_normalization_layer_8cpp_source.html#l00034">InstanceNormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_dequantize_layer_8cpp_source.html#l00033">DequantizeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pooling2d_layer_8cpp_source.html#l00105">Pooling2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_slice_layer_8cpp_source.html#l00037">SliceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mem_import_layer_8cpp_source.html#l00037">MemImportLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_l2_normalization_layer_8cpp_source.html#l00034">L2NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_debug_layer_8cpp_source.html#l00045">DebugLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_normalization_layer_8cpp_source.html#l00034">NormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_permute_layer_8cpp_source.html#l00045">PermuteLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_shape_layer_8cpp_source.html#l00037">ShapeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_rsqrt_layer_8cpp_source.html#l00036">RsqrtLayer::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="_merge_layer_8cpp_source.html#l00030">MergeLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_mean_layer_8cpp_source.html#l00044">MeanLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_pad_layer_8cpp_source.html#l00061">PadLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_log_softmax_layer_8cpp_source.html#l00034">LogSoftmaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reshape_layer_8cpp_source.html#l00041">ReshapeLayer::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#l00105">DepthwiseConvolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convolution2d_layer_8cpp_source.html#l00102">Convolution2dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_fully_connected_layer_8cpp_source.html#l00048">FullyConnectedLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_convolution3d_layer_8cpp_source.html#l00107">Convolution3dLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_gather_nd_layer_8cpp_source.html#l00078">GatherNdLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_elementwise_binary_layer_8cpp_source.html#l00069">ElementwiseBinaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_tile_layer_8cpp_source.html#l00057">TileLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00093">BatchMatMulLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_gather_layer_8cpp_source.html#l00074">GatherLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_detection_post_process_layer_8cpp_source.html#l00039">DetectionPostProcessLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_arg_min_max_layer_8cpp_source.html#l00074">ArgMinMaxLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_strided_slice_layer_8cpp_source.html#l00099">StridedSliceLayer::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#l00043">ElementwiseUnaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_reverse_v2_layer_8cpp_source.html#l00050">ReverseV2Layer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_prelu_layer_8cpp_source.html#l00100">PreluLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_logical_binary_layer_8cpp_source.html#l00058">LogicalBinaryLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_comparison_layer_8cpp_source.html#l00073">ComparisonLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_transpose_convolution2d_layer_8cpp_source.html#l00090">TransposeConvolution2dLayer::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#l00064">SpaceToDepthLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_depth_to_space_layer_8cpp_source.html#l00062">DepthToSpaceLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_splitter_layer_8cpp_source.html#l00215">SplitterLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_unidirectional_sequence_lstm_layer_8cpp_source.html#l00170">UnidirectionalSequenceLstmLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_lstm_layer_8cpp_source.html#l00168">LstmLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_concat_layer_8cpp_source.html#l00296">ConcatLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_batch_normalization_layer_8cpp_source.html#l00052">BatchNormalizationLayer::ValidateTensorShapesFromInputs()</a>, <a class="el" href="_quantized_lstm_layer_8cpp_source.html#l00096">QuantizedLstmLayer::ValidateTensorShapesFromInputs()</a>, and <a class="el" href="_q_lstm_layer_8cpp_source.html#l00170">QLstmLayer::ValidateTensorShapesFromInputs()</a>.</p>
</div>
</div>
<a id="af672d1c9e2a120a18926cb645981fbb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af672d1c9e2a120a18926cb645981fbb7">&#9670;&nbsp;</a></span>HasMultipleQuantizationScales()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool HasMultipleQuantizationScales </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8hpp_source.html#l00203">203</a> of file <a class="el" href="_tensor_8hpp_source.html">Tensor.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;{ <span class="keywordflow">return</span> m_Quantization.m_Scales.size() &gt; 1; }</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_tensor_8cpp_source.html#l00461">TensorInfo::GetQuantizationScale()</a>, <a class="el" href="_tensor_8cpp_source.html#l00446">TensorInfo::HasPerAxisQuantization()</a>, and <a class="el" href="_tensor_8cpp_source.html#l00432">TensorInfo::IsTypeSpaceMatch()</a>.</p>
</div>
</div>
<a id="ab85cd8cc10c96a7c99c14042c251fc48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab85cd8cc10c96a7c99c14042c251fc48">&#9670;&nbsp;</a></span>HasPerAxisQuantization()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool HasPerAxisQuantization </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00446">446</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160;{</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_tensor_info.html#af672d1c9e2a120a18926cb645981fbb7">HasMultipleQuantizationScales</a>() || m_Quantization.m_QuantizationDim.has_value();</div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_tensor_8hpp_source.html#l00203">TensorInfo::HasMultipleQuantizationScales()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_workload_utils_8cpp_source.html#l00207">armnn::Convert1HWOtoMIHW()</a>, and <a class="el" href="_tensor_utils_8cpp_source.html#l00307">armnnUtils::ToFloatArray()</a>.</p>
</div>
</div>
<a id="a945263e85c27f3216a8323cfc16d8919"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a945263e85c27f3216a8323cfc16d8919">&#9670;&nbsp;</a></span>IsConstant()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool IsConstant </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00509">509</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;{</div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keywordflow">return</span> m_IsConstant;</div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_neon_fully_connected_workload_8cpp_source.html#l00112">NeonFullyConnectedWorkload::Execute()</a>, <a class="el" href="_layer_with_parameters_8hpp_source.html#l00059">LayerWithParameters&lt; StridedSliceDescriptor &gt;::GetConnectedConstantAsInputTensors()</a>, <a class="el" href="_backend_helper_8cpp_source.html#l00371">LayerSupportHandle::IsConvolution2dSupported()</a>, <a class="el" href="_backend_helper_8cpp_source.html#l00472">LayerSupportHandle::IsDepthwiseConvolutionSupported()</a>, <a class="el" href="_backend_helper_8cpp_source.html#l00560">LayerSupportHandle::IsDilatedDepthwiseConvolutionSupported()</a>, <a class="el" href="_backend_helper_8cpp_source.html#l00703">LayerSupportHandle::IsFullyConnectedSupported()</a>, <a class="el" href="_neon_fully_connected_workload_8cpp_source.html#l00055">NeonFullyConnectedWorkload::NeonFullyConnectedWorkload()</a>, and <a class="el" href="_tensor_8cpp_source.html#l00514">TensorInfo::SetConstant()</a>.</p>
</div>
</div>
<a id="a7c00efeb540198b33b8558c76e5cc2dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c00efeb540198b33b8558c76e5cc2dd">&#9670;&nbsp;</a></span>IsQuantized()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool IsQuantized </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00504">504</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;{</div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#ad44c007f21af2d0375e3ef9400a1b275">IsQuantizedType</a>(m_DataType);</div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_types_utils_8hpp_source.html#l00311">armnn::IsQuantizedType()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_fold_pad_into_layer2d_8hpp_source.html#l00021">armnn::optimizations::pad_fold::GetZeroElement()</a>, <a class="el" href="_tensor_8cpp_source.html#l00432">TensorInfo::IsTypeSpaceMatch()</a>, <a class="el" href="_pad_8cpp_source.html#l00039">armnn::Pad()</a>, and <a class="el" href="_fold_pad_into_layer2d_8hpp_source.html#l00115">armnn::optimizations::pad_fold::TryFoldPadIntoLayer2d()</a>.</p>
</div>
</div>
<a id="a22f377fc4e10dc1773a3f979061e85f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22f377fc4e10dc1773a3f979061e85f1">&#9670;&nbsp;</a></span>IsTypeSpaceMatch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool IsTypeSpaceMatch </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Check that the types are the same and, if quantize, that the quantization parameters are the same. </p>
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00432">432</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;{</div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordtype">bool</span> match = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; </div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; match &amp;= m_DataType == other.m_DataType;</div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; </div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classarmnn_1_1_tensor_info.html#a7c00efeb540198b33b8558c76e5cc2dd">IsQuantized</a>() &amp;&amp; !<a class="code" href="classarmnn_1_1_tensor_info.html#af672d1c9e2a120a18926cb645981fbb7">HasMultipleQuantizationScales</a>())</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; {</div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; match &amp;= <a class="code" href="classarmnn_1_1_tensor_info.html#a047ca888c43bd7fb5702853bf72410d0">GetQuantizationScale</a>() == other.GetQuantizationScale() &amp;&amp;</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html#a770b51078da02f44a819e9f95d8058b5">GetQuantizationOffset</a>() == other.GetQuantizationOffset();</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; }</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordflow">return</span> match;</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_tensor_8cpp_source.html#l00478">TensorInfo::GetQuantizationOffset()</a>, <a class="el" href="_tensor_8cpp_source.html#l00461">TensorInfo::GetQuantizationScale()</a>, <a class="el" href="_tensor_8hpp_source.html#l00203">TensorInfo::HasMultipleQuantizationScales()</a>, and <a class="el" href="_tensor_8cpp_source.html#l00504">TensorInfo::IsQuantized()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_cl_layer_support_8cpp_source.html#l00818">ClLayerSupport::IsConcatSupported()</a>, <a class="el" href="_neon_layer_support_8cpp_source.html#l00896">NeonLayerSupport::IsConcatSupported()</a>, <a class="el" href="_neon_layer_support_8cpp_source.html#l01582">NeonLayerSupport::IsSplitterSupported()</a>, and <a class="el" href="_cl_layer_support_8cpp_source.html#l01484">ClLayerSupport::IsSplitterSupported()</a>.</p>
</div>
</div>
<a id="a2a944e616dc6fdde5287b17f2265307d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a944e616dc6fdde5287b17f2265307d">&#9670;&nbsp;</a></span>operator!=()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00422">422</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;{</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == other);</div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ac45c8c0052476cd66ef732de76dd9bc8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac45c8c0052476cd66ef732de76dd9bc8">&#9670;&nbsp;</a></span>operator=()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp; operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00405">405</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;{</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; m_Shape = other.m_Shape;</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; m_DataType = other.m_DataType;</div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; m_Quantization = other.m_Quantization;</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; m_IsConstant = other.m_IsConstant;</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a586e1eec08e847abfeb3de3a4038c5ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a586e1eec08e847abfeb3de3a4038c5ce">&#9670;&nbsp;</a></span>operator==()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00414">414</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;{</div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">return</span> ((m_Shape == other.m_Shape) &amp;&amp;</div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; (m_DataType == other.m_DataType) &amp;&amp;</div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; (m_Quantization == other.m_Quantization) &amp;&amp;</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; (m_IsConstant == other.m_IsConstant));</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a8ffca1e21bdfa7f945617acd606aac91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ffca1e21bdfa7f945617acd606aac91">&#9670;&nbsp;</a></span>SetConstant()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SetConstant </td>
<td>(</td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>IsConstant</em> = <code>true</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Marks the data corresponding to this tensor info as constant. </p>
<p>: This can allow further optimization on execution @Note: The user has to ensure that the underlying data actually is constant. </p>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_async_execution_sample_8cpp-example.html#a7">AsyncExecutionSample.cpp</a>, <a class="el" href="_dynamic_sample_8cpp-example.html#a14">DynamicSample.cpp</a>, and <a class="el" href="_simple_sample_8cpp-example.html#a7">SimpleSample.cpp</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00514">514</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;{</div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; m_IsConstant = <a class="code" href="classarmnn_1_1_tensor_info.html#a945263e85c27f3216a8323cfc16d8919">IsConstant</a>;</div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_tensor_8cpp_source.html#l00509">TensorInfo::IsConstant()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_tensor_8hpp_source.html#l00334">ConstTensor::ConstTensor()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00166">armnn_driver::ConvertOperandToConstTensorPin()</a>, <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00646">ArmnnPreparedModel::ExecuteWithDummyInputs()</a>, <a class="el" href="_tf_lite_parser_8cpp_source.html#l05892">TfLiteParserImpl::GetNetworkInputBindingInfo()</a>, <a class="el" href="_tensor_i_o_utils_8hpp_source.html#l00017">armnnUtils::MakeInputTensors()</a>, <a class="el" href="_workload_utils_8cpp_source.html#l00018">armnn::PermuteTensor()</a>, and <a class="el" href="_deserializer_8cpp_source.html#l00760">armnnDeserializer::ToConstTensor()</a>.</p>
</div>
</div>
<a id="a71975fcec1464d639f1a78f73164d1bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71975fcec1464d639f1a78f73164d1bd">&#9670;&nbsp;</a></span>SetDataType()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SetDataType </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
<td class="paramname"><em>type</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8hpp_source.html#l00201">201</a> of file <a class="el" href="_tensor_8hpp_source.html">Tensor.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;{ m_DataType = type; }</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_network_8cpp_source.html#l00847">armnn::AttemptBackendAssignment()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00166">armnn_driver::ConvertOperandToConstTensorPin()</a>, <a class="el" href="_data_type_utils_8hpp_source.html#l00017">ConvertToDataType()</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>, and <a class="el" href="_convert_fp32_network_to_fp16_8hpp_source.html#l00018">ConvertFp32NetworkToFp16Impl::Run()</a>.</p>
</div>
</div>
<a id="a519efe8ff6dc3aacdfe8a999415e3e4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a519efe8ff6dc3aacdfe8a999415e3e4e">&#9670;&nbsp;</a></span>SetQuantizationDim()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SetQuantizationDim </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; unsigned int &gt; &amp;&#160;</td>
<td class="paramname"><em>quantizationDim</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00499">499</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;{</div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; m_Quantization.m_QuantizationDim = quantizationDim;</div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_permute_8cpp_source.html#l00148">armnnUtils::Permuted()</a>, and <a class="el" href="_tensor_8cpp_source.html#l00371">TensorInfo::TensorInfo()</a>.</p>
</div>
</div>
<a id="a63cbc581012c957f9d68d224ddc3e43c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63cbc581012c957f9d68d224ddc3e43c">&#9670;&nbsp;</a></span>SetQuantizationOffset()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SetQuantizationOffset </td>
<td>(</td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>offset</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00489">489</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;{</div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; m_Quantization.m_Offset = MakeOptional&lt;int32_t&gt;(offset);</div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_tensor_8cpp_source.html#l00346">TensorInfo::TensorInfo()</a>.</p>
</div>
</div>
<a id="a685739c4eb65a580e075282cfe6787d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a685739c4eb65a580e075282cfe6787d6">&#9670;&nbsp;</a></span>SetQuantizationScale()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SetQuantizationScale </td>
<td>(</td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>scale</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00473">473</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;{</div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; m_Quantization.m_Scales = { scale };</div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_tensor_8cpp_source.html#l00346">TensorInfo::TensorInfo()</a>.</p>
</div>
</div>
<a id="a1a8675f9d64c3fb59e6af15362bb6332"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a8675f9d64c3fb59e6af15362bb6332">&#9670;&nbsp;</a></span>SetQuantizationScales()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SetQuantizationScales </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; float &gt; &amp;&#160;</td>
<td class="paramname"><em>scales</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8cpp_source.html#l00456">456</a> of file <a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;{</div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; m_Quantization.m_Scales = scales;</div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_tensor_8cpp_source.html#l00371">TensorInfo::TensorInfo()</a>.</p>
</div>
</div>
<a id="abe8889e8150beef5fd204b2d87b49298"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe8889e8150beef5fd204b2d87b49298">&#9670;&nbsp;</a></span>SetShape()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SetShape </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;&#160;</td>
<td class="paramname"><em>newShape</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_tensor_8hpp_source.html#l00195">195</a> of file <a class="el" href="_tensor_8hpp_source.html">Tensor.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;{ m_Shape = newShape; }</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_cl_gather_nd_workload_8cpp_source.html#l00099">ClGatherNdWorkload::ClGatherNdWorkload()</a>, <a class="el" href="_cl_gather_nd_workload_8cpp_source.html#l00016">armnn::ClGatherNdWorkloadValidate()</a>, <a class="el" href="_neon_backend_optimization_utils_8hpp_source.html#l00014">armnn::CollapseLeadingUnitDimensions()</a>, <a class="el" href="_workload_utils_8cpp_source.html#l00207">armnn::Convert1HWOtoMIHW()</a>, <a class="el" href="_conversion_utils_8cpp_source.html#l00166">armnn_driver::ConvertOperandToConstTensorPin()</a>, <a class="el" href="_neon_gather_nd_workload_8cpp_source.html#l00097">NeonGatherNdWorkload::NeonGatherNdWorkload()</a>, <a class="el" href="_neon_gather_nd_workload_8cpp_source.html#l00014">armnn::NeonGatherNdWorkloadValidate()</a>, <a class="el" href="_deserializer_8cpp_source.html#l02616">IDeserializer::DeserializerImpl::OutputShapeOfReshape()</a>, <a class="el" href="_tf_lite_parser_8cpp_source.html#l03262">TfLiteParserImpl::OutputShapeOfReshape()</a>, <a class="el" href="_tf_lite_parser_8cpp_source.html#l02381">TfLiteParserImpl::OutputShapeOfSqueeze()</a>, <a class="el" href="_permute_8cpp_source.html#l00148">armnnUtils::Permuted()</a>, <a class="el" href="_tensor_utils_8cpp_source.html#l00134">armnnUtils::ReduceDims()</a>, <a class="el" href="_subgraph_utils_8hpp_source.html#l00293">armnn::RemoveReshapeLayer()</a>, <a class="el" href="_workload_utils_8cpp_source.html#l00047">armnn::ReshapeWeightsForAcl()</a>, <a class="el" href="_add_broadcast_reshape_layer_8hpp_source.html#l00027">AddBroadcastReshapeLayerImpl::Run()</a>, and <a class="el" href="_transpose_8cpp_source.html#l00146">armnnUtils::TransposeTensorShape()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/armnn/<a class="el" href="_tensor_8hpp_source.html">Tensor.hpp</a></li>
<li>src/armnn/<a class="el" href="_tensor_8cpp_source.html">Tensor.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="a_assert_8hpp_html_a5698be69cbd5dfe6c28fcd9867e8cbed"><div class="ttname"><a href="_assert_8hpp.html#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a></div><div class="ttdeci">#define ARMNN_ASSERT(COND)</div><div class="ttdef"><b>Definition:</b> <a href="_assert_8hpp_source.html#l00014">Assert.hpp:14</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_tensor_info_html_a519efe8ff6dc3aacdfe8a999415e3e4e"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html#a519efe8ff6dc3aacdfe8a999415e3e4e">armnn::TensorInfo::SetQuantizationDim</a></div><div class="ttdeci">void SetQuantizationDim(const Optional&lt; unsigned int &gt; &amp;quantizationDim)</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8cpp_source.html#l00499">Tensor.cpp:499</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_tensor_info_html_a8846406ac37fbd2204f0be16ee05d5b7"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html#a8846406ac37fbd2204f0be16ee05d5b7">armnn::TensorInfo::GetNumElements</a></div><div class="ttdeci">unsigned int GetNumElements() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00198">Tensor.hpp:198</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_tensor_info_html_a047ca888c43bd7fb5702853bf72410d0"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html#a047ca888c43bd7fb5702853bf72410d0">armnn::TensorInfo::GetQuantizationScale</a></div><div class="ttdeci">float GetQuantizationScale() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8cpp_source.html#l00461">Tensor.cpp:461</a></div></div>
<div class="ttc" id="anamespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div><div class="ttdeci">@ Float32</div></div>
<div class="ttc" id="aclassarmnn_1_1_tensor_info_html_a945263e85c27f3216a8323cfc16d8919"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html#a945263e85c27f3216a8323cfc16d8919">armnn::TensorInfo::IsConstant</a></div><div class="ttdeci">bool IsConstant() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8cpp_source.html#l00509">Tensor.cpp:509</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_tensor_info_html_a685739c4eb65a580e075282cfe6787d6"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html#a685739c4eb65a580e075282cfe6787d6">armnn::TensorInfo::SetQuantizationScale</a></div><div class="ttdeci">void SetQuantizationScale(float scale)</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8cpp_source.html#l00473">Tensor.cpp:473</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_tensor_info_html_a1a8675f9d64c3fb59e6af15362bb6332"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html#a1a8675f9d64c3fb59e6af15362bb6332">armnn::TensorInfo::SetQuantizationScales</a></div><div class="ttdeci">void SetQuantizationScales(const std::vector&lt; float &gt; &amp;scales)</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8cpp_source.html#l00456">Tensor.cpp:456</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_tensor_shape_html_a157e27d41e9f6b21f0d3c025fa47dc24"><div class="ttname"><a href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">armnn::TensorShape::GetNumDimensions</a></div><div class="ttdeci">unsigned int GetNumDimensions() const</div><div class="ttdoc">Function that returns the tensor rank.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8cpp_source.html#l00174">Tensor.cpp:174</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_tensor_info_html_af672d1c9e2a120a18926cb645981fbb7"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html#af672d1c9e2a120a18926cb645981fbb7">armnn::TensorInfo::HasMultipleQuantizationScales</a></div><div class="ttdeci">bool HasMultipleQuantizationScales() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00203">Tensor.hpp:203</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_tensor_info_html_a7c00efeb540198b33b8558c76e5cc2dd"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html#a7c00efeb540198b33b8558c76e5cc2dd">armnn::TensorInfo::IsQuantized</a></div><div class="ttdeci">bool IsQuantized() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8cpp_source.html#l00504">Tensor.cpp:504</a></div></div>
<div class="ttc" id="anamespacearmnn_html_aa02b9e06fb20fa3c13da0427e6ee5ab2"><div class="ttname"><a href="namespacearmnn.html#aa02b9e06fb20fa3c13da0427e6ee5ab2">armnn::GetDataTypeSize</a></div><div class="ttdeci">constexpr unsigned int GetDataTypeSize(DataType dataType)</div><div class="ttdef"><b>Definition:</b> <a href="_types_utils_8hpp_source.html#l00182">TypesUtils.hpp:182</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_tensor_info_html_a63cbc581012c957f9d68d224ddc3e43c"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html#a63cbc581012c957f9d68d224ddc3e43c">armnn::TensorInfo::SetQuantizationOffset</a></div><div class="ttdeci">void SetQuantizationOffset(int32_t offset)</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8cpp_source.html#l00489">Tensor.cpp:489</a></div></div>
<div class="ttc" id="anamespacearmnn_html_ad44c007f21af2d0375e3ef9400a1b275"><div class="ttname"><a href="namespacearmnn.html#ad44c007f21af2d0375e3ef9400a1b275">armnn::IsQuantizedType</a></div><div class="ttdeci">constexpr bool IsQuantizedType()</div><div class="ttdef"><b>Definition:</b> <a href="_types_utils_8hpp_source.html#l00311">TypesUtils.hpp:311</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_tensor_info_html_a770b51078da02f44a819e9f95d8058b5"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html#a770b51078da02f44a819e9f95d8058b5">armnn::TensorInfo::GetQuantizationOffset</a></div><div class="ttdeci">int32_t GetQuantizationOffset() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8cpp_source.html#l00478">Tensor.cpp:478</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_tensor_shape_html_a8846406ac37fbd2204f0be16ee05d5b7"><div class="ttname"><a href="classarmnn_1_1_tensor_shape.html#a8846406ac37fbd2204f0be16ee05d5b7">armnn::TensorShape::GetNumElements</a></div><div class="ttdeci">unsigned int GetNumElements() const</div><div class="ttdoc">Function that calculates the tensor elements by multiplying all dimension size which are Specified.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8cpp_source.html#l00181">Tensor.cpp:181</a></div></div>
<!-- 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_tensor_info.html">TensorInfo</a></li>
<li class="footer">Generated on Wed Feb 14 2024 16:36:25 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>