<!-- 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: TensorPrinter 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">
   &#160;<span id="projectnumber">20.11</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('struct_tensor_printer.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> &#124;
<a href="struct_tensor_printer-members.xhtml">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">TensorPrinter Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_network_execution_utils_8hpp_source.xhtml">NetworkExecutionUtils.hpp</a>&gt;</code></p>
<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:a0677e34294f161be8655f14004ff7fbb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_tensor_printer.xhtml#a0677e34294f161be8655f14004ff7fbb">TensorPrinter</a> (const std::string &amp;binding, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a> &amp;info, const std::string &amp;outputTensorFile, bool dequantizeOutput)</td></tr>
<tr class="separator:a0677e34294f161be8655f14004ff7fbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0a96118f11a4b009ac07643cd266a76"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_tensor_printer.xhtml#aa0a96118f11a4b009ac07643cd266a76">operator()</a> (const std::vector&lt; float &gt; &amp;values)</td></tr>
<tr class="separator:aa0a96118f11a4b009ac07643cd266a76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20b25d69990e958ef791a82905e1cab3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_tensor_printer.xhtml#a20b25d69990e958ef791a82905e1cab3">operator()</a> (const std::vector&lt; uint8_t &gt; &amp;values)</td></tr>
<tr class="separator:a20b25d69990e958ef791a82905e1cab3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d12b1e698e09b7b7049d6f9030c9c13"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_tensor_printer.xhtml#a8d12b1e698e09b7b7049d6f9030c9c13">operator()</a> (const std::vector&lt; int &gt; &amp;values)</td></tr>
<tr class="separator:a8d12b1e698e09b7b7049d6f9030c9c13"><td class="memSeparator" colspan="2">&#160;</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="_network_execution_utils_8hpp_source.xhtml#l00024">24</a> of file <a class="el" href="_network_execution_utils_8hpp_source.xhtml">NetworkExecutionUtils.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0677e34294f161be8655f14004ff7fbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0677e34294f161be8655f14004ff7fbb">&#9670;&nbsp;</a></span>TensorPrinter()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_tensor_printer.xhtml">TensorPrinter</a> </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>binding</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a> &amp;&#160;</td>
          <td class="paramname"><em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>outputTensorFile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>dequantizeOutput</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_network_execution_utils_8cpp_source.xhtml#l00092">92</a> of file <a class="el" href="_network_execution_utils_8cpp_source.xhtml">NetworkExecutionUtils.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                             : m_OutputBinding(binding)</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                             , m_Scale(info.<a class="code" href="classarmnn_1_1_tensor_info.xhtml#a047ca888c43bd7fb5702853bf72410d0">GetQuantizationScale</a>())</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                             , m_Offset(info.<a class="code" href="classarmnn_1_1_tensor_info.xhtml#a770b51078da02f44a819e9f95d8058b5">GetQuantizationOffset</a>())</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                             , m_OutputTensorFile(outputTensorFile)</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                             , m_DequantizeOutput(dequantizeOutput) {}</div><div class="ttc" id="classarmnn_1_1_tensor_info_xhtml_a770b51078da02f44a819e9f95d8058b5"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml#a770b51078da02f44a819e9f95d8058b5">armnn::TensorInfo::GetQuantizationOffset</a></div><div class="ttdeci">int32_t GetQuantizationOffset() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8cpp_source.xhtml#l00469">Tensor.cpp:469</a></div></div>
