aboutsummaryrefslogtreecommitdiff
path: root/23.02/structarmnn_1_1_slice_queue_descriptor.xhtml
diff options
context:
space:
mode:
authorDavid Monahan <david.monahan@arm.com>2023-03-22 16:48:58 +0000
committerDavid Monahan <david.monahan@arm.com>2023-03-22 16:48:58 +0000
commitae050524109f1ce827962665436ef7430f2ac479 (patch)
treea087fe0c77570971dd7979f2757426c24e91afc7 /23.02/structarmnn_1_1_slice_queue_descriptor.xhtml
parent8d2ca734165a068478df7cffa46185680b05cd20 (diff)
downloadarmnn-ae050524109f1ce827962665436ef7430f2ac479.tar.gz
IVGCVSW-7255 Update Doxygen Documentation and publish on GitHub.
* Updating Doxygen documentation for 23.02 release. Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I545574ff7664b4595d2fe6a91a3c35d2ad55df82
Diffstat (limited to '23.02/structarmnn_1_1_slice_queue_descriptor.xhtml')
-rw-r--r--23.02/structarmnn_1_1_slice_queue_descriptor.xhtml106
1 files changed, 81 insertions, 25 deletions
diff --git a/23.02/structarmnn_1_1_slice_queue_descriptor.xhtml b/23.02/structarmnn_1_1_slice_queue_descriptor.xhtml
index 498d63960a..90502914f6 100644
--- a/23.02/structarmnn_1_1_slice_queue_descriptor.xhtml
+++ b/23.02/structarmnn_1_1_slice_queue_descriptor.xhtml
@@ -8,7 +8,7 @@
<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.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ArmNN: SliceQueueDescriptor Struct Reference</title>
@@ -19,9 +19,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</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>
@@ -30,7 +27,8 @@
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
-</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
+</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="stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
@@ -51,18 +49,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- 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(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -76,7 +77,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structarmnn_1_1_slice_queue_descriptor.xhtml','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structarmnn_1_1_slice_queue_descriptor.xhtml',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -111,8 +114,8 @@ Inheritance diagram for SliceQueueDescriptor:</div>
<map id="SliceQueueDescriptor_map" name="SliceQueueDescriptor_map">
<area href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml" alt="QueueDescriptorWithParameters&lt; SliceDescriptor &gt;" shape="rect" coords="0,56,308,80"/>
<area href="structarmnn_1_1_queue_descriptor.xhtml" alt="QueueDescriptor" shape="rect" coords="0,0,308,24"/>
-</map>
- </div></div>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
@@ -184,20 +187,62 @@ Additional Inherited Members</h2></td></tr>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_workload_data_8cpp_source.xhtml#l03539">3539</a> of file <a class="el" href="_workload_data_8cpp_source.xhtml">WorkloadData.cpp</a>.</p>
-
-<p class="reference">References <a class="el" href="_tensor_8hpp_source.xhtml#l00195">TensorInfo::GetNumDimensions()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00191">TensorInfo::GetShape()</a>, <a class="el" href="include_2armnn_2backends_2_workload_info_8hpp_source.xhtml#l00018">WorkloadInfo::m_InputTensorInfos</a>, <a class="el" href="include_2armnn_2backends_2_workload_info_8hpp_source.xhtml#l00019">WorkloadInfo::m_OutputTensorInfos</a>, and <a class="el" href="_workload_data_8cpp_source.xhtml#l00426">QueueDescriptor::ValidateTensorNumDimensions()</a>.</p>
-<div class="fragment"><div class="line"><a name="l03540"></a><span class="lineno"> 3540</span>&#160;{</div><div class="line"><a name="l03541"></a><span class="lineno"> 3541</span>&#160; <span class="keyword">const</span> std::string descriptorName{<span class="stringliteral">&quot;SliceQueueDescriptor&quot;</span>};</div><div class="line"><a name="l03542"></a><span class="lineno"> 3542</span>&#160;</div><div class="line"><a name="l03543"></a><span class="lineno"> 3543</span>&#160; ValidateNumInputs(workloadInfo, descriptorName, 1);</div><div class="line"><a name="l03544"></a><span class="lineno"> 3544</span>&#160; ValidateNumOutputs(workloadInfo, descriptorName, 1);</div><div class="line"><a name="l03545"></a><span class="lineno"> 3545</span>&#160;</div><div class="line"><a name="l03546"></a><span class="lineno"> 3546</span>&#160; <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a>&amp; inputTensorInfo = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.xhtml#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[0];</div><div class="line"><a name="l03547"></a><span class="lineno"> 3547</span>&#160; <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a>&amp; outputTensorInfo = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.xhtml#a67b178f8a836bc1e52b8de109760adfd">m_OutputTensorInfos</a>[0];</div><div class="line"><a name="l03548"></a><span class="lineno"> 3548</span>&#160;</div><div class="line"><a name="l03549"></a><span class="lineno"> 3549</span>&#160; ValidateTensorDataTypesMatch(inputTensorInfo, outputTensorInfo, descriptorName, <span class="stringliteral">&quot;input&quot;</span>, <span class="stringliteral">&quot;output&quot;</span>);</div><div class="line"><a name="l03550"></a><span class="lineno"> 3550</span>&#160;</div><div class="line"><a name="l03551"></a><span class="lineno"> 3551</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rank = inputTensorInfo.<a class="code" href="classarmnn_1_1_tensor_info.xhtml#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>();</div><div class="line"><a name="l03552"></a><span class="lineno"> 3552</span>&#160; <span class="keywordflow">if</span> (rank &gt; 4)</div><div class="line"><a name="l03553"></a><span class="lineno"> 3553</span>&#160; {</div><div class="line"><a name="l03554"></a><span class="lineno"> 3554</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.xhtml">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Input tensors with rank greater than 4 are not supported.&quot;</span>);</div><div class="line"><a name="l03555"></a><span class="lineno"> 3555</span>&#160; }</div><div class="line"><a name="l03556"></a><span class="lineno"> 3556</span>&#160;</div><div class="line"><a name="l03557"></a><span class="lineno"> 3557</span>&#160; <a class="code" href="structarmnn_1_1_queue_descriptor.xhtml#a089f647d882d65f657d7984e5f505f7c">ValidateTensorNumDimensions</a>(outputTensorInfo, descriptorName, rank, <span class="stringliteral">&quot;output&quot;</span>);</div><div class="line"><a name="l03558"></a><span class="lineno"> 3558</span>&#160;</div><div class="line"><a name="l03559"></a><span class="lineno"> 3559</span>&#160; <span class="comment">// Check if m_Begin and m_Size have the expected length</span></div><div class="line"><a name="l03560"></a><span class="lineno"> 3560</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_slice_descriptor.xhtml#a4939f00778f08d6c6fec6f74c0a59b7e">m_Begin</a>.size() != rank)</div><div class="line"><a name="l03561"></a><span class="lineno"> 3561</span>&#160; {</div><div class="line"><a name="l03562"></a><span class="lineno"> 3562</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.xhtml">InvalidArgumentException</a>(descriptorName +</div><div class="line"><a name="l03563"></a><span class="lineno"> 3563</span>&#160; <span class="stringliteral">&quot;: Length of begin offset descriptor must equal rank &quot;</span> + std::to_string(rank));</div><div class="line"><a name="l03564"></a><span class="lineno"> 3564</span>&#160; }</div><div class="line"><a name="l03565"></a><span class="lineno"> 3565</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_slice_descriptor.xhtml#ab52cabf19232290fa6b49828ba957ac0">m_Size</a>.size() != rank)</div><div class="line"><a name="l03566"></a><span class="lineno"> 3566</span>&#160; {</div><div class="line"><a name="l03567"></a><span class="lineno"> 3567</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.xhtml">InvalidArgumentException</a>(descriptorName +</div><div class="line"><a name="l03568"></a><span class="lineno"> 3568</span>&#160; <span class="stringliteral">&quot;: Length of size descriptor must equal rank &quot;</span> + std::to_string(rank));</div><div class="line"><a name="l03569"></a><span class="lineno"> 3569</span>&#160; }</div><div class="line"><a name="l03570"></a><span class="lineno"> 3570</span>&#160;</div><div class="line"><a name="l03571"></a><span class="lineno"> 3571</span>&#160; <span class="comment">// Check if the shape of the output tensor matches m_Size</span></div><div class="line"><a name="l03572"></a><span class="lineno"> 3572</span>&#160; <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_shape.xhtml">TensorShape</a>&amp; outputShape = outputTensorInfo.<a class="code" href="classarmnn_1_1_tensor_info.xhtml#a8b5d0f8a24e9d9238f412260a552acf8">GetShape</a>();</div><div class="line"><a name="l03573"></a><span class="lineno"> 3573</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0u; i &lt; rank; ++i)</div><div class="line"><a name="l03574"></a><span class="lineno"> 3574</span>&#160; {</div><div class="line"><a name="l03575"></a><span class="lineno"> 3575</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_slice_descriptor.xhtml#ab52cabf19232290fa6b49828ba957ac0">m_Size</a>[i] != outputShape[i])</div><div class="line"><a name="l03576"></a><span class="lineno"> 3576</span>&#160; {</div><div class="line"><a name="l03577"></a><span class="lineno"> 3577</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.xhtml">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Size descriptor does not match output tensor.&quot;</span>);</div><div class="line"><a name="l03578"></a><span class="lineno"> 3578</span>&#160; }</div><div class="line"><a name="l03579"></a><span class="lineno"> 3579</span>&#160; }</div><div class="line"><a name="l03580"></a><span class="lineno"> 3580</span>&#160;</div><div class="line"><a name="l03581"></a><span class="lineno"> 3581</span>&#160; <span class="comment">// Check if the sum of begin offset and size in a given dimension</span></div><div class="line"><a name="l03582"></a><span class="lineno"> 3582</span>&#160; <span class="comment">// does not exceed the size of corresponding input</span></div><div class="line"><a name="l03583"></a><span class="lineno"> 3583</span>&#160; <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_shape.xhtml">TensorShape</a>&amp; inputShape = inputTensorInfo.<a class="code" href="classarmnn_1_1_tensor_info.xhtml#a8b5d0f8a24e9d9238f412260a552acf8">GetShape</a>();</div><div class="line"><a name="l03584"></a><span class="lineno"> 3584</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0u; i &lt; rank; ++i)</div><div class="line"><a name="l03585"></a><span class="lineno"> 3585</span>&#160; {</div><div class="line"><a name="l03586"></a><span class="lineno"> 3586</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_slice_descriptor.xhtml#a4939f00778f08d6c6fec6f74c0a59b7e">m_Begin</a>[i] + <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_slice_descriptor.xhtml#ab52cabf19232290fa6b49828ba957ac0">m_Size</a>[i] &gt; inputShape[i])</div><div class="line"><a name="l03587"></a><span class="lineno"> 3587</span>&#160; {</div><div class="line"><a name="l03588"></a><span class="lineno"> 3588</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.xhtml">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Sum of begin offset and size for dimension &quot;</span> +</div><div class="line"><a name="l03589"></a><span class="lineno"> 3589</span>&#160; std::to_string(i) + <span class="stringliteral">&quot; exceeds input size.&quot;</span>);</div><div class="line"><a name="l03590"></a><span class="lineno"> 3590</span>&#160; }</div><div class="line"><a name="l03591"></a><span class="lineno"> 3591</span>&#160; }</div><div class="line"><a name="l03592"></a><span class="lineno"> 3592</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_tensor_info_xhtml_a8b5d0f8a24e9d9238f412260a552acf8"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml#a8b5d0f8a24e9d9238f412260a552acf8">armnn::TensorInfo::GetShape</a></div><div class="ttdeci">const TensorShape &amp; GetShape() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00191">Tensor.hpp:191</a></div></div>
-<div class="ttc" id="classarmnn_1_1_tensor_info_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00152">Tensor.hpp:152</a></div></div>
-<div class="ttc" id="structarmnn_1_1_slice_descriptor_xhtml_ab52cabf19232290fa6b49828ba957ac0"><div class="ttname"><a href="structarmnn_1_1_slice_descriptor.xhtml#ab52cabf19232290fa6b49828ba957ac0">armnn::SliceDescriptor::m_Size</a></div><div class="ttdeci">std::vector&lt; unsigned int &gt; m_Size</div><div class="ttdoc">Size of the slice in each dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l01194">Descriptors.hpp:1194</a></div></div>
-<div class="ttc" id="classarmnn_1_1_tensor_shape_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_shape.xhtml">armnn::TensorShape</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00020">Tensor.hpp:20</a></div></div>
-<div class="ttc" id="structarmnn_1_1_queue_descriptor_with_parameters_xhtml_aad91b9bbf7aa365d304febe79a3d1333"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">armnn::QueueDescriptorWithParameters&lt; SliceDescriptor &gt;::m_Parameters</a></div><div class="ttdeci">SliceDescriptor m_Parameters</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00066">WorkloadData.hpp:66</a></div></div>
-<div class="ttc" id="structarmnn_1_1_workload_info_xhtml_ac97905bfa0daab357b91df1347600309"><div class="ttname"><a href="structarmnn_1_1_workload_info.xhtml#ac97905bfa0daab357b91df1347600309">armnn::WorkloadInfo::m_InputTensorInfos</a></div><div class="ttdeci">std::vector&lt; TensorInfo &gt; m_InputTensorInfos</div><div class="ttdef"><b>Definition:</b> <a href="include_2armnn_2backends_2_workload_info_8hpp_source.xhtml#l00018">WorkloadInfo.hpp:18</a></div></div>
-<div class="ttc" id="structarmnn_1_1_slice_descriptor_xhtml_a4939f00778f08d6c6fec6f74c0a59b7e"><div class="ttname"><a href="structarmnn_1_1_slice_descriptor.xhtml#a4939f00778f08d6c6fec6f74c0a59b7e">armnn::SliceDescriptor::m_Begin</a></div><div class="ttdeci">std::vector&lt; unsigned int &gt; m_Begin</div><div class="ttdoc">Beginning indices of the slice in each dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l01191">Descriptors.hpp:1191</a></div></div>
-<div class="ttc" id="structarmnn_1_1_workload_info_xhtml_a67b178f8a836bc1e52b8de109760adfd"><div class="ttname"><a href="structarmnn_1_1_workload_info.xhtml#a67b178f8a836bc1e52b8de109760adfd">armnn::WorkloadInfo::m_OutputTensorInfos</a></div><div class="ttdeci">std::vector&lt; TensorInfo &gt; m_OutputTensorInfos</div><div class="ttdef"><b>Definition:</b> <a href="include_2armnn_2backends_2_workload_info_8hpp_source.xhtml#l00019">WorkloadInfo.hpp:19</a></div></div>
-<div class="ttc" id="classarmnn_1_1_invalid_argument_exception_xhtml"><div class="ttname"><a href="classarmnn_1_1_invalid_argument_exception.xhtml">armnn::InvalidArgumentException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.xhtml#l00080">Exceptions.hpp:80</a></div></div>
-<div class="ttc" id="structarmnn_1_1_queue_descriptor_xhtml_a089f647d882d65f657d7984e5f505f7c"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor.xhtml#a089f647d882d65f657d7984e5f505f7c">armnn::QueueDescriptor::ValidateTensorNumDimensions</a></div><div class="ttdeci">void ValidateTensorNumDimensions(const TensorInfo &amp;tensor, std::string const &amp;descName, unsigned int numDimensions, std::string const &amp;tensorName) const</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8cpp_source.xhtml#l00426">WorkloadData.cpp:426</a></div></div>
-<div class="ttc" id="classarmnn_1_1_tensor_info_xhtml_a157e27d41e9f6b21f0d3c025fa47dc24"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml#a157e27d41e9f6b21f0d3c025fa47dc24">armnn::TensorInfo::GetNumDimensions</a></div><div class="ttdeci">unsigned int GetNumDimensions() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00195">Tensor.hpp:195</a></div></div>
+<div class="fragment"><div class="line"><a name="l03540"></a><span class="lineno"> 3540</span>&#160;{</div>
+<div class="line"><a name="l03541"></a><span class="lineno"> 3541</span>&#160; <span class="keyword">const</span> std::string descriptorName{<span class="stringliteral">&quot;SliceQueueDescriptor&quot;</span>};</div>
+<div class="line"><a name="l03542"></a><span class="lineno"> 3542</span>&#160; </div>
+<div class="line"><a name="l03543"></a><span class="lineno"> 3543</span>&#160; ValidateNumInputs(workloadInfo, descriptorName, 1);</div>
+<div class="line"><a name="l03544"></a><span class="lineno"> 3544</span>&#160; ValidateNumOutputs(workloadInfo, descriptorName, 1);</div>
+<div class="line"><a name="l03545"></a><span class="lineno"> 3545</span>&#160; </div>
+<div class="line"><a name="l03546"></a><span class="lineno"> 3546</span>&#160; <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a>&amp; inputTensorInfo = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.xhtml#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[0];</div>
+<div class="line"><a name="l03547"></a><span class="lineno"> 3547</span>&#160; <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a>&amp; outputTensorInfo = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.xhtml#a67b178f8a836bc1e52b8de109760adfd">m_OutputTensorInfos</a>[0];</div>
+<div class="line"><a name="l03548"></a><span class="lineno"> 3548</span>&#160; </div>
+<div class="line"><a name="l03549"></a><span class="lineno"> 3549</span>&#160; ValidateTensorDataTypesMatch(inputTensorInfo, outputTensorInfo, descriptorName, <span class="stringliteral">&quot;input&quot;</span>, <span class="stringliteral">&quot;output&quot;</span>);</div>
+<div class="line"><a name="l03550"></a><span class="lineno"> 3550</span>&#160; </div>
+<div class="line"><a name="l03551"></a><span class="lineno"> 3551</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rank = inputTensorInfo.<a class="code" href="classarmnn_1_1_tensor_info.xhtml#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>();</div>
+<div class="line"><a name="l03552"></a><span class="lineno"> 3552</span>&#160; <span class="keywordflow">if</span> (rank &gt; 4)</div>
+<div class="line"><a name="l03553"></a><span class="lineno"> 3553</span>&#160; {</div>
+<div class="line"><a name="l03554"></a><span class="lineno"> 3554</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.xhtml">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Input tensors with rank greater than 4 are not supported.&quot;</span>);</div>
+<div class="line"><a name="l03555"></a><span class="lineno"> 3555</span>&#160; }</div>
+<div class="line"><a name="l03556"></a><span class="lineno"> 3556</span>&#160; </div>
+<div class="line"><a name="l03557"></a><span class="lineno"> 3557</span>&#160; <a class="code" href="structarmnn_1_1_queue_descriptor.xhtml#a089f647d882d65f657d7984e5f505f7c">ValidateTensorNumDimensions</a>(outputTensorInfo, descriptorName, rank, <span class="stringliteral">&quot;output&quot;</span>);</div>
+<div class="line"><a name="l03558"></a><span class="lineno"> 3558</span>&#160; </div>
+<div class="line"><a name="l03559"></a><span class="lineno"> 3559</span>&#160; <span class="comment">// Check if m_Begin and m_Size have the expected length</span></div>
+<div class="line"><a name="l03560"></a><span class="lineno"> 3560</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_slice_descriptor.xhtml#a4939f00778f08d6c6fec6f74c0a59b7e">m_Begin</a>.size() != rank)</div>
+<div class="line"><a name="l03561"></a><span class="lineno"> 3561</span>&#160; {</div>
+<div class="line"><a name="l03562"></a><span class="lineno"> 3562</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.xhtml">InvalidArgumentException</a>(descriptorName +</div>
+<div class="line"><a name="l03563"></a><span class="lineno"> 3563</span>&#160; <span class="stringliteral">&quot;: Length of begin offset descriptor must equal rank &quot;</span> + std::to_string(rank));</div>
+<div class="line"><a name="l03564"></a><span class="lineno"> 3564</span>&#160; }</div>
+<div class="line"><a name="l03565"></a><span class="lineno"> 3565</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_slice_descriptor.xhtml#ab52cabf19232290fa6b49828ba957ac0">m_Size</a>.size() != rank)</div>
+<div class="line"><a name="l03566"></a><span class="lineno"> 3566</span>&#160; {</div>
+<div class="line"><a name="l03567"></a><span class="lineno"> 3567</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.xhtml">InvalidArgumentException</a>(descriptorName +</div>
+<div class="line"><a name="l03568"></a><span class="lineno"> 3568</span>&#160; <span class="stringliteral">&quot;: Length of size descriptor must equal rank &quot;</span> + std::to_string(rank));</div>
+<div class="line"><a name="l03569"></a><span class="lineno"> 3569</span>&#160; }</div>
+<div class="line"><a name="l03570"></a><span class="lineno"> 3570</span>&#160; </div>
+<div class="line"><a name="l03571"></a><span class="lineno"> 3571</span>&#160; <span class="comment">// Check if the shape of the output tensor matches m_Size</span></div>
+<div class="line"><a name="l03572"></a><span class="lineno"> 3572</span>&#160; <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_shape.xhtml">TensorShape</a>&amp; outputShape = outputTensorInfo.<a class="code" href="classarmnn_1_1_tensor_info.xhtml#a8b5d0f8a24e9d9238f412260a552acf8">GetShape</a>();</div>
+<div class="line"><a name="l03573"></a><span class="lineno"> 3573</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0u; i &lt; rank; ++i)</div>
+<div class="line"><a name="l03574"></a><span class="lineno"> 3574</span>&#160; {</div>
+<div class="line"><a name="l03575"></a><span class="lineno"> 3575</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_slice_descriptor.xhtml#ab52cabf19232290fa6b49828ba957ac0">m_Size</a>[i] != outputShape[i])</div>
+<div class="line"><a name="l03576"></a><span class="lineno"> 3576</span>&#160; {</div>
+<div class="line"><a name="l03577"></a><span class="lineno"> 3577</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.xhtml">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Size descriptor does not match output tensor.&quot;</span>);</div>
+<div class="line"><a name="l03578"></a><span class="lineno"> 3578</span>&#160; }</div>
+<div class="line"><a name="l03579"></a><span class="lineno"> 3579</span>&#160; }</div>
+<div class="line"><a name="l03580"></a><span class="lineno"> 3580</span>&#160; </div>
+<div class="line"><a name="l03581"></a><span class="lineno"> 3581</span>&#160; <span class="comment">// Check if the sum of begin offset and size in a given dimension</span></div>
+<div class="line"><a name="l03582"></a><span class="lineno"> 3582</span>&#160; <span class="comment">// does not exceed the size of corresponding input</span></div>
+<div class="line"><a name="l03583"></a><span class="lineno"> 3583</span>&#160; <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_shape.xhtml">TensorShape</a>&amp; inputShape = inputTensorInfo.<a class="code" href="classarmnn_1_1_tensor_info.xhtml#a8b5d0f8a24e9d9238f412260a552acf8">GetShape</a>();</div>
+<div class="line"><a name="l03584"></a><span class="lineno"> 3584</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0u; i &lt; rank; ++i)</div>
+<div class="line"><a name="l03585"></a><span class="lineno"> 3585</span>&#160; {</div>
+<div class="line"><a name="l03586"></a><span class="lineno"> 3586</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_slice_descriptor.xhtml#a4939f00778f08d6c6fec6f74c0a59b7e">m_Begin</a>[i] + <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_slice_descriptor.xhtml#ab52cabf19232290fa6b49828ba957ac0">m_Size</a>[i] &gt; inputShape[i])</div>
+<div class="line"><a name="l03587"></a><span class="lineno"> 3587</span>&#160; {</div>
+<div class="line"><a name="l03588"></a><span class="lineno"> 3588</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.xhtml">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Sum of begin offset and size for dimension &quot;</span> +</div>
+<div class="line"><a name="l03589"></a><span class="lineno"> 3589</span>&#160; std::to_string(i) + <span class="stringliteral">&quot; exceeds input size.&quot;</span>);</div>
+<div class="line"><a name="l03590"></a><span class="lineno"> 3590</span>&#160; }</div>
+<div class="line"><a name="l03591"></a><span class="lineno"> 3591</span>&#160; }</div>
+<div class="line"><a name="l03592"></a><span class="lineno"> 3592</span>&#160;}</div>
</div><!-- fragment -->
+<p class="reference">References <a class="el" href="_tensor_8hpp_source.xhtml#l00195">TensorInfo::GetNumDimensions()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00191">TensorInfo::GetShape()</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l01191">SliceDescriptor::m_Begin</a>, <a class="el" href="include_2armnn_2backends_2_workload_info_8hpp_source.xhtml#l00018">WorkloadInfo::m_InputTensorInfos</a>, <a class="el" href="include_2armnn_2backends_2_workload_info_8hpp_source.xhtml#l00019">WorkloadInfo::m_OutputTensorInfos</a>, <a class="el" href="_workload_data_8hpp_source.xhtml#l00066">QueueDescriptorWithParameters&lt; SliceDescriptor &gt;::m_Parameters</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l01194">SliceDescriptor::m_Size</a>, and <a class="el" href="_workload_data_8cpp_source.xhtml#l00426">QueueDescriptor::ValidateTensorNumDimensions()</a>.</p>
+
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
@@ -206,13 +251,24 @@ Additional Inherited Members</h2></td></tr>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassarmnn_1_1_tensor_shape_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_shape.xhtml">armnn::TensorShape</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00020">Tensor.hpp:20</a></div></div>
+<div class="ttc" id="astructarmnn_1_1_workload_info_xhtml_a67b178f8a836bc1e52b8de109760adfd"><div class="ttname"><a href="structarmnn_1_1_workload_info.xhtml#a67b178f8a836bc1e52b8de109760adfd">armnn::WorkloadInfo::m_OutputTensorInfos</a></div><div class="ttdeci">std::vector&lt; TensorInfo &gt; m_OutputTensorInfos</div><div class="ttdef"><b>Definition:</b> <a href="include_2armnn_2backends_2_workload_info_8hpp_source.xhtml#l00019">WorkloadInfo.hpp:19</a></div></div>
+<div class="ttc" id="aclassarmnn_1_1_tensor_info_xhtml_a157e27d41e9f6b21f0d3c025fa47dc24"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml#a157e27d41e9f6b21f0d3c025fa47dc24">armnn::TensorInfo::GetNumDimensions</a></div><div class="ttdeci">unsigned int GetNumDimensions() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00195">Tensor.hpp:195</a></div></div>
+<div class="ttc" id="astructarmnn_1_1_queue_descriptor_xhtml_a089f647d882d65f657d7984e5f505f7c"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor.xhtml#a089f647d882d65f657d7984e5f505f7c">armnn::QueueDescriptor::ValidateTensorNumDimensions</a></div><div class="ttdeci">void ValidateTensorNumDimensions(const TensorInfo &amp;tensor, std::string const &amp;descName, unsigned int numDimensions, std::string const &amp;tensorName) const</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8cpp_source.xhtml#l00426">WorkloadData.cpp:426</a></div></div>
+<div class="ttc" id="aclassarmnn_1_1_tensor_info_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00152">Tensor.hpp:152</a></div></div>
+<div class="ttc" id="aclassarmnn_1_1_tensor_info_xhtml_a8b5d0f8a24e9d9238f412260a552acf8"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml#a8b5d0f8a24e9d9238f412260a552acf8">armnn::TensorInfo::GetShape</a></div><div class="ttdeci">const TensorShape &amp; GetShape() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00191">Tensor.hpp:191</a></div></div>
+<div class="ttc" id="astructarmnn_1_1_slice_descriptor_xhtml_ab52cabf19232290fa6b49828ba957ac0"><div class="ttname"><a href="structarmnn_1_1_slice_descriptor.xhtml#ab52cabf19232290fa6b49828ba957ac0">armnn::SliceDescriptor::m_Size</a></div><div class="ttdeci">std::vector&lt; unsigned int &gt; m_Size</div><div class="ttdoc">Size of the slice in each dimension.</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l01194">Descriptors.hpp:1194</a></div></div>
+<div class="ttc" id="astructarmnn_1_1_queue_descriptor_with_parameters_xhtml_aad91b9bbf7aa365d304febe79a3d1333"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">armnn::QueueDescriptorWithParameters&lt; SliceDescriptor &gt;::m_Parameters</a></div><div class="ttdeci">SliceDescriptor m_Parameters</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00066">WorkloadData.hpp:66</a></div></div>
+<div class="ttc" id="astructarmnn_1_1_slice_descriptor_xhtml_a4939f00778f08d6c6fec6f74c0a59b7e"><div class="ttname"><a href="structarmnn_1_1_slice_descriptor.xhtml#a4939f00778f08d6c6fec6f74c0a59b7e">armnn::SliceDescriptor::m_Begin</a></div><div class="ttdeci">std::vector&lt; unsigned int &gt; m_Begin</div><div class="ttdoc">Beginning indices of the slice in each dimension.</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l01191">Descriptors.hpp:1191</a></div></div>
+<div class="ttc" id="aclassarmnn_1_1_invalid_argument_exception_xhtml"><div class="ttname"><a href="classarmnn_1_1_invalid_argument_exception.xhtml">armnn::InvalidArgumentException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.xhtml#l00080">Exceptions.hpp:80</a></div></div>
+<div class="ttc" id="astructarmnn_1_1_workload_info_xhtml_ac97905bfa0daab357b91df1347600309"><div class="ttname"><a href="structarmnn_1_1_workload_info.xhtml#ac97905bfa0daab357b91df1347600309">armnn::WorkloadInfo::m_InputTensorInfos</a></div><div class="ttdeci">std::vector&lt; TensorInfo &gt; m_InputTensorInfos</div><div class="ttdef"><b>Definition:</b> <a href="include_2armnn_2backends_2_workload_info_8hpp_source.xhtml#l00018">WorkloadInfo.hpp:18</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.xhtml">armnn</a></li><li class="navelem"><a class="el" href="structarmnn_1_1_slice_queue_descriptor.xhtml">SliceQueueDescriptor</a></li>
- <li class="footer">Generated on Fri Feb 24 2023 10:24:33 for ArmNN by
+ <li class="footer">Generated on Wed Mar 22 2023 15:53:08 for ArmNN by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>