<!-- 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/tosaCommon/operatorMappings/ConcatOperator.cpp Source File</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('_concat_operator_8cpp_source.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="headertitle">
<div class="title">ConcatOperator.cpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_concat_operator_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// Copyright © 2022-2024 Arm Ltd and Contributors. All rights reserved.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// SPDX-License-Identifier: MIT</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_concat_operator_8hpp.html">ConcatOperator.hpp</a>&quot;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160; </div>
<div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="_concat_operator_8hpp.html#ab703c7d091e3b0c9bdbf3a0da16aa8c7">    8</a></span>&#160;TosaSerializationBasicBlock* <a class="code" href="_concat_operator_8cpp.html#ab703c7d091e3b0c9bdbf3a0da16aa8c7">ConvertConcatToTosaOperator</a>(<span class="keyword">const</span> <a class="code" href="classarmnn_1_1_layer.html">Layer</a>* layer,</div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;                                                         <span class="keyword">const</span> std::vector&lt;const TensorInfo*&gt;&amp; inputs,</div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;                                                         <span class="keyword">const</span> std::vector&lt;const TensorInfo*&gt;&amp; outputs,</div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;                                                         <span class="keyword">const</span> <a class="code" href="structarmnn_1_1_origins_descriptor.html">OriginsDescriptor</a>* concatDescriptor)</div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;{</div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="keyword">auto</span> numInputs = inputs.size();</div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::vector&lt;std::string&gt; inputNames;</div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    inputNames.reserve(numInputs);</div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::string outputName = std::string(<span class="stringliteral">&quot;output0_&quot;</span>);</div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::string blockName  = std::string(<span class="stringliteral">&quot;Op_CONCAT_block_&quot;</span>) + <a class="code" href="_tosa_operator_utils_8hpp.html#aadc5d73bd0cb81999bcfdc62bce020e8">GetUniqueTosaMappingID</a>();</div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// Set input names for validation purposes only.</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="keywordflow">if</span> (layer == <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    {</div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; numInputs; ++i)</div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;        {</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;            inputNames.push_back(<span class="stringliteral">&quot;input_&quot;</span>+ std::to_string(i));</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;        }</div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    }</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="comment">// If a layer is present then the block will be used for execution, so input and output names need to be determined</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// using the previous and following layers so the graph is connected correctly. For validation this doesn&#39;t matter.</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="keywordflow">else</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    {</div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        <span class="comment">// Get the layers connected to the input slots and determine unique tensor names.</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; numInputs; ++i)</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        {</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;            std::string inputName = <a class="code" href="_tosa_operator_utils_8hpp.html#a8863b57c08a748fd2dd16880337f4b69">GenerateUniqueInputName</a>(layer-&gt;<a class="code" href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">GetInputSlot</a>(i));</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;            inputNames.push_back(inputName);</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        }</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160; </div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="comment">// Determine unique output tensor name.</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        outputName = <a class="code" href="_tosa_operator_utils_8hpp.html#a1e5b1f8dcc21f10bc7b0d8517e05049d">GenerateUniqueOutputName</a>(*layer);</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    }</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="keyword">auto</span> axis = <span class="keyword">static_cast&lt;</span>int32_t<span class="keyword">&gt;</span>(concatDescriptor-&gt;<a class="code" href="structarmnn_1_1_origins_descriptor.html#a379929e3b277f1ef94f3ce645870589d">GetConcatAxis</a>());</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    TosaAxisAttribute attribute(axis);</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    TosaSerializationOperator* op = <span class="keyword">new</span> TosaSerializationOperator(Op_CONCAT,</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;                                                                  Attribute_AxisAttribute,</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;                                                                  &amp;attribute,</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;                                                                  inputNames,</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;                                                                  {outputName});</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    std::vector&lt;TosaSerializationTensor*&gt; tensors;</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    tensors.reserve(numInputs + 1);</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; numInputs; ++i)</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    {</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="comment">// Only add input tensors for validation or when the connected layer is an input layer.</span></div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        <span class="comment">// As there can&#39;t be duplicate tensors and intermediate or constant tensors are created separately.</span></div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        <span class="keywordflow">if</span>(inputNames[i].find(<span class="stringliteral">&quot;input&quot;</span>) != std::string::npos)</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        {</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;            std::vector&lt;int32_t&gt; inputShape = <a class="code" href="_tosa_operator_utils_8hpp.html#a7d97964a65be4eb4a5b4109904f2e7f7">GetTosaTensorShape</a>(inputs[i]-&gt;GetShape());</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;            DType inputDType = <a class="code" href="_tosa_operator_utils_8hpp.html#a45d66f17ad6b0469e469f443b3e03226">ArmNNToDType</a>(inputs[i]-&gt;GetDataType());</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;            tensors.push_back(<span class="keyword">new</span> TosaSerializationTensor(inputNames[i], inputShape, inputDType, {}));</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        }</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    }</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    std::vector&lt;int32_t&gt; outputShape0 = <a class="code" href="_tosa_operator_utils_8hpp.html#a7d97964a65be4eb4a5b4109904f2e7f7">GetTosaTensorShape</a>(outputs[0]-&gt;GetShape());</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    DType outputDType0 = <a class="code" href="_tosa_operator_utils_8hpp.html#a45d66f17ad6b0469e469f443b3e03226">ArmNNToDType</a>(outputs[0]-&gt;GetDataType());</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; </div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    TosaSerializationTensor* outputTensor0 = <span class="keyword">new</span> TosaSerializationTensor(outputName, outputShape0, outputDType0, {});</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    tensors.push_back(outputTensor0);</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="comment">// operatorInputNames/operatorOutputNames ends up being the same as</span></div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="comment">// blockInputNames/blockOutputNames for one-to-one ArmNN to TOSA mappings</span></div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">new</span> TosaSerializationBasicBlock(blockName,     <span class="comment">// name</span></div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                                           <a class="code" href="_tosa_operator_utils_8hpp.html#a28514b014a4fe0841044f1868064bc65">mainName</a>,      <span class="comment">// region name</span></div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;                                           {op},          <span class="comment">// operators</span></div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;                                           tensors,       <span class="comment">// tensors</span></div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;                                           inputNames,    <span class="comment">// inputs</span></div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                                           {outputName}); <span class="comment">// outputs</span></div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="astructarmnn_1_1_origins_descriptor_html_a379929e3b277f1ef94f3ce645870589d"><div class="ttname"><a href="structarmnn_1_1_origins_descriptor.html#a379929e3b277f1ef94f3ce645870589d">armnn::OriginsDescriptor::GetConcatAxis</a></div><div class="ttdeci">unsigned int GetConcatAxis() const</div><div class="ttdoc">Get the concatenation axis value.</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8cpp_source.html#l00162">Descriptors.cpp:162</a></div></div>
<div class="ttc" id="a_concat_operator_8hpp_html"><div class="ttname"><a href="_concat_operator_8hpp.html">ConcatOperator.hpp</a></div></div>
<div class="ttc" id="a_tosa_operator_utils_8hpp_html_a1e5b1f8dcc21f10bc7b0d8517e05049d"><div class="ttname"><a href="_tosa_operator_utils_8hpp.html#a1e5b1f8dcc21f10bc7b0d8517e05049d">GenerateUniqueOutputName</a></div><div class="ttdeci">std::string GenerateUniqueOutputName(const Layer &amp;layer, uint32_t layerSlot=0)</div><div class="ttdef"><b>Definition:</b> <a href="_tosa_operator_utils_8hpp_source.html#l00120">TosaOperatorUtils.hpp:120</a></div></div>
<div class="ttc" id="a_concat_operator_8cpp_html_ab703c7d091e3b0c9bdbf3a0da16aa8c7"><div class="ttname"><a href="_concat_operator_8cpp.html#ab703c7d091e3b0c9bdbf3a0da16aa8c7">ConvertConcatToTosaOperator</a></div><div class="ttdeci">TosaSerializationBasicBlock * ConvertConcatToTosaOperator(const Layer *layer, const std::vector&lt; const TensorInfo * &gt; &amp;inputs, const std::vector&lt; const TensorInfo * &gt; &amp;outputs, const OriginsDescriptor *concatDescriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_concat_operator_8cpp_source.html#l00008">ConcatOperator.cpp:8</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_layer_html_acf8b8e23bf647836592982f97088d375"><div class="ttname"><a href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">armnn::Layer::GetInputSlot</a></div><div class="ttdeci">const InputSlot &amp; GetInputSlot(unsigned int index) const override</div><div class="ttdoc">Get a const input slot handle by slot index.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00337">Layer.hpp:337</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_layer_html"><div class="ttname"><a href="classarmnn_1_1_layer.html">armnn::Layer</a></div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00230">Layer.hpp:230</a></div></div>
<div class="ttc" id="a_tosa_operator_utils_8hpp_html_a28514b014a4fe0841044f1868064bc65"><div class="ttname"><a href="_tosa_operator_utils_8hpp.html#a28514b014a4fe0841044f1868064bc65">mainName</a></div><div class="ttdeci">const std::string mainName</div><div class="ttdef"><b>Definition:</b> <a href="_tosa_operator_utils_8hpp_source.html#l00019">TosaOperatorUtils.hpp:19</a></div></div>
<div class="ttc" id="a_tosa_operator_utils_8hpp_html_a45d66f17ad6b0469e469f443b3e03226"><div class="ttname"><a href="_tosa_operator_utils_8hpp.html#a45d66f17ad6b0469e469f443b3e03226">ArmNNToDType</a></div><div class="ttdeci">DType ArmNNToDType(const DataType &amp;type)</div><div class="ttdef"><b>Definition:</b> <a href="_tosa_operator_utils_8hpp_source.html#l00022">TosaOperatorUtils.hpp:22</a></div></div>
<div class="ttc" id="a_tosa_operator_utils_8hpp_html_a7d97964a65be4eb4a5b4109904f2e7f7"><div class="ttname"><a href="_tosa_operator_utils_8hpp.html#a7d97964a65be4eb4a5b4109904f2e7f7">GetTosaTensorShape</a></div><div class="ttdeci">std::vector&lt; int32_t &gt; GetTosaTensorShape(const TensorShape &amp;shape)</div><div class="ttdef"><b>Definition:</b> <a href="_tosa_operator_utils_8hpp_source.html#l00079">TosaOperatorUtils.hpp:79</a></div></div>
<div class="ttc" id="astructarmnn_1_1_origins_descriptor_html"><div class="ttname"><a href="structarmnn_1_1_origins_descriptor.html">armnn::OriginsDescriptor</a></div><div class="ttdoc">An OriginsDescriptor for the ConcatLayer.</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00201">Descriptors.hpp:201</a></div></div>
<div class="ttc" id="a_tosa_operator_utils_8hpp_html_a8863b57c08a748fd2dd16880337f4b69"><div class="ttname"><a href="_tosa_operator_utils_8hpp.html#a8863b57c08a748fd2dd16880337f4b69">GenerateUniqueInputName</a></div><div class="ttdeci">std::string GenerateUniqueInputName(const armnn::InputSlot &amp;slot)</div><div class="ttdef"><b>Definition:</b> <a href="_tosa_operator_utils_8hpp_source.html#l00109">TosaOperatorUtils.hpp:109</a></div></div>
<div class="ttc" id="a_tosa_operator_utils_8hpp_html_aadc5d73bd0cb81999bcfdc62bce020e8"><div class="ttname"><a href="_tosa_operator_utils_8hpp.html#aadc5d73bd0cb81999bcfdc62bce020e8">GetUniqueTosaMappingID</a></div><div class="ttdeci">std::string GetUniqueTosaMappingID()</div><div class="ttdef"><b>Definition:</b> <a href="_tosa_operator_utils_8hpp_source.html#l00138">TosaOperatorUtils.hpp:138</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="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_3eeadfb79f8e6e284b92aba47a7684a1.html">tosaCommon</a></li><li class="navelem"><a class="el" href="dir_44a5c203710327e1068d2575c20cb7c6.html">operatorMappings</a></li><li class="navelem"><a class="el" href="_concat_operator_8cpp.html">ConcatOperator.cpp</a></li>
    <li class="footer">Generated on Thu May 16 2024 09:31:49 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>