<div class="ttc" id="classarmnn_1_1_tensor_info_xhtml_a047ca888c43bd7fb5702853bf72410d0"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml#a047ca888c43bd7fb5702853bf72410d0">armnn::TensorInfo::GetQuantizationScale</a></div><div class="ttdeci">float GetQuantizationScale() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8cpp_source.xhtml#l00452">Tensor.cpp:452</a></div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aa0a96118f11a4b009ac07643cd266a76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0a96118f11a4b009ac07643cd266a76">&#9670;&nbsp;</a></span>operator()() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void operator() </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>values</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_network_execution_utils_8cpp_source.xhtml#l00102">102</a> of file <a class="el" href="_network_execution_utils_8cpp_source.xhtml">NetworkExecutionUtils.cpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_network_execution_utils_8cpp_source.xhtml#l00111">operator()()</a>.</p>
<div class="fragment"><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;{</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    ForEachValue(values, [](<span class="keywordtype">float</span> value)</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    {</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        printf(<span class="stringliteral">&quot;%f &quot;</span>, value);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    });</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    WriteToFile(values);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a20b25d69990e958ef791a82905e1cab3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20b25d69990e958ef791a82905e1cab3">&#9670;&nbsp;</a></span>operator()() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void operator() </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; uint8_t &gt; &amp;&#160;</td>
          <td class="paramname"><em>values</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_network_execution_utils_8cpp_source.xhtml#l00111">111</a> of file <a class="el" href="_network_execution_utils_8cpp_source.xhtml">NetworkExecutionUtils.cpp</a>.</p>

<p class="reference">References <a class="el" href="_types_utils_8cpp_source.xhtml#l00046">armnn::Dequantize()</a>, and <a class="el" href="_network_execution_utils_8cpp_source.xhtml#l00102">operator()()</a>.</p>
<div class="fragment"><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;{</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordflow">if</span>(m_DequantizeOutput)</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    {</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        <span class="keyword">auto</span>&amp; scale = m_Scale;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        <span class="keyword">auto</span>&amp; offset = m_Offset;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        std::vector&lt;float&gt; dequantizedValues;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        ForEachValue(values, [&amp;scale, &amp;offset, &amp;dequantizedValues](uint8_t value)</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        {</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;            <span class="keyword">auto</span> dequantizedValue = <a class="code" href="namespacearmnn.xhtml#a855293b1be0581fb61ef6a1c5b027d0f">armnn::Dequantize</a>(value, scale, offset);</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;            printf(<span class="stringliteral">&quot;%f &quot;</span>, dequantizedValue);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;            dequantizedValues.push_back(dequantizedValue);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        });</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        WriteToFile(dequantizedValues);</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    }</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    {</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <span class="keyword">const</span> std::vector&lt;int&gt; intValues(values.begin(), values.end());</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        <a class="code" href="struct_tensor_printer.xhtml#aa0a96118f11a4b009ac07643cd266a76">operator()</a>(intValues);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    }</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a855293b1be0581fb61ef6a1c5b027d0f"><div class="ttname"><a href="namespacearmnn.xhtml#a855293b1be0581fb61ef6a1c5b027d0f">armnn::Dequantize</a></div><div class="ttdeci">float Dequantize(QuantizedType value, float scale, int32_t offset)</div><div class="ttdoc">Dequantize an 8-bit data type into a floating point data type. </div><div class="ttdef"><b>Definition:</b> <a href="_types_utils_8cpp_source.xhtml#l00046">TypesUtils.cpp:46</a></div></div>
<div class="ttc" id="struct_tensor_printer_xhtml_aa0a96118f11a4b009ac07643cd266a76"><div class="ttname"><a href="struct_tensor_printer.xhtml#aa0a96118f11a4b009ac07643cd266a76">TensorPrinter::operator()</a></div><div class="ttdeci">void operator()(const std::vector&lt; float &gt; &amp;values)</div><div class="ttdef"><b>Definition:</b> <a href="_network_execution_utils_8cpp_source.xhtml#l00102">NetworkExecutionUtils.cpp:102</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a8d12b1e698e09b7b7049d6f9030c9c13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d12b1e698e09b7b7049d6f9030c9c13">&#9670;&nbsp;</a></span>operator()() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void operator() </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>values</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_network_execution_utils_8cpp_source.xhtml#l00133">133</a> of file <a class="el" href="_network_execution_utils_8cpp_source.xhtml">NetworkExecutionUtils.cpp</a>.</p>

<p class="reference">References <a class="el" href="_logging_8hpp_source.xhtml#l00163">ARMNN_LOG</a>.</p>
<div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;{</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    ForEachValue(values, [](<span class="keywordtype">int</span> value)</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    {</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        printf(<span class="stringliteral">&quot;%d &quot;</span>, value);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    });</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    WriteToFile(values);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>tests/NetworkExecutionUtils/<a class="el" href="_network_execution_utils_8hpp_source.xhtml">NetworkExecutionUtils.hpp</a></li>
<li>tests/NetworkExecutionUtils/<a class="el" href="_network_execution_utils_8cpp_source.xhtml">NetworkExecutionUtils.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="struct_tensor_printer.xhtml">TensorPrinter</a></li>
    <li class="footer">Generated on Wed Nov 25 2020 09:59:16 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>
