<!-- HTML header for doxygen 1.8.17-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Arm NN: src/backends/reference/workloads/Lstm.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
  <td id="projectalign" style="padding-left: 0.9em;">
   <div id="projectname">
   &#160;<span id="projectnumber">24.05</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_lstm_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Lstm.cpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_activation_8hpp_source.html">Activation.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_lstm_8hpp_source.html">Lstm.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_lstm_utils_8hpp_source.html">LstmUtils.hpp</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for Lstm.cpp:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="_lstm_8cpp__incl.svg" width="2494" height="739"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
<p><a href="_lstm_8cpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacearmnn"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn.html">armnn</a></td></tr>
<tr class="memdesc:namespacearmnn"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copyright (c) 2021 ARM Limited and Contributors. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a952423703fa6b92f18d19df3995633b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn.html#a952423703fa6b92f18d19df3995633b4">LstmImpl</a> (const LstmDescriptor &amp;descriptor, const TensorInfo &amp;inputInfo, const TensorInfo &amp;outputInfo, const TensorShape &amp;inputToOutputWeightsShape, const TensorShape &amp;recurrentToOutputWeightsShape, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;inputData, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;outputStateIn, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;cellStateIn, std::unique_ptr&lt; Encoder&lt; float &gt;&gt; &amp;outputStateOut, std::unique_ptr&lt; Encoder&lt; float &gt;&gt; &amp;cellStateOut, std::unique_ptr&lt; Encoder&lt; float &gt;&gt; &amp;output, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;cellStateOutDecoder, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;outputDecoder, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;inputToInputWeightsTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;inputToForgetWeightsTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;inputToCellWeightsTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;inputToOutputWeightsTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;recurrentToInputWeightsTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;recurrentToForgetWeightsTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;recurrentToCellWeightsTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;recurrentToOutputWeightsTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;cellToInputWeightsTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;cellToForgetWeightsTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;cellToOutputWeightsTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;inputGateBiasTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;forgetGateBiasTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;cellBiasTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;outputGateBiasTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;projectionWeightsTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;projectionBiasTensor, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;inputLayerNormWeights, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;forgetLayerNormWeights, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;cellLayerNormWeights, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;outputLayerNormWeights, std::unique_ptr&lt; Encoder&lt; float &gt;&gt; &amp;inputGateScratch, std::unique_ptr&lt; Encoder&lt; float &gt;&gt; &amp;cellScratch, std::unique_ptr&lt; Encoder&lt; float &gt;&gt; &amp;forgetGateScratch, std::unique_ptr&lt; Encoder&lt; float &gt;&gt; &amp;outputGateScratch, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;inputGateScratchDecoder, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;cellScratchDecoder, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;forgetGateScratchDecoder, std::unique_ptr&lt; Decoder&lt; float &gt;&gt; &amp;outputGateScratchDecoder, float layerNormEpsilon)</td></tr>
<tr class="separator:a952423703fa6b92f18d19df3995633b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</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="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_0f3cdec46afbc61a1ded8e1687c9c9a0.html">backends</a></li><li class="navelem"><a class="el" href="dir_efae4012d0e357ebeaba7d02491d70e5.html">reference</a></li><li class="navelem"><a class="el" href="dir_d2f3b8e2e64df3181ebe92efcc0a3012.html">workloads</a></li><li class="navelem"><a class="el" href="_lstm_8cpp.html">Lstm.cpp</a></li>
    <li class="footer">Generated on Thu May 16 2024 09:31:53 for Arm NN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
