diff options
Diffstat (limited to '21.02/structarmnn_1_1_q_lstm_queue_descriptor.xhtml')
-rw-r--r-- | 21.02/structarmnn_1_1_q_lstm_queue_descriptor.xhtml | 713 |
1 files changed, 713 insertions, 0 deletions
diff --git a/21.02/structarmnn_1_1_q_lstm_queue_descriptor.xhtml b/21.02/structarmnn_1_1_q_lstm_queue_descriptor.xhtml new file mode 100644 index 0000000000..c7adc36332 --- /dev/null +++ b/21.02/structarmnn_1_1_q_lstm_queue_descriptor.xhtml @@ -0,0 +1,713 @@ +<!-- Copyright (c) 2020 ARM Limited. --> +<!-- --> +<!-- SPDX-License-Identifier: MIT --> +<!-- --> +<!-- HTML header for doxygen 1.8.13--> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.13"/> +<meta name="robots" content="NOINDEX, NOFOLLOW" /> +<meta name="viewport" content="width=device-width, initial-scale=1"/> +<title>ArmNN: QLstmQueueDescriptor Struct 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> +<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> +<script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + extensions: ["tex2jax.js"], + jax: ["input/TeX","output/HTML-CSS"], +}); +</script><script type="text/javascript" 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> +<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: 10rem; margin-top: .5rem; margin-left 10px"/> + <td style="padding-left: 0.5em;"> + <div id="projectname"> +  <span id="projectnumber">21.02</span> + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',true,false,'search.php','Search'); + $(document).ready(function() { init_search(); }); +}); +</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"> +$(document).ready(function(){initNavTree('structarmnn_1_1_q_lstm_queue_descriptor.xhtml','');}); +</script> +<div id="doc-content"> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="header"> + <div class="summary"> +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pub-attribs">Public Attributes</a> | +<a href="structarmnn_1_1_q_lstm_queue_descriptor-members.xhtml">List of all members</a> </div> + <div class="headertitle"> +<div class="title">QLstmQueueDescriptor Struct Reference</div> </div> +</div><!--header--> +<div class="contents"> + +<p><code>#include <<a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>></code></p> +<div class="dynheader"> +Inheritance diagram for QLstmQueueDescriptor:</div> +<div class="dyncontent"> + <div class="center"> + <img src="structarmnn_1_1_q_lstm_queue_descriptor.png" usemap="#QLstmQueueDescriptor_map" alt=""/> + <map id="QLstmQueueDescriptor_map" name="QLstmQueueDescriptor_map"> +<area href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml" alt="QueueDescriptorWithParameters< QLstmDescriptor >" shape="rect" coords="0,56,315,80"/> +<area href="structarmnn_1_1_queue_descriptor.xhtml" alt="QueueDescriptor" shape="rect" coords="0,0,315,24"/> +</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> +<tr class="memitem:ae632fa69e135c7871fcecf4658a0a634"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#ae632fa69e135c7871fcecf4658a0a634">QLstmQueueDescriptor</a> ()</td></tr> +<tr class="separator:ae632fa69e135c7871fcecf4658a0a634"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a041e495449e22774a34d92b0904c10bf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a041e495449e22774a34d92b0904c10bf">Validate</a> (const <a class="el" href="structarmnn_1_1_workload_info.xhtml">WorkloadInfo</a> &workloadInfo) const</td></tr> +<tr class="separator:a041e495449e22774a34d92b0904c10bf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="inherit_header pub_methods_structarmnn_1_1_queue_descriptor"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structarmnn_1_1_queue_descriptor')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="structarmnn_1_1_queue_descriptor.xhtml">QueueDescriptor</a></td></tr> +<tr class="memitem:a765d2cee4ccce5b9467e0c2b6d25b84a inherit pub_methods_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#a765d2cee4ccce5b9467e0c2b6d25b84a">ValidateInputsOutputs</a> (const std::string &descName, unsigned int numExpectedIn, unsigned int numExpectedOut) const</td></tr> +<tr class="separator:a765d2cee4ccce5b9467e0c2b6d25b84a inherit pub_methods_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a0428f0a7927f8c29264d9c9a287840da inherit pub_methods_structarmnn_1_1_queue_descriptor"><td class="memTemplParams" colspan="2">template<typename T > </td></tr> +<tr class="memitem:a0428f0a7927f8c29264d9c9a287840da inherit pub_methods_structarmnn_1_1_queue_descriptor"><td class="memTemplItemLeft" align="right" valign="top">const T * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#a0428f0a7927f8c29264d9c9a287840da">GetAdditionalInformation</a> () const</td></tr> +<tr class="separator:a0428f0a7927f8c29264d9c9a287840da inherit pub_methods_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> +Public Attributes</h2></td></tr> +<tr class="memitem:a08a1932be591c315a512a877d38b22df"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a08a1932be591c315a512a877d38b22df">m_InputToInputWeights</a></td></tr> +<tr class="separator:a08a1932be591c315a512a877d38b22df"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a3ea82566d98c5a657c76c3d851c47848"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a3ea82566d98c5a657c76c3d851c47848">m_InputToForgetWeights</a></td></tr> +<tr class="separator:a3ea82566d98c5a657c76c3d851c47848"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a28ad98d17603fd8b12e046f8ece58970"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a28ad98d17603fd8b12e046f8ece58970">m_InputToCellWeights</a></td></tr> +<tr class="separator:a28ad98d17603fd8b12e046f8ece58970"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a83dc9086b2e4a4e4cadb66bd874df798"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a83dc9086b2e4a4e4cadb66bd874df798">m_InputToOutputWeights</a></td></tr> +<tr class="separator:a83dc9086b2e4a4e4cadb66bd874df798"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a98d377149071d8842d610cc0734d1cfe"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a98d377149071d8842d610cc0734d1cfe">m_RecurrentToInputWeights</a></td></tr> +<tr class="separator:a98d377149071d8842d610cc0734d1cfe"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a45d73e66cbb2b65049e4016c20657ccf"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a45d73e66cbb2b65049e4016c20657ccf">m_RecurrentToForgetWeights</a></td></tr> +<tr class="separator:a45d73e66cbb2b65049e4016c20657ccf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aea142bd50ffb93631c2e08324ec92a1e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aea142bd50ffb93631c2e08324ec92a1e">m_RecurrentToCellWeights</a></td></tr> +<tr class="separator:aea142bd50ffb93631c2e08324ec92a1e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:adebc1771e5a1f4b113a7aa594ea74d2c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#adebc1771e5a1f4b113a7aa594ea74d2c">m_RecurrentToOutputWeights</a></td></tr> +<tr class="separator:adebc1771e5a1f4b113a7aa594ea74d2c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5c1c0a7ead7273788976c9e97cffaab7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a5c1c0a7ead7273788976c9e97cffaab7">m_CellToInputWeights</a></td></tr> +<tr class="separator:a5c1c0a7ead7273788976c9e97cffaab7"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:acefa49d7faf26933e27e473e7bdb4175"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#acefa49d7faf26933e27e473e7bdb4175">m_CellToForgetWeights</a></td></tr> +<tr class="separator:acefa49d7faf26933e27e473e7bdb4175"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6f74071b0e07bbe2cb20a8f78826e084"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a6f74071b0e07bbe2cb20a8f78826e084">m_CellToOutputWeights</a></td></tr> +<tr class="separator:a6f74071b0e07bbe2cb20a8f78826e084"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:acb3aade8fae984f7293e222dcbe66030"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#acb3aade8fae984f7293e222dcbe66030">m_InputGateBias</a></td></tr> +<tr class="separator:acb3aade8fae984f7293e222dcbe66030"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aba3ffe91d818266b8785ce971548eb59"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aba3ffe91d818266b8785ce971548eb59">m_ForgetGateBias</a></td></tr> +<tr class="separator:aba3ffe91d818266b8785ce971548eb59"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a75980b5795efd899a0c678a06a900c6d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a75980b5795efd899a0c678a06a900c6d">m_CellBias</a></td></tr> +<tr class="separator:a75980b5795efd899a0c678a06a900c6d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a332551528a4b3534c2d6c89ce816fcd9"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a332551528a4b3534c2d6c89ce816fcd9">m_OutputGateBias</a></td></tr> +<tr class="separator:a332551528a4b3534c2d6c89ce816fcd9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af3c52626a6f05597d82ed095d0765962"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#af3c52626a6f05597d82ed095d0765962">m_ProjectionWeights</a></td></tr> +<tr class="separator:af3c52626a6f05597d82ed095d0765962"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a2ba352eb1fdf6dc5ecf7f2e6b6b48f94"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a2ba352eb1fdf6dc5ecf7f2e6b6b48f94">m_ProjectionBias</a></td></tr> +<tr class="separator:a2ba352eb1fdf6dc5ecf7f2e6b6b48f94"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9cc28aa4fff6ba9a8abdb340c1abdd57"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a9cc28aa4fff6ba9a8abdb340c1abdd57">m_InputLayerNormWeights</a></td></tr> +<tr class="separator:a9cc28aa4fff6ba9a8abdb340c1abdd57"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a453a4af385d0c060c9aac990fceaa1ef"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a453a4af385d0c060c9aac990fceaa1ef">m_ForgetLayerNormWeights</a></td></tr> +<tr class="separator:a453a4af385d0c060c9aac990fceaa1ef"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a518f0195d0278a892b49649b8860d17f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a518f0195d0278a892b49649b8860d17f">m_CellLayerNormWeights</a></td></tr> +<tr class="separator:a518f0195d0278a892b49649b8860d17f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa3f07e27230d6d99adc2c82ba681df2b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aa3f07e27230d6d99adc2c82ba681df2b">m_OutputLayerNormWeights</a></td></tr> +<tr class="separator:aa3f07e27230d6d99adc2c82ba681df2b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="inherit_header pub_attribs_structarmnn_1_1_queue_descriptor_with_parameters"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structarmnn_1_1_queue_descriptor_with_parameters')"><img src="closed.png" alt="-"/> Public Attributes inherited from <a class="el" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml">QueueDescriptorWithParameters< QLstmDescriptor ></a></td></tr> +<tr class="memitem:aad91b9bbf7aa365d304febe79a3d1333 inherit pub_attribs_structarmnn_1_1_queue_descriptor_with_parameters"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structarmnn_1_1_q_lstm_descriptor.xhtml">QLstmDescriptor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a></td></tr> +<tr class="separator:aad91b9bbf7aa365d304febe79a3d1333 inherit pub_attribs_structarmnn_1_1_queue_descriptor_with_parameters"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="inherit_header pub_attribs_structarmnn_1_1_queue_descriptor"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structarmnn_1_1_queue_descriptor')"><img src="closed.png" alt="-"/> Public Attributes inherited from <a class="el" href="structarmnn_1_1_queue_descriptor.xhtml">QueueDescriptor</a></td></tr> +<tr class="memitem:a4b50e46a6810018f3edecfb68b2a76b3 inherit pub_attribs_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classarmnn_1_1_i_tensor_handle.xhtml">ITensorHandle</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#a4b50e46a6810018f3edecfb68b2a76b3">m_Inputs</a></td></tr> +<tr class="separator:a4b50e46a6810018f3edecfb68b2a76b3 inherit pub_attribs_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6abd491bb99ffe88bd472c1ae5a1ed1a inherit pub_attribs_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classarmnn_1_1_i_tensor_handle.xhtml">ITensorHandle</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#a6abd491bb99ffe88bd472c1ae5a1ed1a">m_Outputs</a></td></tr> +<tr class="separator:a6abd491bb99ffe88bd472c1ae5a1ed1a inherit pub_attribs_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a2f2e6134cabedfc58aa53fe38a2b8a67 inherit pub_attribs_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#a2f2e6134cabedfc58aa53fe38a2b8a67">m_AdditionalInfoObject</a></td></tr> +<tr class="separator:a2f2e6134cabedfc58aa53fe38a2b8a67 inherit pub_attribs_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a> +Additional Inherited Members</h2></td></tr> +<tr class="inherit_header pro_methods_structarmnn_1_1_queue_descriptor_with_parameters"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_structarmnn_1_1_queue_descriptor_with_parameters')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml">QueueDescriptorWithParameters< QLstmDescriptor ></a></td></tr> +<tr class="memitem:a52679b441422256016dc6f5b5e9193d5 inherit pro_methods_structarmnn_1_1_queue_descriptor_with_parameters"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#a52679b441422256016dc6f5b5e9193d5">~QueueDescriptorWithParameters</a> ()=default</td></tr> +<tr class="separator:a52679b441422256016dc6f5b5e9193d5 inherit pro_methods_structarmnn_1_1_queue_descriptor_with_parameters"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6f269eb32757efa5b203091c52e985fd inherit pro_methods_structarmnn_1_1_queue_descriptor_with_parameters"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#a6f269eb32757efa5b203091c52e985fd">QueueDescriptorWithParameters</a> ()=default</td></tr> +<tr class="separator:a6f269eb32757efa5b203091c52e985fd inherit pro_methods_structarmnn_1_1_queue_descriptor_with_parameters"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6cbdcaa9cab857077a3810788e2cf489 inherit pro_methods_structarmnn_1_1_queue_descriptor_with_parameters"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#a6cbdcaa9cab857077a3810788e2cf489">QueueDescriptorWithParameters</a> (<a class="el" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml">QueueDescriptorWithParameters</a> const &)=default</td></tr> +<tr class="separator:a6cbdcaa9cab857077a3810788e2cf489 inherit pro_methods_structarmnn_1_1_queue_descriptor_with_parameters"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa86bd03df9faf133a34e263f16486707 inherit pro_methods_structarmnn_1_1_queue_descriptor_with_parameters"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml">QueueDescriptorWithParameters</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aa86bd03df9faf133a34e263f16486707">operator=</a> (<a class="el" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml">QueueDescriptorWithParameters</a> const &)=default</td></tr> +<tr class="separator:aa86bd03df9faf133a34e263f16486707 inherit pro_methods_structarmnn_1_1_queue_descriptor_with_parameters"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="inherit_header pro_methods_structarmnn_1_1_queue_descriptor"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_structarmnn_1_1_queue_descriptor')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="structarmnn_1_1_queue_descriptor.xhtml">QueueDescriptor</a></td></tr> +<tr class="memitem:af67c3785421c91d37fb22132d441f704 inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#af67c3785421c91d37fb22132d441f704">~QueueDescriptor</a> ()=default</td></tr> +<tr class="separator:af67c3785421c91d37fb22132d441f704 inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab088ef357662bcea45cbd49674ad0ff7 inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#ab088ef357662bcea45cbd49674ad0ff7">QueueDescriptor</a> ()</td></tr> +<tr class="separator:ab088ef357662bcea45cbd49674ad0ff7 inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a75d3b85e1e50b1dff74ee84a593d089e inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#a75d3b85e1e50b1dff74ee84a593d089e">QueueDescriptor</a> (<a class="el" href="structarmnn_1_1_queue_descriptor.xhtml">QueueDescriptor</a> const &)=default</td></tr> +<tr class="separator:a75d3b85e1e50b1dff74ee84a593d089e inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a1c928b975a0de05cf2536c721ba6b521 inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml">QueueDescriptor</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#a1c928b975a0de05cf2536c721ba6b521">operator=</a> (<a class="el" href="structarmnn_1_1_queue_descriptor.xhtml">QueueDescriptor</a> const &)=default</td></tr> +<tr class="separator:a1c928b975a0de05cf2536c721ba6b521 inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"> +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00552">552</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> +</div><h2 class="groupheader">Constructor & Destructor Documentation</h2> +<a id="ae632fa69e135c7871fcecf4658a0a634"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ae632fa69e135c7871fcecf4658a0a634">◆ </a></span>QLstmQueueDescriptor()</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="structarmnn_1_1_q_lstm_queue_descriptor.xhtml">QLstmQueueDescriptor</a> </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00554">554</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> +<div class="fragment"><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  : <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a08a1932be591c315a512a877d38b22df">m_InputToInputWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a3ea82566d98c5a657c76c3d851c47848">m_InputToForgetWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a28ad98d17603fd8b12e046f8ece58970">m_InputToCellWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a83dc9086b2e4a4e4cadb66bd874df798">m_InputToOutputWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a98d377149071d8842d610cc0734d1cfe">m_RecurrentToInputWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a45d73e66cbb2b65049e4016c20657ccf">m_RecurrentToForgetWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aea142bd50ffb93631c2e08324ec92a1e">m_RecurrentToCellWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#adebc1771e5a1f4b113a7aa594ea74d2c">m_RecurrentToOutputWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a5c1c0a7ead7273788976c9e97cffaab7">m_CellToInputWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#acefa49d7faf26933e27e473e7bdb4175">m_CellToForgetWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a6f74071b0e07bbe2cb20a8f78826e084">m_CellToOutputWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#acb3aade8fae984f7293e222dcbe66030">m_InputGateBias</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aba3ffe91d818266b8785ce971548eb59">m_ForgetGateBias</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a75980b5795efd899a0c678a06a900c6d">m_CellBias</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a332551528a4b3534c2d6c89ce816fcd9">m_OutputGateBias</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#af3c52626a6f05597d82ed095d0765962">m_ProjectionWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a2ba352eb1fdf6dc5ecf7f2e6b6b48f94">m_ProjectionBias</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a9cc28aa4fff6ba9a8abdb340c1abdd57">m_InputLayerNormWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a453a4af385d0c060c9aac990fceaa1ef">m_ForgetLayerNormWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a518f0195d0278a892b49649b8860d17f">m_CellLayerNormWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  , <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aa3f07e27230d6d99adc2c82ba681df2b">m_OutputLayerNormWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  {</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  }</div><div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_acefa49d7faf26933e27e473e7bdb4175"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#acefa49d7faf26933e27e473e7bdb4175">armnn::QLstmQueueDescriptor::m_CellToForgetWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_CellToForgetWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00588">WorkloadData.hpp:588</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_af3c52626a6f05597d82ed095d0765962"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#af3c52626a6f05597d82ed095d0765962">armnn::QLstmQueueDescriptor::m_ProjectionWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_ProjectionWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00594">WorkloadData.hpp:594</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a2ba352eb1fdf6dc5ecf7f2e6b6b48f94"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a2ba352eb1fdf6dc5ecf7f2e6b6b48f94">armnn::QLstmQueueDescriptor::m_ProjectionBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_ProjectionBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00595">WorkloadData.hpp:595</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a453a4af385d0c060c9aac990fceaa1ef"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a453a4af385d0c060c9aac990fceaa1ef">armnn::QLstmQueueDescriptor::m_ForgetLayerNormWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_ForgetLayerNormWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00597">WorkloadData.hpp:597</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a518f0195d0278a892b49649b8860d17f"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a518f0195d0278a892b49649b8860d17f">armnn::QLstmQueueDescriptor::m_CellLayerNormWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_CellLayerNormWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00598">WorkloadData.hpp:598</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_aea142bd50ffb93631c2e08324ec92a1e"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aea142bd50ffb93631c2e08324ec92a1e">armnn::QLstmQueueDescriptor::m_RecurrentToCellWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToCellWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00585">WorkloadData.hpp:585</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a98d377149071d8842d610cc0734d1cfe"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a98d377149071d8842d610cc0734d1cfe">armnn::QLstmQueueDescriptor::m_RecurrentToInputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToInputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00583">WorkloadData.hpp:583</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a332551528a4b3534c2d6c89ce816fcd9"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a332551528a4b3534c2d6c89ce816fcd9">armnn::QLstmQueueDescriptor::m_OutputGateBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_OutputGateBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00593">WorkloadData.hpp:593</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a75980b5795efd899a0c678a06a900c6d"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a75980b5795efd899a0c678a06a900c6d">armnn::QLstmQueueDescriptor::m_CellBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_CellBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00592">WorkloadData.hpp:592</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a6f74071b0e07bbe2cb20a8f78826e084"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a6f74071b0e07bbe2cb20a8f78826e084">armnn::QLstmQueueDescriptor::m_CellToOutputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_CellToOutputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00589">WorkloadData.hpp:589</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_aa3f07e27230d6d99adc2c82ba681df2b"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aa3f07e27230d6d99adc2c82ba681df2b">armnn::QLstmQueueDescriptor::m_OutputLayerNormWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_OutputLayerNormWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00599">WorkloadData.hpp:599</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a3ea82566d98c5a657c76c3d851c47848"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a3ea82566d98c5a657c76c3d851c47848">armnn::QLstmQueueDescriptor::m_InputToForgetWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToForgetWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00580">WorkloadData.hpp:580</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a5c1c0a7ead7273788976c9e97cffaab7"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a5c1c0a7ead7273788976c9e97cffaab7">armnn::QLstmQueueDescriptor::m_CellToInputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_CellToInputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00587">WorkloadData.hpp:587</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_adebc1771e5a1f4b113a7aa594ea74d2c"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#adebc1771e5a1f4b113a7aa594ea74d2c">armnn::QLstmQueueDescriptor::m_RecurrentToOutputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToOutputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00586">WorkloadData.hpp:586</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_acb3aade8fae984f7293e222dcbe66030"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#acb3aade8fae984f7293e222dcbe66030">armnn::QLstmQueueDescriptor::m_InputGateBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputGateBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00590">WorkloadData.hpp:590</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a9cc28aa4fff6ba9a8abdb340c1abdd57"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a9cc28aa4fff6ba9a8abdb340c1abdd57">armnn::QLstmQueueDescriptor::m_InputLayerNormWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputLayerNormWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00596">WorkloadData.hpp:596</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a45d73e66cbb2b65049e4016c20657ccf"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a45d73e66cbb2b65049e4016c20657ccf">armnn::QLstmQueueDescriptor::m_RecurrentToForgetWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToForgetWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00584">WorkloadData.hpp:584</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_aba3ffe91d818266b8785ce971548eb59"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aba3ffe91d818266b8785ce971548eb59">armnn::QLstmQueueDescriptor::m_ForgetGateBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_ForgetGateBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00591">WorkloadData.hpp:591</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a83dc9086b2e4a4e4cadb66bd874df798"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a83dc9086b2e4a4e4cadb66bd874df798">armnn::QLstmQueueDescriptor::m_InputToOutputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToOutputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00582">WorkloadData.hpp:582</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a08a1932be591c315a512a877d38b22df"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a08a1932be591c315a512a877d38b22df">armnn::QLstmQueueDescriptor::m_InputToInputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToInputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00579">WorkloadData.hpp:579</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a28ad98d17603fd8b12e046f8ece58970"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a28ad98d17603fd8b12e046f8ece58970">armnn::QLstmQueueDescriptor::m_InputToCellWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToCellWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00581">WorkloadData.hpp:581</a></div></div> +</div><!-- fragment --> +</div> +</div> +<h2 class="groupheader">Member Function Documentation</h2> +<a id="a041e495449e22774a34d92b0904c10bf"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a041e495449e22774a34d92b0904c10bf">◆ </a></span>Validate()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Validate </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structarmnn_1_1_workload_info.xhtml">WorkloadInfo</a> & </td> + <td class="paramname"><em>workloadInfo</em></td><td>)</td> + <td> const</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8cpp_source.xhtml#l02916">2916</a> of file <a class="el" href="_workload_data_8cpp_source.xhtml">WorkloadData.cpp</a>.</p> + +<p class="reference">References <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="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::QAsymmS8</a>, <a class="el" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::QSymmS16</a>, <a class="el" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::QSymmS8</a>, and <a class="el" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::Signed32</a>.</p> +<div class="fragment"><div class="line"><a name="l02917"></a><span class="lineno"> 2917</span> {</div><div class="line"><a name="l02918"></a><span class="lineno"> 2918</span>  <span class="keyword">const</span> std::string descriptorName{<span class="stringliteral">"QLstmQueueDescriptor"</span>};</div><div class="line"><a name="l02919"></a><span class="lineno"> 2919</span> </div><div class="line"><a name="l02920"></a><span class="lineno"> 2920</span>  <span class="comment">// Validate number of inputs/outputs</span></div><div class="line"><a name="l02921"></a><span class="lineno"> 2921</span>  ValidateNumInputs(workloadInfo, descriptorName, 3);</div><div class="line"><a name="l02922"></a><span class="lineno"> 2922</span>  ValidateNumOutputs(workloadInfo, descriptorName, 3);</div><div class="line"><a name="l02923"></a><span class="lineno"> 2923</span> </div><div class="line"><a name="l02924"></a><span class="lineno"> 2924</span>  <span class="comment">// Input/output tensor info</span></div><div class="line"><a name="l02925"></a><span class="lineno"> 2925</span>  <span class="keyword">auto</span> inputInfo = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.xhtml#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[0];</div><div class="line"><a name="l02926"></a><span class="lineno"> 2926</span>  <span class="keyword">auto</span> outputStateInInfo = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.xhtml#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[1];</div><div class="line"><a name="l02927"></a><span class="lineno"> 2927</span>  <span class="keyword">auto</span> cellStateInInfo = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.xhtml#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[2];</div><div class="line"><a name="l02928"></a><span class="lineno"> 2928</span> </div><div class="line"><a name="l02929"></a><span class="lineno"> 2929</span>  <span class="keyword">auto</span> outputStateOutInfo = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.xhtml#a67b178f8a836bc1e52b8de109760adfd">m_OutputTensorInfos</a>[0];</div><div class="line"><a name="l02930"></a><span class="lineno"> 2930</span>  <span class="keyword">auto</span> cellStateOutInfo = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.xhtml#a67b178f8a836bc1e52b8de109760adfd">m_OutputTensorInfos</a>[1];</div><div class="line"><a name="l02931"></a><span class="lineno"> 2931</span>  <span class="keyword">auto</span> outputInfo = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.xhtml#a67b178f8a836bc1e52b8de109760adfd">m_OutputTensorInfos</a>[2];</div><div class="line"><a name="l02932"></a><span class="lineno"> 2932</span> </div><div class="line"><a name="l02933"></a><span class="lineno"> 2933</span>  <span class="comment">// Supported types for various tensors in QLSTM</span></div><div class="line"><a name="l02934"></a><span class="lineno"> 2934</span>  std::vector<DataType> inputOutputSupportedTypes =</div><div class="line"><a name="l02935"></a><span class="lineno"> 2935</span>  {</div><div class="line"><a name="l02936"></a><span class="lineno"> 2936</span>  <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a></div><div class="line"><a name="l02937"></a><span class="lineno"> 2937</span>  };</div><div class="line"><a name="l02938"></a><span class="lineno"> 2938</span> </div><div class="line"><a name="l02939"></a><span class="lineno"> 2939</span>  std::vector<DataType> cellStateSupportedTypes =</div><div class="line"><a name="l02940"></a><span class="lineno"> 2940</span>  {</div><div class="line"><a name="l02941"></a><span class="lineno"> 2941</span>  <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l02942"></a><span class="lineno"> 2942</span>  };</div><div class="line"><a name="l02943"></a><span class="lineno"> 2943</span> </div><div class="line"><a name="l02944"></a><span class="lineno"> 2944</span>  std::vector<DataType> weightsSupportedTypes =</div><div class="line"><a name="l02945"></a><span class="lineno"> 2945</span>  {</div><div class="line"><a name="l02946"></a><span class="lineno"> 2946</span>  <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a></div><div class="line"><a name="l02947"></a><span class="lineno"> 2947</span>  };</div><div class="line"><a name="l02948"></a><span class="lineno"> 2948</span> </div><div class="line"><a name="l02949"></a><span class="lineno"> 2949</span>  std::vector<DataType> layerNormPeepholeWeightsSupportedTypes =</div><div class="line"><a name="l02950"></a><span class="lineno"> 2950</span>  {</div><div class="line"><a name="l02951"></a><span class="lineno"> 2951</span>  <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l02952"></a><span class="lineno"> 2952</span>  };</div><div class="line"><a name="l02953"></a><span class="lineno"> 2953</span> </div><div class="line"><a name="l02954"></a><span class="lineno"> 2954</span>  std::vector<DataType> biasSupportedTypes =</div><div class="line"><a name="l02955"></a><span class="lineno"> 2955</span>  {</div><div class="line"><a name="l02956"></a><span class="lineno"> 2956</span>  <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a></div><div class="line"><a name="l02957"></a><span class="lineno"> 2957</span>  };</div><div class="line"><a name="l02958"></a><span class="lineno"> 2958</span> </div><div class="line"><a name="l02959"></a><span class="lineno"> 2959</span>  <span class="comment">// Validate types of input/output tensors</span></div><div class="line"><a name="l02960"></a><span class="lineno"> 2960</span>  ValidateDataTypes(inputInfo, inputOutputSupportedTypes, descriptorName);</div><div class="line"><a name="l02961"></a><span class="lineno"> 2961</span>  ValidateDataTypes(outputStateInInfo, inputOutputSupportedTypes, descriptorName);</div><div class="line"><a name="l02962"></a><span class="lineno"> 2962</span>  ValidateDataTypes(cellStateInInfo, cellStateSupportedTypes, descriptorName);</div><div class="line"><a name="l02963"></a><span class="lineno"> 2963</span> </div><div class="line"><a name="l02964"></a><span class="lineno"> 2964</span>  ValidateDataTypes(outputStateOutInfo, inputOutputSupportedTypes, descriptorName);</div><div class="line"><a name="l02965"></a><span class="lineno"> 2965</span>  ValidateDataTypes(cellStateOutInfo, cellStateSupportedTypes, descriptorName);</div><div class="line"><a name="l02966"></a><span class="lineno"> 2966</span>  ValidateDataTypes(outputInfo, inputOutputSupportedTypes, descriptorName);</div><div class="line"><a name="l02967"></a><span class="lineno"> 2967</span> </div><div class="line"><a name="l02968"></a><span class="lineno"> 2968</span>  <span class="comment">// Validate matching types of input/output tensors</span></div><div class="line"><a name="l02969"></a><span class="lineno"> 2969</span>  ValidateTensorDataTypesMatch(inputInfo, outputStateInInfo, descriptorName, <span class="stringliteral">"input"</span>, <span class="stringliteral">"outputStateIn"</span>);</div><div class="line"><a name="l02970"></a><span class="lineno"> 2970</span>  ValidateTensorDataTypesMatch(outputStateInInfo, outputStateOutInfo, descriptorName,</div><div class="line"><a name="l02971"></a><span class="lineno"> 2971</span>  <span class="stringliteral">"outputStateIn"</span>, <span class="stringliteral">"outputStateOut"</span>);</div><div class="line"><a name="l02972"></a><span class="lineno"> 2972</span>  ValidateTensorDataTypesMatch(cellStateInInfo, cellStateOutInfo, descriptorName, <span class="stringliteral">"cellStateIn"</span>, <span class="stringliteral">"cellStateOut"</span>);</div><div class="line"><a name="l02973"></a><span class="lineno"> 2973</span> </div><div class="line"><a name="l02974"></a><span class="lineno"> 2974</span>  <span class="comment">// Infer number of batches, number of units, input size and output size from tensor dimensions</span></div><div class="line"><a name="l02975"></a><span class="lineno"> 2975</span>  <span class="keyword">const</span> uint32_t numBatches = inputInfo.GetShape()[0];</div><div class="line"><a name="l02976"></a><span class="lineno"> 2976</span>  <span class="keyword">const</span> uint32_t inputSize = inputInfo.GetShape()[1];</div><div class="line"><a name="l02977"></a><span class="lineno"> 2977</span>  <span class="keyword">const</span> uint32_t outputSize = outputStateInInfo.GetShape()[1];</div><div class="line"><a name="l02978"></a><span class="lineno"> 2978</span>  <span class="keyword">const</span> uint32_t numUnits = cellStateInInfo.GetShape()[1];</div><div class="line"><a name="l02979"></a><span class="lineno"> 2979</span> </div><div class="line"><a name="l02980"></a><span class="lineno"> 2980</span>  <span class="comment">// Validate number of dimensions and number of elements for input/output tensors</span></div><div class="line"><a name="l02981"></a><span class="lineno"> 2981</span>  ValidateTensorNumDimNumElem(inputInfo, 2, (numBatches * inputSize), descriptorName + <span class="stringliteral">" input"</span>);</div><div class="line"><a name="l02982"></a><span class="lineno"> 2982</span>  ValidateTensorNumDimNumElem(outputStateInInfo, 2, (numBatches * outputSize), descriptorName + <span class="stringliteral">" outputStateIn"</span>);</div><div class="line"><a name="l02983"></a><span class="lineno"> 2983</span>  ValidateTensorNumDimNumElem(cellStateInInfo, 2, (numBatches * numUnits), descriptorName + <span class="stringliteral">" cellStateIn"</span>);</div><div class="line"><a name="l02984"></a><span class="lineno"> 2984</span> </div><div class="line"><a name="l02985"></a><span class="lineno"> 2985</span>  ValidateTensorNumDimNumElem(outputStateOutInfo, 2, (numBatches * outputSize), descriptorName + <span class="stringliteral">" outputStateOut"</span>);</div><div class="line"><a name="l02986"></a><span class="lineno"> 2986</span>  ValidateTensorNumDimNumElem(cellStateOutInfo, 2, (numBatches * numUnits), descriptorName + <span class="stringliteral">" cellStateOut"</span>);</div><div class="line"><a name="l02987"></a><span class="lineno"> 2987</span>  ValidateTensorNumDimNumElem(outputInfo, 2, (numBatches * outputSize), descriptorName + <span class="stringliteral">" output"</span>);</div><div class="line"><a name="l02988"></a><span class="lineno"> 2988</span> </div><div class="line"><a name="l02989"></a><span class="lineno"> 2989</span>  <span class="comment">// Validate number of dimensions and number of elements for MANDATORY weight tensors</span></div><div class="line"><a name="l02990"></a><span class="lineno"> 2990</span>  ValidatePointer(<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a3ea82566d98c5a657c76c3d851c47848">m_InputToForgetWeights</a>, descriptorName, <span class="stringliteral">"InputToForgetWeights"</span>);</div><div class="line"><a name="l02991"></a><span class="lineno"> 2991</span>  <span class="keyword">auto</span> inputToForgetWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a3ea82566d98c5a657c76c3d851c47848">m_InputToForgetWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l02992"></a><span class="lineno"> 2992</span>  ValidateTensorNumDimNumElem(inputToForgetWeightsInfo, 2, (numUnits * inputSize), <span class="stringliteral">" InputToForgetWeights"</span>);</div><div class="line"><a name="l02993"></a><span class="lineno"> 2993</span> </div><div class="line"><a name="l02994"></a><span class="lineno"> 2994</span>  ValidatePointer(<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a28ad98d17603fd8b12e046f8ece58970">m_InputToCellWeights</a>, descriptorName, <span class="stringliteral">"InputToCellWeights"</span>);</div><div class="line"><a name="l02995"></a><span class="lineno"> 2995</span>  <span class="keyword">auto</span> inputToCellWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a28ad98d17603fd8b12e046f8ece58970">m_InputToCellWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l02996"></a><span class="lineno"> 2996</span>  ValidateTensorNumDimNumElem(inputToCellWeightsInfo, 2, (numUnits * inputSize), <span class="stringliteral">" InputToCellWeights"</span>);</div><div class="line"><a name="l02997"></a><span class="lineno"> 2997</span> </div><div class="line"><a name="l02998"></a><span class="lineno"> 2998</span>  ValidatePointer(<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a83dc9086b2e4a4e4cadb66bd874df798">m_InputToOutputWeights</a>, descriptorName, <span class="stringliteral">"InputToOutputWeights"</span>);</div><div class="line"><a name="l02999"></a><span class="lineno"> 2999</span>  <span class="keyword">auto</span> inputToOutputWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a83dc9086b2e4a4e4cadb66bd874df798">m_InputToOutputWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03000"></a><span class="lineno"> 3000</span>  ValidateTensorNumDimNumElem(inputToOutputWeightsInfo, 2, (numUnits * inputSize), <span class="stringliteral">" InputToOutputWeights"</span>);</div><div class="line"><a name="l03001"></a><span class="lineno"> 3001</span> </div><div class="line"><a name="l03002"></a><span class="lineno"> 3002</span>  ValidatePointer(<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a45d73e66cbb2b65049e4016c20657ccf">m_RecurrentToForgetWeights</a>, descriptorName, <span class="stringliteral">"RecurrentToForgetWeights"</span>);</div><div class="line"><a name="l03003"></a><span class="lineno"> 3003</span>  <span class="keyword">auto</span> recurrentToForgetWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a45d73e66cbb2b65049e4016c20657ccf">m_RecurrentToForgetWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03004"></a><span class="lineno"> 3004</span>  ValidateTensorNumDimNumElem(recurrentToForgetWeightsInfo, 2, (numUnits * outputSize),</div><div class="line"><a name="l03005"></a><span class="lineno"> 3005</span>  <span class="stringliteral">" RecurrentToForgetWeights"</span>);</div><div class="line"><a name="l03006"></a><span class="lineno"> 3006</span> </div><div class="line"><a name="l03007"></a><span class="lineno"> 3007</span>  ValidatePointer(<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aea142bd50ffb93631c2e08324ec92a1e">m_RecurrentToCellWeights</a>, descriptorName, <span class="stringliteral">"RecurrentToCellWeights"</span>);</div><div class="line"><a name="l03008"></a><span class="lineno"> 3008</span>  <span class="keyword">auto</span> recurrentToCellWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aea142bd50ffb93631c2e08324ec92a1e">m_RecurrentToCellWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03009"></a><span class="lineno"> 3009</span>  ValidateTensorNumDimNumElem(recurrentToCellWeightsInfo, 2, (numUnits * outputSize), <span class="stringliteral">" RecurrentToCellWeights"</span>);</div><div class="line"><a name="l03010"></a><span class="lineno"> 3010</span> </div><div class="line"><a name="l03011"></a><span class="lineno"> 3011</span>  ValidatePointer(<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#adebc1771e5a1f4b113a7aa594ea74d2c">m_RecurrentToOutputWeights</a>, descriptorName, <span class="stringliteral">"RecurrentToOutputWeights"</span>);</div><div class="line"><a name="l03012"></a><span class="lineno"> 3012</span>  <span class="keyword">auto</span> recurrentToOutputWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#adebc1771e5a1f4b113a7aa594ea74d2c">m_RecurrentToOutputWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03013"></a><span class="lineno"> 3013</span>  ValidateTensorNumDimNumElem(recurrentToOutputWeightsInfo, 2, (numUnits * outputSize), <span class="stringliteral">" RecurrentToCellWeights"</span>);</div><div class="line"><a name="l03014"></a><span class="lineno"> 3014</span> </div><div class="line"><a name="l03015"></a><span class="lineno"> 3015</span>  <span class="comment">// Validate data types for MANDATORY weights tensors (all should match each other)</span></div><div class="line"><a name="l03016"></a><span class="lineno"> 3016</span>  ValidateDataTypes(inputToForgetWeightsInfo, weightsSupportedTypes, descriptorName);</div><div class="line"><a name="l03017"></a><span class="lineno"> 3017</span> </div><div class="line"><a name="l03018"></a><span class="lineno"> 3018</span>  ValidateTensorDataTypesMatch(inputToForgetWeightsInfo, inputToCellWeightsInfo, descriptorName,</div><div class="line"><a name="l03019"></a><span class="lineno"> 3019</span>  <span class="stringliteral">"inputToForgetWeights"</span>, <span class="stringliteral">"inputToCellWeights"</span>);</div><div class="line"><a name="l03020"></a><span class="lineno"> 3020</span>  ValidateTensorDataTypesMatch(inputToForgetWeightsInfo, inputToOutputWeightsInfo, descriptorName,</div><div class="line"><a name="l03021"></a><span class="lineno"> 3021</span>  <span class="stringliteral">"inputToForgetWeights"</span>, <span class="stringliteral">"inputToOutputWeights"</span>);</div><div class="line"><a name="l03022"></a><span class="lineno"> 3022</span> </div><div class="line"><a name="l03023"></a><span class="lineno"> 3023</span>  ValidateTensorDataTypesMatch(inputToForgetWeightsInfo, recurrentToForgetWeightsInfo, descriptorName,</div><div class="line"><a name="l03024"></a><span class="lineno"> 3024</span>  <span class="stringliteral">"inputToForgetWeights"</span>, <span class="stringliteral">"recurrentToForgeteights"</span>);</div><div class="line"><a name="l03025"></a><span class="lineno"> 3025</span>  ValidateTensorDataTypesMatch(inputToForgetWeightsInfo, recurrentToCellWeightsInfo, descriptorName,</div><div class="line"><a name="l03026"></a><span class="lineno"> 3026</span>  <span class="stringliteral">"inputToForgetWeights"</span>, <span class="stringliteral">"recurrentToCellWeights"</span>);</div><div class="line"><a name="l03027"></a><span class="lineno"> 3027</span>  ValidateTensorDataTypesMatch(inputToForgetWeightsInfo, recurrentToOutputWeightsInfo, descriptorName,</div><div class="line"><a name="l03028"></a><span class="lineno"> 3028</span>  <span class="stringliteral">"inputToForgetWeights"</span>, <span class="stringliteral">"recurrentToOutputWeights"</span>);</div><div class="line"><a name="l03029"></a><span class="lineno"> 3029</span> </div><div class="line"><a name="l03030"></a><span class="lineno"> 3030</span>  <span class="comment">// Validate number of dimensions and number of elements for MANDATORY bias tensors</span></div><div class="line"><a name="l03031"></a><span class="lineno"> 3031</span>  ValidatePointer(<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aba3ffe91d818266b8785ce971548eb59">m_ForgetGateBias</a>, descriptorName, <span class="stringliteral">"ForgetGateBias"</span>);</div><div class="line"><a name="l03032"></a><span class="lineno"> 3032</span>  <span class="keyword">auto</span> forgetGateBiasInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aba3ffe91d818266b8785ce971548eb59">m_ForgetGateBias</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03033"></a><span class="lineno"> 3033</span>  ValidateTensorNumDimNumElem(forgetGateBiasInfo, 1, numUnits, <span class="stringliteral">" ForgetGateBias"</span>);</div><div class="line"><a name="l03034"></a><span class="lineno"> 3034</span> </div><div class="line"><a name="l03035"></a><span class="lineno"> 3035</span>  ValidatePointer(<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a75980b5795efd899a0c678a06a900c6d">m_CellBias</a>, descriptorName, <span class="stringliteral">"CellBias"</span>);</div><div class="line"><a name="l03036"></a><span class="lineno"> 3036</span>  <span class="keyword">auto</span> cellBiasInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a75980b5795efd899a0c678a06a900c6d">m_CellBias</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03037"></a><span class="lineno"> 3037</span>  ValidateTensorNumDimNumElem(cellBiasInfo, 1, numUnits, <span class="stringliteral">" CellBias"</span>);</div><div class="line"><a name="l03038"></a><span class="lineno"> 3038</span> </div><div class="line"><a name="l03039"></a><span class="lineno"> 3039</span>  ValidatePointer(<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a332551528a4b3534c2d6c89ce816fcd9">m_OutputGateBias</a>, descriptorName, <span class="stringliteral">"OutputGateBias"</span>);</div><div class="line"><a name="l03040"></a><span class="lineno"> 3040</span>  <span class="keyword">auto</span> outputGateBiasInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a332551528a4b3534c2d6c89ce816fcd9">m_OutputGateBias</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03041"></a><span class="lineno"> 3041</span>  ValidateTensorNumDimNumElem(outputGateBiasInfo, 1, numUnits, <span class="stringliteral">" OutputGateBias"</span>);</div><div class="line"><a name="l03042"></a><span class="lineno"> 3042</span> </div><div class="line"><a name="l03043"></a><span class="lineno"> 3043</span>  <span class="comment">// Validate data types for MANDATORY bias tensors</span></div><div class="line"><a name="l03044"></a><span class="lineno"> 3044</span>  ValidateDataTypes(forgetGateBiasInfo, biasSupportedTypes, descriptorName);</div><div class="line"><a name="l03045"></a><span class="lineno"> 3045</span> </div><div class="line"><a name="l03046"></a><span class="lineno"> 3046</span>  ValidateTensorDataTypesMatch(forgetGateBiasInfo, cellBiasInfo, descriptorName,</div><div class="line"><a name="l03047"></a><span class="lineno"> 3047</span>  <span class="stringliteral">"forgetGateBias"</span>, <span class="stringliteral">"cellBias"</span>);</div><div class="line"><a name="l03048"></a><span class="lineno"> 3048</span>  ValidateTensorDataTypesMatch(forgetGateBiasInfo, outputGateBiasInfo, descriptorName,</div><div class="line"><a name="l03049"></a><span class="lineno"> 3049</span>  <span class="stringliteral">"forgetGateBias"</span>, <span class="stringliteral">"outputGateBias"</span>);</div><div class="line"><a name="l03050"></a><span class="lineno"> 3050</span> </div><div class="line"><a name="l03051"></a><span class="lineno"> 3051</span>  <span class="comment">// Validate OPTIONAL params: CIFG (inputToInputWeights, recurrentToInputWeights, inputGateBias)</span></div><div class="line"><a name="l03052"></a><span class="lineno"> 3052</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> allCifgParamsPresentOrNot = ((<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a08a1932be591c315a512a877d38b22df">m_InputToInputWeights</a> && <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a98d377149071d8842d610cc0734d1cfe">m_RecurrentToInputWeights</a> && <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#acb3aade8fae984f7293e222dcbe66030">m_InputGateBias</a> &&</div><div class="line"><a name="l03053"></a><span class="lineno"> 3053</span>  !<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_q_lstm_descriptor.xhtml#ad474e5c51a0b194ef32e812b86c0cbdb">m_CifgEnabled</a>) ||</div><div class="line"><a name="l03054"></a><span class="lineno"> 3054</span>  (!<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a08a1932be591c315a512a877d38b22df">m_InputToInputWeights</a> && !<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a98d377149071d8842d610cc0734d1cfe">m_RecurrentToInputWeights</a> &&</div><div class="line"><a name="l03055"></a><span class="lineno"> 3055</span>  !<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#acb3aade8fae984f7293e222dcbe66030">m_InputGateBias</a> && <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_q_lstm_descriptor.xhtml#ad474e5c51a0b194ef32e812b86c0cbdb">m_CifgEnabled</a>));</div><div class="line"><a name="l03056"></a><span class="lineno"> 3056</span> </div><div class="line"><a name="l03057"></a><span class="lineno"> 3057</span>  <span class="keywordflow">if</span> (!allCifgParamsPresentOrNot)</div><div class="line"><a name="l03058"></a><span class="lineno"> 3058</span>  {</div><div class="line"><a name="l03059"></a><span class="lineno"> 3059</span>  <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="l03060"></a><span class="lineno"> 3060</span>  <span class="stringliteral">": InputToInputWeights, RecurrentToInputWeights and InputGateBias must either all be present "</span></div><div class="line"><a name="l03061"></a><span class="lineno"> 3061</span>  <span class="stringliteral">"(CIFG disabled) or not be present at all (CIFG enabled). m_Parameters.m_CifgEnabled should be "</span></div><div class="line"><a name="l03062"></a><span class="lineno"> 3062</span>  <span class="stringliteral">"set appropriately."</span>);</div><div class="line"><a name="l03063"></a><span class="lineno"> 3063</span>  }</div><div class="line"><a name="l03064"></a><span class="lineno"> 3064</span> </div><div class="line"><a name="l03065"></a><span class="lineno"> 3065</span>  <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_q_lstm_descriptor.xhtml#ad474e5c51a0b194ef32e812b86c0cbdb">m_CifgEnabled</a>)</div><div class="line"><a name="l03066"></a><span class="lineno"> 3066</span>  {</div><div class="line"><a name="l03067"></a><span class="lineno"> 3067</span>  <span class="comment">// Validate number of dimensions and number of elements</span></div><div class="line"><a name="l03068"></a><span class="lineno"> 3068</span>  <span class="keyword">auto</span> inputToInputWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a08a1932be591c315a512a877d38b22df">m_InputToInputWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03069"></a><span class="lineno"> 3069</span>  ValidateTensorNumDimNumElem(inputToInputWeightsInfo, 2, (numUnits * inputSize), <span class="stringliteral">" InputToInputWeights"</span>);</div><div class="line"><a name="l03070"></a><span class="lineno"> 3070</span> </div><div class="line"><a name="l03071"></a><span class="lineno"> 3071</span>  <span class="keyword">auto</span> recurrentToInputWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a98d377149071d8842d610cc0734d1cfe">m_RecurrentToInputWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03072"></a><span class="lineno"> 3072</span>  ValidateTensorNumDimNumElem(recurrentToInputWeightsInfo, 2, (numUnits * outputSize),</div><div class="line"><a name="l03073"></a><span class="lineno"> 3073</span>  <span class="stringliteral">" RecurrentToInputWeights"</span>);</div><div class="line"><a name="l03074"></a><span class="lineno"> 3074</span> </div><div class="line"><a name="l03075"></a><span class="lineno"> 3075</span>  <span class="keyword">auto</span> inputGateBiasInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#acb3aade8fae984f7293e222dcbe66030">m_InputGateBias</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03076"></a><span class="lineno"> 3076</span>  ValidateTensorNumDimNumElem(inputGateBiasInfo, 1, numUnits, <span class="stringliteral">" InputGateBias"</span>);</div><div class="line"><a name="l03077"></a><span class="lineno"> 3077</span> </div><div class="line"><a name="l03078"></a><span class="lineno"> 3078</span>  <span class="comment">// Validate data types</span></div><div class="line"><a name="l03079"></a><span class="lineno"> 3079</span>  ValidateTensorDataTypesMatch(inputToForgetWeightsInfo, inputToInputWeightsInfo, descriptorName,</div><div class="line"><a name="l03080"></a><span class="lineno"> 3080</span>  <span class="stringliteral">"inputToForgetWeights"</span>, <span class="stringliteral">"inputToInputWeights"</span>);</div><div class="line"><a name="l03081"></a><span class="lineno"> 3081</span>  ValidateTensorDataTypesMatch(inputToForgetWeightsInfo, recurrentToInputWeightsInfo, descriptorName,</div><div class="line"><a name="l03082"></a><span class="lineno"> 3082</span>  <span class="stringliteral">"inputToForgetWeights"</span>, <span class="stringliteral">"recurrentToInputWeights"</span>);</div><div class="line"><a name="l03083"></a><span class="lineno"> 3083</span>  ValidateTensorDataTypesMatch(forgetGateBiasInfo, inputGateBiasInfo, descriptorName,</div><div class="line"><a name="l03084"></a><span class="lineno"> 3084</span>  <span class="stringliteral">"forgetGateBias"</span>, <span class="stringliteral">"inputGateBias"</span>);</div><div class="line"><a name="l03085"></a><span class="lineno"> 3085</span>  }</div><div class="line"><a name="l03086"></a><span class="lineno"> 3086</span> </div><div class="line"><a name="l03087"></a><span class="lineno"> 3087</span>  <span class="comment">// Validate OPTIONAL params: Peephole (cellToInputWeights, cellToForgetWeights, cellToOutputWeights)</span></div><div class="line"><a name="l03088"></a><span class="lineno"> 3088</span>  <span class="keywordtype">bool</span> allPeepholeWeightsPresentOrNot =</div><div class="line"><a name="l03089"></a><span class="lineno"> 3089</span>  (((<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a5c1c0a7ead7273788976c9e97cffaab7">m_CellToInputWeights</a> || <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_q_lstm_descriptor.xhtml#ad474e5c51a0b194ef32e812b86c0cbdb">m_CifgEnabled</a>) && <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#acefa49d7faf26933e27e473e7bdb4175">m_CellToForgetWeights</a></div><div class="line"><a name="l03090"></a><span class="lineno"> 3090</span>  && <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a6f74071b0e07bbe2cb20a8f78826e084">m_CellToOutputWeights</a> && <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_q_lstm_descriptor.xhtml#a2837b4396f20c956952d1a7286cab5f8">m_PeepholeEnabled</a>)</div><div class="line"><a name="l03091"></a><span class="lineno"> 3091</span>  || (!<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a5c1c0a7ead7273788976c9e97cffaab7">m_CellToInputWeights</a> && !<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#acefa49d7faf26933e27e473e7bdb4175">m_CellToForgetWeights</a></div><div class="line"><a name="l03092"></a><span class="lineno"> 3092</span>  && !<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a6f74071b0e07bbe2cb20a8f78826e084">m_CellToOutputWeights</a> && !<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_q_lstm_descriptor.xhtml#a2837b4396f20c956952d1a7286cab5f8">m_PeepholeEnabled</a>));</div><div class="line"><a name="l03093"></a><span class="lineno"> 3093</span> </div><div class="line"><a name="l03094"></a><span class="lineno"> 3094</span>  <span class="keywordflow">if</span> (!allPeepholeWeightsPresentOrNot)</div><div class="line"><a name="l03095"></a><span class="lineno"> 3095</span>  {</div><div class="line"><a name="l03096"></a><span class="lineno"> 3096</span>  <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="l03097"></a><span class="lineno"> 3097</span>  <span class="stringliteral">": CellToInputWeights, CellToForgetWeights and CellToOutputWeights should all be present (Peephole "</span></div><div class="line"><a name="l03098"></a><span class="lineno"> 3098</span>  <span class="stringliteral">"enabled) or not be present at all (Peephole disabled). CellToInputWeights should only be present "</span></div><div class="line"><a name="l03099"></a><span class="lineno"> 3099</span>  <span class="stringliteral">"when Peephole is enabled and CIFG is disabled. m_Parameters.m_PeepholeEnabled should be set "</span></div><div class="line"><a name="l03100"></a><span class="lineno"> 3100</span>  <span class="stringliteral">"appropriately."</span>);</div><div class="line"><a name="l03101"></a><span class="lineno"> 3101</span>  }</div><div class="line"><a name="l03102"></a><span class="lineno"> 3102</span> </div><div class="line"><a name="l03103"></a><span class="lineno"> 3103</span>  <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_q_lstm_descriptor.xhtml#a2837b4396f20c956952d1a7286cab5f8">m_PeepholeEnabled</a>)</div><div class="line"><a name="l03104"></a><span class="lineno"> 3104</span>  {</div><div class="line"><a name="l03105"></a><span class="lineno"> 3105</span>  <span class="keyword">auto</span> cellToForgetWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#acefa49d7faf26933e27e473e7bdb4175">m_CellToForgetWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03106"></a><span class="lineno"> 3106</span>  ValidateTensorNumDimNumElem(cellToForgetWeightsInfo, 1, numUnits, <span class="stringliteral">" cellToForgetWeights"</span>);</div><div class="line"><a name="l03107"></a><span class="lineno"> 3107</span>  ValidateDataTypes(cellToForgetWeightsInfo, layerNormPeepholeWeightsSupportedTypes, descriptorName);</div><div class="line"><a name="l03108"></a><span class="lineno"> 3108</span> </div><div class="line"><a name="l03109"></a><span class="lineno"> 3109</span>  <span class="keyword">auto</span> cellToOutputWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a6f74071b0e07bbe2cb20a8f78826e084">m_CellToOutputWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03110"></a><span class="lineno"> 3110</span>  ValidateTensorNumDimNumElem(cellToOutputWeightsInfo, 1, numUnits, <span class="stringliteral">" cellToOutputWeights"</span>);</div><div class="line"><a name="l03111"></a><span class="lineno"> 3111</span>  ValidateTensorDataTypesMatch(cellToForgetWeightsInfo, cellToOutputWeightsInfo, descriptorName,</div><div class="line"><a name="l03112"></a><span class="lineno"> 3112</span>  <span class="stringliteral">"cellToForgetWeight"</span>, <span class="stringliteral">"cellToOutputWeights"</span>);</div><div class="line"><a name="l03113"></a><span class="lineno"> 3113</span> </div><div class="line"><a name="l03114"></a><span class="lineno"> 3114</span>  <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_q_lstm_descriptor.xhtml#ad474e5c51a0b194ef32e812b86c0cbdb">m_CifgEnabled</a>)</div><div class="line"><a name="l03115"></a><span class="lineno"> 3115</span>  {</div><div class="line"><a name="l03116"></a><span class="lineno"> 3116</span>  <span class="keyword">auto</span> cellToInputWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a5c1c0a7ead7273788976c9e97cffaab7">m_CellToInputWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03117"></a><span class="lineno"> 3117</span>  ValidateTensorNumDimNumElem(cellToInputWeightsInfo, 1, numUnits, <span class="stringliteral">" cellToInputWeights"</span>);</div><div class="line"><a name="l03118"></a><span class="lineno"> 3118</span>  ValidateTensorDataTypesMatch(cellToForgetWeightsInfo, cellToInputWeightsInfo, descriptorName,</div><div class="line"><a name="l03119"></a><span class="lineno"> 3119</span>  <span class="stringliteral">"cellToForgetWeights"</span>, <span class="stringliteral">"cellToInputWeights"</span>);</div><div class="line"><a name="l03120"></a><span class="lineno"> 3120</span>  }</div><div class="line"><a name="l03121"></a><span class="lineno"> 3121</span>  }</div><div class="line"><a name="l03122"></a><span class="lineno"> 3122</span> </div><div class="line"><a name="l03123"></a><span class="lineno"> 3123</span>  <span class="comment">// Validate OPTIONAL params: Layer Norm Weights</span></div><div class="line"><a name="l03124"></a><span class="lineno"> 3124</span>  <span class="keywordtype">bool</span> allLayerNormWeightsPresentOrNot =</div><div class="line"><a name="l03125"></a><span class="lineno"> 3125</span>  (((<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a9cc28aa4fff6ba9a8abdb340c1abdd57">m_InputLayerNormWeights</a> || <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_q_lstm_descriptor.xhtml#ad474e5c51a0b194ef32e812b86c0cbdb">m_CifgEnabled</a>) && <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a453a4af385d0c060c9aac990fceaa1ef">m_ForgetLayerNormWeights</a></div><div class="line"><a name="l03126"></a><span class="lineno"> 3126</span>  && <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a518f0195d0278a892b49649b8860d17f">m_CellLayerNormWeights</a> && <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aa3f07e27230d6d99adc2c82ba681df2b">m_OutputLayerNormWeights</a> && <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_q_lstm_descriptor.xhtml#a4a8ec49f130084445d44297549254780">m_LayerNormEnabled</a>)</div><div class="line"><a name="l03127"></a><span class="lineno"> 3127</span>  || (!<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a9cc28aa4fff6ba9a8abdb340c1abdd57">m_InputLayerNormWeights</a> && !<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a453a4af385d0c060c9aac990fceaa1ef">m_ForgetLayerNormWeights</a> && !<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a518f0195d0278a892b49649b8860d17f">m_CellLayerNormWeights</a></div><div class="line"><a name="l03128"></a><span class="lineno"> 3128</span>  && !<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aa3f07e27230d6d99adc2c82ba681df2b">m_OutputLayerNormWeights</a> && !<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_q_lstm_descriptor.xhtml#a4a8ec49f130084445d44297549254780">m_LayerNormEnabled</a>));</div><div class="line"><a name="l03129"></a><span class="lineno"> 3129</span> </div><div class="line"><a name="l03130"></a><span class="lineno"> 3130</span>  <span class="keywordflow">if</span> (!allLayerNormWeightsPresentOrNot)</div><div class="line"><a name="l03131"></a><span class="lineno"> 3131</span>  {</div><div class="line"><a name="l03132"></a><span class="lineno"> 3132</span>  <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="l03133"></a><span class="lineno"> 3133</span>  <span class="stringliteral">": InputLayerNormWeights, ForgetLayerNormWeights, m_OutputLayerNormWeights "</span></div><div class="line"><a name="l03134"></a><span class="lineno"> 3134</span>  <span class="stringliteral">"and CellLayerNormWeights should all be present (Layer Norm enabled) or not "</span></div><div class="line"><a name="l03135"></a><span class="lineno"> 3135</span>  <span class="stringliteral">"be present at all (Layer Norm disabled). InputLayerNormWeights should "</span></div><div class="line"><a name="l03136"></a><span class="lineno"> 3136</span>  <span class="stringliteral">"only be present when Layer Norm is enabled and CIFG is disabled. "</span></div><div class="line"><a name="l03137"></a><span class="lineno"> 3137</span>  <span class="stringliteral">"m_Parameters.m_LayerNormEnabled should be set appropriately."</span>);</div><div class="line"><a name="l03138"></a><span class="lineno"> 3138</span>  }</div><div class="line"><a name="l03139"></a><span class="lineno"> 3139</span> </div><div class="line"><a name="l03140"></a><span class="lineno"> 3140</span>  <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_q_lstm_descriptor.xhtml#a4a8ec49f130084445d44297549254780">m_LayerNormEnabled</a>)</div><div class="line"><a name="l03141"></a><span class="lineno"> 3141</span>  {</div><div class="line"><a name="l03142"></a><span class="lineno"> 3142</span>  <span class="keyword">auto</span> forgetLayerNormWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a453a4af385d0c060c9aac990fceaa1ef">m_ForgetLayerNormWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03143"></a><span class="lineno"> 3143</span>  ValidateTensorNumDimNumElem(forgetLayerNormWeightsInfo, 1, numUnits, <span class="stringliteral">" forgetLayerNormWeights"</span>);</div><div class="line"><a name="l03144"></a><span class="lineno"> 3144</span>  ValidateDataTypes(forgetLayerNormWeightsInfo, layerNormPeepholeWeightsSupportedTypes, descriptorName);</div><div class="line"><a name="l03145"></a><span class="lineno"> 3145</span> </div><div class="line"><a name="l03146"></a><span class="lineno"> 3146</span>  <span class="keyword">auto</span> cellLayerNormWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a518f0195d0278a892b49649b8860d17f">m_CellLayerNormWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03147"></a><span class="lineno"> 3147</span>  ValidateTensorNumDimNumElem(cellLayerNormWeightsInfo, 1, numUnits, <span class="stringliteral">" cellLayerNormWeights"</span>);</div><div class="line"><a name="l03148"></a><span class="lineno"> 3148</span>  ValidateTensorDataTypesMatch(forgetLayerNormWeightsInfo, cellLayerNormWeightsInfo, descriptorName,</div><div class="line"><a name="l03149"></a><span class="lineno"> 3149</span>  <span class="stringliteral">"forgetLayerNormWeights"</span>, <span class="stringliteral">"cellLayerNormWeights"</span>);</div><div class="line"><a name="l03150"></a><span class="lineno"> 3150</span> </div><div class="line"><a name="l03151"></a><span class="lineno"> 3151</span>  <span class="keyword">auto</span> outputLayerNormWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aa3f07e27230d6d99adc2c82ba681df2b">m_OutputLayerNormWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03152"></a><span class="lineno"> 3152</span>  ValidateTensorNumDimNumElem(outputLayerNormWeightsInfo, 1, numUnits, <span class="stringliteral">" outputLayerNormWeights"</span>);</div><div class="line"><a name="l03153"></a><span class="lineno"> 3153</span>  ValidateTensorDataTypesMatch(forgetLayerNormWeightsInfo, outputLayerNormWeightsInfo, descriptorName,</div><div class="line"><a name="l03154"></a><span class="lineno"> 3154</span>  <span class="stringliteral">"forgetLayerNormWeights"</span>, <span class="stringliteral">"outputLayerNormWeights"</span>);</div><div class="line"><a name="l03155"></a><span class="lineno"> 3155</span> </div><div class="line"><a name="l03156"></a><span class="lineno"> 3156</span>  <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_q_lstm_descriptor.xhtml#ad474e5c51a0b194ef32e812b86c0cbdb">m_CifgEnabled</a>)</div><div class="line"><a name="l03157"></a><span class="lineno"> 3157</span>  {</div><div class="line"><a name="l03158"></a><span class="lineno"> 3158</span>  <span class="keyword">auto</span> inputLayerNormWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a9cc28aa4fff6ba9a8abdb340c1abdd57">m_InputLayerNormWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03159"></a><span class="lineno"> 3159</span>  ValidateTensorNumDimNumElem(inputLayerNormWeightsInfo, 1, numUnits, <span class="stringliteral">" inputLayerNormWeights"</span>);</div><div class="line"><a name="l03160"></a><span class="lineno"> 3160</span>  ValidateTensorDataTypesMatch(forgetLayerNormWeightsInfo, inputLayerNormWeightsInfo, descriptorName,</div><div class="line"><a name="l03161"></a><span class="lineno"> 3161</span>  <span class="stringliteral">"forgetLayerNormWeights"</span>, <span class="stringliteral">"inputLayerNormWeights"</span>);</div><div class="line"><a name="l03162"></a><span class="lineno"> 3162</span>  }</div><div class="line"><a name="l03163"></a><span class="lineno"> 3163</span>  }</div><div class="line"><a name="l03164"></a><span class="lineno"> 3164</span> </div><div class="line"><a name="l03165"></a><span class="lineno"> 3165</span>  <span class="comment">// Validate OPTIONAL params: Projection (projectionWeights, projectionBias)</span></div><div class="line"><a name="l03166"></a><span class="lineno"> 3166</span>  <span class="keywordtype">bool</span> correctProjectionTensorsPresent =</div><div class="line"><a name="l03167"></a><span class="lineno"> 3167</span>  ((!<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#af3c52626a6f05597d82ed095d0765962">m_ProjectionWeights</a> && !<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a2ba352eb1fdf6dc5ecf7f2e6b6b48f94">m_ProjectionBias</a> && !<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_q_lstm_descriptor.xhtml#a6c9de81fc65b3c4924cab11907075a17">m_ProjectionEnabled</a>) ||</div><div class="line"><a name="l03168"></a><span class="lineno"> 3168</span>  (<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#af3c52626a6f05597d82ed095d0765962">m_ProjectionWeights</a> && !<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a2ba352eb1fdf6dc5ecf7f2e6b6b48f94">m_ProjectionBias</a> && <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_q_lstm_descriptor.xhtml#a6c9de81fc65b3c4924cab11907075a17">m_ProjectionEnabled</a>) ||</div><div class="line"><a name="l03169"></a><span class="lineno"> 3169</span>  (<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#af3c52626a6f05597d82ed095d0765962">m_ProjectionWeights</a> && <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a2ba352eb1fdf6dc5ecf7f2e6b6b48f94">m_ProjectionBias</a> && <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_q_lstm_descriptor.xhtml#a6c9de81fc65b3c4924cab11907075a17">m_ProjectionEnabled</a>));</div><div class="line"><a name="l03170"></a><span class="lineno"> 3170</span> </div><div class="line"><a name="l03171"></a><span class="lineno"> 3171</span>  <span class="keywordflow">if</span> (!correctProjectionTensorsPresent)</div><div class="line"><a name="l03172"></a><span class="lineno"> 3172</span>  {</div><div class="line"><a name="l03173"></a><span class="lineno"> 3173</span>  <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="l03174"></a><span class="lineno"> 3174</span>  <span class="stringliteral">": If projection is enabled, ProjectionWeights should be present and "</span></div><div class="line"><a name="l03175"></a><span class="lineno"> 3175</span>  <span class="stringliteral">"ProjectionBias is optional. If projection is disabled, neither "</span></div><div class="line"><a name="l03176"></a><span class="lineno"> 3176</span>  <span class="stringliteral">"ProjectionWeights nor ProjectionBias should be present."</span>);</div><div class="line"><a name="l03177"></a><span class="lineno"> 3177</span>  }</div><div class="line"><a name="l03178"></a><span class="lineno"> 3178</span> </div><div class="line"><a name="l03179"></a><span class="lineno"> 3179</span>  <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_q_lstm_descriptor.xhtml#a6c9de81fc65b3c4924cab11907075a17">m_ProjectionEnabled</a>)</div><div class="line"><a name="l03180"></a><span class="lineno"> 3180</span>  {</div><div class="line"><a name="l03181"></a><span class="lineno"> 3181</span>  <span class="keyword">auto</span> projectionWeightsInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#af3c52626a6f05597d82ed095d0765962">m_ProjectionWeights</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03182"></a><span class="lineno"> 3182</span>  ValidateTensorNumDimNumElem(projectionWeightsInfo, 2, (numUnits * outputSize), <span class="stringliteral">"ProjectionWeights"</span>);</div><div class="line"><a name="l03183"></a><span class="lineno"> 3183</span>  ValidateDataTypes(projectionWeightsInfo, weightsSupportedTypes, descriptorName);</div><div class="line"><a name="l03184"></a><span class="lineno"> 3184</span> </div><div class="line"><a name="l03185"></a><span class="lineno"> 3185</span>  <span class="keywordflow">if</span> (<a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a2ba352eb1fdf6dc5ecf7f2e6b6b48f94">m_ProjectionBias</a>)</div><div class="line"><a name="l03186"></a><span class="lineno"> 3186</span>  {</div><div class="line"><a name="l03187"></a><span class="lineno"> 3187</span>  <span class="keyword">auto</span> projectionBiasInfo = <a class="code" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a2ba352eb1fdf6dc5ecf7f2e6b6b48f94">m_ProjectionBias</a>-><a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03188"></a><span class="lineno"> 3188</span>  ValidateTensorNumDimNumElem(projectionBiasInfo, 1, outputSize, <span class="stringliteral">"ProjectionBias"</span>);</div><div class="line"><a name="l03189"></a><span class="lineno"> 3189</span>  ValidateDataTypes(projectionBiasInfo, biasSupportedTypes, descriptorName);</div><div class="line"><a name="l03190"></a><span class="lineno"> 3190</span>  }</div><div class="line"><a name="l03191"></a><span class="lineno"> 3191</span> </div><div class="line"><a name="l03192"></a><span class="lineno"> 3192</span>  }</div><div class="line"><a name="l03193"></a><span class="lineno"> 3193</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((outputInfo.GetQuantizationScale() != <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_q_lstm_descriptor.xhtml#af8f724af7210b52529216feefa993c98">m_HiddenStateScale</a>) &&</div><div class="line"><a name="l03194"></a><span class="lineno"> 3194</span>  outputInfo.GetQuantizationOffset() != <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_q_lstm_descriptor.xhtml#a4556cbd764d4848d8ad0637a9eed580d">m_HiddenStateZeroPoint</a>) {</div><div class="line"><a name="l03195"></a><span class="lineno"> 3195</span>  <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="l03196"></a><span class="lineno"> 3196</span>  <span class="stringliteral">": If projection is disabled, output quantization info (scale, offset) "</span></div><div class="line"><a name="l03197"></a><span class="lineno"> 3197</span>  <span class="stringliteral">"should match HiddenStateScale and HiddenStateZeroPoint."</span>);</div><div class="line"><a name="l03198"></a><span class="lineno"> 3198</span>  }</div><div class="line"><a name="l03199"></a><span class="lineno"> 3199</span> </div><div class="line"><a name="l03200"></a><span class="lineno"> 3200</span> }</div><div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_acefa49d7faf26933e27e473e7bdb4175"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#acefa49d7faf26933e27e473e7bdb4175">armnn::QLstmQueueDescriptor::m_CellToForgetWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_CellToForgetWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00588">WorkloadData.hpp:588</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_af3c52626a6f05597d82ed095d0765962"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#af3c52626a6f05597d82ed095d0765962">armnn::QLstmQueueDescriptor::m_ProjectionWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_ProjectionWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00594">WorkloadData.hpp:594</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_descriptor_xhtml_a2837b4396f20c956952d1a7286cab5f8"><div class="ttname"><a href="structarmnn_1_1_q_lstm_descriptor.xhtml#a2837b4396f20c956952d1a7286cab5f8">armnn::QLstmDescriptor::m_PeepholeEnabled</a></div><div class="ttdeci">bool m_PeepholeEnabled</div><div class="ttdoc">Enable/disable peephole. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l01193">Descriptors.hpp:1193</a></div></div> +<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a2ba352eb1fdf6dc5ecf7f2e6b6b48f94"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a2ba352eb1fdf6dc5ecf7f2e6b6b48f94">armnn::QLstmQueueDescriptor::m_ProjectionBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_ProjectionBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00595">WorkloadData.hpp:595</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_descriptor_xhtml_af8f724af7210b52529216feefa993c98"><div class="ttname"><a href="structarmnn_1_1_q_lstm_descriptor.xhtml#af8f724af7210b52529216feefa993c98">armnn::QLstmDescriptor::m_HiddenStateScale</a></div><div class="ttdeci">float m_HiddenStateScale</div><div class="ttdoc">Hidden State quantization scale. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l01209">Descriptors.hpp:1209</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a453a4af385d0c060c9aac990fceaa1ef"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a453a4af385d0c060c9aac990fceaa1ef">armnn::QLstmQueueDescriptor::m_ForgetLayerNormWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_ForgetLayerNormWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00597">WorkloadData.hpp:597</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a518f0195d0278a892b49649b8860d17f"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a518f0195d0278a892b49649b8860d17f">armnn::QLstmQueueDescriptor::m_CellLayerNormWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_CellLayerNormWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00598">WorkloadData.hpp:598</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_aea142bd50ffb93631c2e08324ec92a1e"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aea142bd50ffb93631c2e08324ec92a1e">armnn::QLstmQueueDescriptor::m_RecurrentToCellWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToCellWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00585">WorkloadData.hpp:585</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a98d377149071d8842d610cc0734d1cfe"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a98d377149071d8842d610cc0734d1cfe">armnn::QLstmQueueDescriptor::m_RecurrentToInputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToInputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00583">WorkloadData.hpp:583</a></div></div> +<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div> +<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a332551528a4b3534c2d6c89ce816fcd9"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a332551528a4b3534c2d6c89ce816fcd9">armnn::QLstmQueueDescriptor::m_OutputGateBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_OutputGateBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00593">WorkloadData.hpp:593</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a75980b5795efd899a0c678a06a900c6d"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a75980b5795efd899a0c678a06a900c6d">armnn::QLstmQueueDescriptor::m_CellBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_CellBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00592">WorkloadData.hpp:592</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< QLstmDescriptor >::m_Parameters</a></div><div class="ttdeci">QLstmDescriptor m_Parameters</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00057">WorkloadData.hpp:57</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a6f74071b0e07bbe2cb20a8f78826e084"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a6f74071b0e07bbe2cb20a8f78826e084">armnn::QLstmQueueDescriptor::m_CellToOutputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_CellToOutputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00589">WorkloadData.hpp:589</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_aa3f07e27230d6d99adc2c82ba681df2b"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aa3f07e27230d6d99adc2c82ba681df2b">armnn::QLstmQueueDescriptor::m_OutputLayerNormWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_OutputLayerNormWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00599">WorkloadData.hpp:599</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< TensorInfo > 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_q_lstm_descriptor_xhtml_a4a8ec49f130084445d44297549254780"><div class="ttname"><a href="structarmnn_1_1_q_lstm_descriptor.xhtml#a4a8ec49f130084445d44297549254780">armnn::QLstmDescriptor::m_LayerNormEnabled</a></div><div class="ttdeci">bool m_LayerNormEnabled</div><div class="ttdoc">Enable/disable layer normalization. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l01197">Descriptors.hpp:1197</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a3ea82566d98c5a657c76c3d851c47848"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a3ea82566d98c5a657c76c3d851c47848">armnn::QLstmQueueDescriptor::m_InputToForgetWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToForgetWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00580">WorkloadData.hpp:580</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< TensorInfo > 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_q_lstm_queue_descriptor_xhtml_a5c1c0a7ead7273788976c9e97cffaab7"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a5c1c0a7ead7273788976c9e97cffaab7">armnn::QLstmQueueDescriptor::m_CellToInputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_CellToInputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00587">WorkloadData.hpp:587</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_adebc1771e5a1f4b113a7aa594ea74d2c"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#adebc1771e5a1f4b113a7aa594ea74d2c">armnn::QLstmQueueDescriptor::m_RecurrentToOutputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToOutputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00586">WorkloadData.hpp:586</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_descriptor_xhtml_a6c9de81fc65b3c4924cab11907075a17"><div class="ttname"><a href="structarmnn_1_1_q_lstm_descriptor.xhtml#a6c9de81fc65b3c4924cab11907075a17">armnn::QLstmDescriptor::m_ProjectionEnabled</a></div><div class="ttdeci">bool m_ProjectionEnabled</div><div class="ttdoc">Enable/disable the projection layer. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l01195">Descriptors.hpp:1195</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_acb3aade8fae984f7293e222dcbe66030"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#acb3aade8fae984f7293e222dcbe66030">armnn::QLstmQueueDescriptor::m_InputGateBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputGateBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00590">WorkloadData.hpp:590</a></div></div> +<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a9cc28aa4fff6ba9a8abdb340c1abdd57"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a9cc28aa4fff6ba9a8abdb340c1abdd57">armnn::QLstmQueueDescriptor::m_InputLayerNormWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputLayerNormWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00596">WorkloadData.hpp:596</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a45d73e66cbb2b65049e4016c20657ccf"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a45d73e66cbb2b65049e4016c20657ccf">armnn::QLstmQueueDescriptor::m_RecurrentToForgetWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToForgetWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00584">WorkloadData.hpp:584</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_aba3ffe91d818266b8785ce971548eb59"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#aba3ffe91d818266b8785ce971548eb59">armnn::QLstmQueueDescriptor::m_ForgetGateBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_ForgetGateBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00591">WorkloadData.hpp:591</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a83dc9086b2e4a4e4cadb66bd874df798"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a83dc9086b2e4a4e4cadb66bd874df798">armnn::QLstmQueueDescriptor::m_InputToOutputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToOutputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00582">WorkloadData.hpp:582</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_descriptor_xhtml_ad474e5c51a0b194ef32e812b86c0cbdb"><div class="ttname"><a href="structarmnn_1_1_q_lstm_descriptor.xhtml#ad474e5c51a0b194ef32e812b86c0cbdb">armnn::QLstmDescriptor::m_CifgEnabled</a></div><div class="ttdeci">bool m_CifgEnabled</div><div class="ttdoc">Enable/disable CIFG (coupled input & forget gate). </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l01191">Descriptors.hpp:1191</a></div></div> +<div class="ttc" id="classarmnn_1_1_const_cpu_tensor_handle_xhtml_a66e8f43a5b42b500871ed96e15419567"><div class="ttname"><a href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">armnn::ConstCpuTensorHandle::GetTensorInfo</a></div><div class="ttdeci">const TensorInfo & GetTensorInfo() const</div><div class="ttdef"><b>Definition:</b> <a href="_cpu_tensor_handle_8hpp_source.xhtml#l00037">CpuTensorHandle.hpp:37</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a08a1932be591c315a512a877d38b22df"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a08a1932be591c315a512a877d38b22df">armnn::QLstmQueueDescriptor::m_InputToInputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToInputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00579">WorkloadData.hpp:579</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_descriptor_xhtml_a4556cbd764d4848d8ad0637a9eed580d"><div class="ttname"><a href="structarmnn_1_1_q_lstm_descriptor.xhtml#a4556cbd764d4848d8ad0637a9eed580d">armnn::QLstmDescriptor::m_HiddenStateZeroPoint</a></div><div class="ttdeci">int32_t m_HiddenStateZeroPoint</div><div class="ttdoc">Hidden State zero point. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l01207">Descriptors.hpp:1207</a></div></div> +<div class="ttc" id="structarmnn_1_1_q_lstm_queue_descriptor_xhtml_a28ad98d17603fd8b12e046f8ece58970"><div class="ttname"><a href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml#a28ad98d17603fd8b12e046f8ece58970">armnn::QLstmQueueDescriptor::m_InputToCellWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToCellWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00581">WorkloadData.hpp:581</a></div></div> +</div><!-- fragment --> +</div> +</div> +<h2 class="groupheader">Member Data Documentation</h2> +<a id="a75980b5795efd899a0c678a06a900c6d"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a75980b5795efd899a0c678a06a900c6d">◆ </a></span>m_CellBias</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_CellBias</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00592">592</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="a518f0195d0278a892b49649b8860d17f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a518f0195d0278a892b49649b8860d17f">◆ </a></span>m_CellLayerNormWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_CellLayerNormWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00598">598</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="acefa49d7faf26933e27e473e7bdb4175"></a> +<h2 class="memtitle"><span class="permalink"><a href="#acefa49d7faf26933e27e473e7bdb4175">◆ </a></span>m_CellToForgetWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_CellToForgetWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00588">588</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="a5c1c0a7ead7273788976c9e97cffaab7"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a5c1c0a7ead7273788976c9e97cffaab7">◆ </a></span>m_CellToInputWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_CellToInputWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00587">587</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="a6f74071b0e07bbe2cb20a8f78826e084"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a6f74071b0e07bbe2cb20a8f78826e084">◆ </a></span>m_CellToOutputWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_CellToOutputWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00589">589</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="aba3ffe91d818266b8785ce971548eb59"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aba3ffe91d818266b8785ce971548eb59">◆ </a></span>m_ForgetGateBias</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_ForgetGateBias</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00591">591</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="a453a4af385d0c060c9aac990fceaa1ef"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a453a4af385d0c060c9aac990fceaa1ef">◆ </a></span>m_ForgetLayerNormWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_ForgetLayerNormWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00597">597</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="acb3aade8fae984f7293e222dcbe66030"></a> +<h2 class="memtitle"><span class="permalink"><a href="#acb3aade8fae984f7293e222dcbe66030">◆ </a></span>m_InputGateBias</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_InputGateBias</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00590">590</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="a9cc28aa4fff6ba9a8abdb340c1abdd57"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a9cc28aa4fff6ba9a8abdb340c1abdd57">◆ </a></span>m_InputLayerNormWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_InputLayerNormWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00596">596</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="a28ad98d17603fd8b12e046f8ece58970"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a28ad98d17603fd8b12e046f8ece58970">◆ </a></span>m_InputToCellWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_InputToCellWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00581">581</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="a3ea82566d98c5a657c76c3d851c47848"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a3ea82566d98c5a657c76c3d851c47848">◆ </a></span>m_InputToForgetWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_InputToForgetWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00580">580</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="a08a1932be591c315a512a877d38b22df"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a08a1932be591c315a512a877d38b22df">◆ </a></span>m_InputToInputWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_InputToInputWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00579">579</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="a83dc9086b2e4a4e4cadb66bd874df798"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a83dc9086b2e4a4e4cadb66bd874df798">◆ </a></span>m_InputToOutputWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_InputToOutputWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00582">582</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="a332551528a4b3534c2d6c89ce816fcd9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a332551528a4b3534c2d6c89ce816fcd9">◆ </a></span>m_OutputGateBias</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_OutputGateBias</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00593">593</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="aa3f07e27230d6d99adc2c82ba681df2b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aa3f07e27230d6d99adc2c82ba681df2b">◆ </a></span>m_OutputLayerNormWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_OutputLayerNormWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00599">599</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="a2ba352eb1fdf6dc5ecf7f2e6b6b48f94"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a2ba352eb1fdf6dc5ecf7f2e6b6b48f94">◆ </a></span>m_ProjectionBias</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_ProjectionBias</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00595">595</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="af3c52626a6f05597d82ed095d0765962"></a> +<h2 class="memtitle"><span class="permalink"><a href="#af3c52626a6f05597d82ed095d0765962">◆ </a></span>m_ProjectionWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_ProjectionWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00594">594</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="aea142bd50ffb93631c2e08324ec92a1e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aea142bd50ffb93631c2e08324ec92a1e">◆ </a></span>m_RecurrentToCellWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_RecurrentToCellWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00585">585</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="a45d73e66cbb2b65049e4016c20657ccf"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a45d73e66cbb2b65049e4016c20657ccf">◆ </a></span>m_RecurrentToForgetWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_RecurrentToForgetWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00584">584</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="a98d377149071d8842d610cc0734d1cfe"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a98d377149071d8842d610cc0734d1cfe">◆ </a></span>m_RecurrentToInputWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_RecurrentToInputWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00583">583</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<a id="adebc1771e5a1f4b113a7aa594ea74d2c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#adebc1771e5a1f4b113a7aa594ea74d2c">◆ </a></span>m_RecurrentToOutputWeights</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_RecurrentToOutputWeights</td> + </tr> + </table> +</div><div class="memdoc"> + +<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00586">586</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p> + +<p class="reference">Referenced by <a class="el" href="_q_lstm_layer_8cpp_source.xhtml#l00022">QLstmLayer::CreateWorkload()</a>.</p> + +</div> +</div> +<hr/>The documentation for this struct was generated from the following files:<ul> +<li>src/backends/backendsCommon/<a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a></li> +<li>src/backends/backendsCommon/<a class="el" href="_workload_data_8cpp_source.xhtml">WorkloadData.cpp</a></li> +</ul> +</div><!-- contents --> +</div><!-- doc-content --> +<!-- start footer part --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="navelem"><a class="el" href="namespacearmnn.xhtml">armnn</a></li><li class="navelem"><a class="el" href="structarmnn_1_1_q_lstm_queue_descriptor.xhtml">QLstmQueueDescriptor</a></li> + <li class="footer">Generated on Thu Feb 25 2021 17:28:00 for ArmNN by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li> + </ul> +</div> +</body> +</html> |