blob: af4b7646a5b13623c9e421e69816ecd7d94d2720 [file] [log] [blame]
<!-- HTML header for doxygen 1.8.15-->
<!-- Remember to use version doxygen 1.8.15 +-->
<!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.15"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: tests/validate_examples/graph_validate_utils.h 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>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</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="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="Compute Library" src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png" style="max-width: 100%;margin-top: 15px;margin-left: 10px"/>
<td style="padding-left: 0.5em;">
<div id="projectname">
&#160;<span id="projectnumber">20.02.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<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('graph__validate__utils_8h_source.xhtml','');});
/* @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">graph_validate_utils.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="graph__validate__utils_8h.xhtml">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 (c) 2019-2020 ARM Limited.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * SPDX-License-Identifier: MIT</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a copy</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of this software and associated documentation files (the &quot;Software&quot;), to</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * deal in the Software without restriction, including without limitation the</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * sell copies of the Software, and to permit persons to whom the Software is</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be included in all</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * copies or substantial portions of the Software.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * SOFTWARE.</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#ifndef GRAPH_VALIDATE_UTILS_H</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#define GRAPH_VALIDATE_UTILS_H</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_graph_8h.xhtml">arm_compute/graph.h</a>&quot;</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_validate_example_8h.xhtml">ValidateExample.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_command_line_parser_8h.xhtml">utils/command_line/CommandLineParser.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacearm__compute.xhtml">arm_compute</a></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;{</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">namespace </span>utils</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;<span class="comment">/*Available Padding modes */</span></div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29d"> 38</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29d">ConvolutionPaddingMode</a></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29da3ac705f2acd51a4613f9188c05c91d0d">Valid</a>,</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29dac90a13d8ec8fe53c6bb33fe10af6f2fe">Same</a>,</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29dae1ba155a9f2e8c3be94020eef32a0301">Manual</a></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;};</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment">/** Stream Input operator for the ConvolutionPaddingMode type</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> * @param[in] stream Input stream.</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"> * @param[out] Mode Convolution parameters to output</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"> * @return input stream.</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1utils.xhtml#a96696b615d35757e96ea6310297f8ba5"> 52</a></span>&#160;inline ::std::istream &amp;<a class="code" href="namespacearm__compute_1_1utils.xhtml#a96696b615d35757e96ea6310297f8ba5">operator&gt;&gt;</a>(::std::istream &amp;stream, <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29d">ConvolutionPaddingMode</a> &amp;Mode)</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;{</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> std::map&lt;std::string, ConvolutionPaddingMode&gt; modes =</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; { <span class="stringliteral">&quot;valid&quot;</span>, <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29da3ac705f2acd51a4613f9188c05c91d0d">ConvolutionPaddingMode::Valid</a> },</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; { <span class="stringliteral">&quot;same&quot;</span>, <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29dac90a13d8ec8fe53c6bb33fe10af6f2fe">ConvolutionPaddingMode::Same</a> },</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; { <span class="stringliteral">&quot;manual&quot;</span>, <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29dae1ba155a9f2e8c3be94020eef32a0301">ConvolutionPaddingMode::Manual</a> }</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; };</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; std::string value;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; stream &gt;&gt; value;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor">#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">try</span></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;<span class="preprocessor">#endif </span><span class="comment">/* ARM_COMPUTE_EXCEPTIONS_DISABLED */</span><span class="preprocessor"></span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; Mode = modes.at(<a class="code" href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a>(value));</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor">#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">catch</span>(<span class="keyword">const</span> std::out_of_range &amp;)</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="keywordflow">throw</span> std::invalid_argument(value);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* ARM_COMPUTE_EXCEPTIONS_DISABLED */</span><span class="preprocessor"></span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> stream;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;}</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment">/** Formatted output of the ConvolutionPaddingMode type</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"> * @param[out] os Output stream.</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> * @param[in] Mode ConvolutionPaddingMode to output</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"> * @return Modified output stream.</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1utils.xhtml#aaea51d53fd1d57be4dde4e38874d9019"> 85</a></span>&#160;inline ::std::ostream &amp;<a class="code" href="namespacearm__compute_1_1utils.xhtml#aaea51d53fd1d57be4dde4e38874d9019">operator&lt;&lt;</a>(::std::ostream &amp;os, <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29d">ConvolutionPaddingMode</a> Mode)</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;{</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">switch</span>(Mode)</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29da3ac705f2acd51a4613f9188c05c91d0d">ConvolutionPaddingMode::Valid</a>:</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;Valid&quot;</span>;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29dac90a13d8ec8fe53c6bb33fe10af6f2fe">ConvolutionPaddingMode::Same</a>:</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;Same&quot;</span>;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29dae1ba155a9f2e8c3be94020eef32a0301">ConvolutionPaddingMode::Manual</a>:</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;Manual&quot;</span>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;Unsupported padding mode format&quot;</span>);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; }</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">return</span> os;</div><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;<span class="comment"></span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment">/** Structure holding all the input tensor graph parameters */</span></div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml"> 106</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml">TensorParams</a></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"><a class="line" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a2474a5474cbff19523a51eb1de01cda4"> 108</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a2474a5474cbff19523a51eb1de01cda4">width</a>{ 1 };</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#ad12fc34ce789bce6c8a05d8a17138534"> 109</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#ad12fc34ce789bce6c8a05d8a17138534">height</a>{ 1 };</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#accc3b8fde7c3ba545f41521e46f42e4c"> 110</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#accc3b8fde7c3ba545f41521e46f42e4c">fm</a>{ 1 };</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#ad1793c1a8dd3db1a8c4e2d76eadf0036"> 111</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#ad1793c1a8dd3db1a8c4e2d76eadf0036">batch</a>{ 1 };</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a65bc62ff84efcb7e4a410600480a4dc9"> 112</a></span>&#160; <a class="code" href="classarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> <a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a65bc62ff84efcb7e4a410600480a4dc9">quant_info</a>{ 1.0f, 0 };</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#aef1c0b2053bee947f72e999db335c84c"> 113</a></span>&#160; std::string <a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#aef1c0b2053bee947f72e999db335c84c">npy</a>{};</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a6e1311c23c64b1a05475e5de91d75429"> 114</a></span>&#160; uint64_t <a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a6e1311c23c64b1a05475e5de91d75429">range_low</a>{ 0 };</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#af0b9179895ca471157ea7edb8f07ef18"> 115</a></span>&#160; uint64_t <a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#af0b9179895ca471157ea7edb8f07ef18">range_high</a>{ 16 };</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;};</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment">/** Structure holding all the verification graph parameters */</span></div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_verification_params.xhtml"> 119</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarm__compute_1_1utils_1_1_verification_params.xhtml">VerificationParams</a></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;{</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_verification_params.xhtml#a391ce7e414170c2816119402b217397f"> 121</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="structarm__compute_1_1utils_1_1_verification_params.xhtml#a391ce7e414170c2816119402b217397f">absolute_tolerance</a>{ -1.f };</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_verification_params.xhtml#a1737e18ea7e3b57e7214453a0991a732"> 122</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="structarm__compute_1_1utils_1_1_verification_params.xhtml#a1737e18ea7e3b57e7214453a0991a732">relative_tolerance</a>{ -1.f };</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_verification_params.xhtml#ad2934e26bd8d5d9cb23040bf3135c4bf"> 123</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="structarm__compute_1_1utils_1_1_verification_params.xhtml#ad2934e26bd8d5d9cb23040bf3135c4bf">tolerance_number</a>{ -1.f };</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;};</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment">/** Structure holding all the common graph parameters */</span></div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_framework_params.xhtml"> 127</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarm__compute_1_1utils_1_1_framework_params.xhtml">FrameworkParams</a></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;{</div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a545363392790133c5dec1fd9e2cb279d"> 129</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a545363392790133c5dec1fd9e2cb279d">help</a>{ <span class="keyword">false</span> };</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a4f987a98d3e1221916748962e45399fe"> 130</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a4f987a98d3e1221916748962e45399fe">threads</a>{ 0 };</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a29d9bc83bfba2fba21af47e575569dde"> 131</a></span>&#160; <a class="code" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35d">arm_compute::graph::Target</a> <a class="code" href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a29d9bc83bfba2fba21af47e575569dde">target</a>{ <a class="code" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35dacaf162e9233294cadf62d2a71a14ca09">arm_compute::graph::Target::NEON</a> };</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;};</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment">/** Structure holding all the graph Example parameters */</span></div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_common_params.xhtml"> 135</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml">CommonParams</a></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"><a class="line" href="structarm__compute_1_1utils_1_1_common_params.xhtml#ae5f124b6706064b8b8a507d1b8967ab8"> 137</a></span>&#160; <a class="code" href="structarm__compute_1_1utils_1_1_framework_params.xhtml">FrameworkParams</a> <a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#ae5f124b6706064b8b8a507d1b8967ab8">common_params</a>{};</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b"> 138</a></span>&#160; <a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml">TensorParams</a> <a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>{};</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a39e23cca85d22b36fc18fbed987af01b"> 139</a></span>&#160; <a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml">TensorParams</a> <a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a39e23cca85d22b36fc18fbed987af01b">weights</a>{};</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a2cf08508c0b5892468831a326739d95b"> 140</a></span>&#160; <a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml">TensorParams</a> <a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a2cf08508c0b5892468831a326739d95b">bias</a>{};</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_common_params.xhtml#ab6692d047db2f0c872e4dfc55f958533"> 141</a></span>&#160; <a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml">TensorParams</a> <a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#ab6692d047db2f0c872e4dfc55f958533">output</a>{};</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aa9a98a0656a58548b5582d40fac47b06"> 142</a></span>&#160; <a class="code" href="structarm__compute_1_1utils_1_1_verification_params.xhtml">VerificationParams</a> <a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aa9a98a0656a58548b5582d40fac47b06">verification</a>{};</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a901f5f80dfec4ef700c14947ca8397c9"> 143</a></span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> <a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a901f5f80dfec4ef700c14947ca8397c9">data_type</a>{ <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">DataType::F32</a> };</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;};</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment">/** Structure holding all the Convolution layer graph parameters */</span></div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml"> 147</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml">ConvolutionParams</a></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;{</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#ab65969d39b883173d7d0801893d51bc7"> 149</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#ab65969d39b883173d7d0801893d51bc7">depth_multiplier</a>{ 1 };<span class="comment"></span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> /** Padding graph parameters */</span></div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#aa6c55f2c9300c3ba619d7270b63fde74"> 151</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#aa6c55f2c9300c3ba619d7270b63fde74">padding_top</a>{ 0 };</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#aa6d771cbcf870679140f742c5703d617"> 152</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#aa6d771cbcf870679140f742c5703d617">padding_bottom</a>{ 0 };</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#af50219e3555b6a249b4f52ac5d61ba21"> 153</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#af50219e3555b6a249b4f52ac5d61ba21">padding_left</a>{ 0 };</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a674e7b3c7f8aaf704f352704a5899a8e"> 154</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a674e7b3c7f8aaf704f352704a5899a8e">padding_right</a>{ 0 };</div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#af2246dc6ff43e8b91817f211801be9d5"> 155</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#af2246dc6ff43e8b91817f211801be9d5">padding_stride_x</a>{ 0 };</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a2268d3b0d31e3e74d6e4cb7d7e9fae0e"> 156</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a2268d3b0d31e3e74d6e4cb7d7e9fae0e">padding_stride_y</a>{ 0 };</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#af95e133b6f176c39dda5a19abfeb052d"> 157</a></span>&#160; <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29d">ConvolutionPaddingMode</a> <a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#af95e133b6f176c39dda5a19abfeb052d">padding_mode</a>{ <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29da3ac705f2acd51a4613f9188c05c91d0d">ConvolutionPaddingMode::Valid</a> };</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keyword">struct</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keyword">struct</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a80c0944640e62d3ed6c5419c1bcc0c88"> 162</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a80c0944640e62d3ed6c5419c1bcc0c88">X</a>{ 0 };</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#aa482c4cc86a24474e4fb19b5b5978778"> 163</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#aa482c4cc86a24474e4fb19b5b5978778">Y</a>{ 0 };</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; } <a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a2c02bd27bcd7e29e453bc5348e54a21e">stride</a>{};</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a816aa7a286e811e2cdeaf06d1cee5876"> 165</a></span>&#160; <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29d">ConvolutionPaddingMode</a> <a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a816aa7a286e811e2cdeaf06d1cee5876">mode</a>{ <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29da3ac705f2acd51a4613f9188c05c91d0d">ConvolutionPaddingMode::Valid</a> };</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; } <a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a1fd82c3f7bd713d01efc8796364f35eb">padding</a>{};</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;};</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment">/** Structure holding all the fully_connected layer graph parameters */</span></div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_fully_connected_params.xhtml"> 170</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarm__compute_1_1utils_1_1_fully_connected_params.xhtml">FullyConnectedParams</a></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;{</div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_fully_connected_params.xhtml#a52743cedeb270ec4767fd8cccdd1adfd"> 172</a></span>&#160; <a class="code" href="structarm__compute_1_1_fully_connected_layer_info.xhtml">FullyConnectedLayerInfo</a> <a class="code" href="structarm__compute_1_1utils_1_1_fully_connected_params.xhtml#a52743cedeb270ec4767fd8cccdd1adfd">info</a>{};</div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_fully_connected_params.xhtml#a8473cdd04f05bb326d412a61e32c77cb"> 173</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structarm__compute_1_1utils_1_1_fully_connected_params.xhtml#a8473cdd04f05bb326d412a61e32c77cb">num_outputs</a>{ 1 };</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;};</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment">/** Structure holding all the graph Example parameters */</span></div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_example_params.xhtml"> 177</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml">ExampleParams</a> : <span class="keyword">public</span> <a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml">CommonParams</a></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;{</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a901823eca780b42971295d670ca93a89"> 179</a></span>&#160; <a class="code" href="structarm__compute_1_1utils_1_1_fully_connected_params.xhtml">FullyConnectedParams</a> <a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a901823eca780b42971295d670ca93a89">fully_connected</a>{};</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a6bc5bc347677882d4004e81b43d2ba1b"> 180</a></span>&#160; <a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml">ConvolutionParams</a> <a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a6bc5bc347677882d4004e81b43d2ba1b">convolution</a>{};</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_example_params.xhtml#acf9c4d06fdffc57621c91a2755f678ab"> 181</a></span>&#160; <a class="code" href="namespacearm__compute_1_1graph.xhtml#a75ce9b1baad4303a53124d6f0795821f">arm_compute::graph::DepthwiseConvolutionMethod</a> <a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#acf9c4d06fdffc57621c91a2755f678ab">depth_convolution_method</a>{ <a class="code" href="namespacearm__compute_1_1graph.xhtml#a75ce9b1baad4303a53124d6f0795821fa7a1920d61156abc05a60135aefe8bc67">arm_compute::graph::DepthwiseConvolutionMethod::Default</a> };</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a7173829b5cc784e10e5e113cfa19e57c"> 182</a></span>&#160; <a class="code" href="namespacearm__compute_1_1graph.xhtml#a683661ae75dcb7aef16b9c9bde31517d">arm_compute::graph::ConvolutionMethod</a> <a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a7173829b5cc784e10e5e113cfa19e57c">convolution_method</a>{ <a class="code" href="namespacearm__compute_1_1graph.xhtml#a683661ae75dcb7aef16b9c9bde31517da7a1920d61156abc05a60135aefe8bc67">arm_compute::graph::ConvolutionMethod::Default</a> };</div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="structarm__compute_1_1utils_1_1_example_params.xhtml#aa56f0562febf49bc0e29a4257551191b"> 183</a></span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> <a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#aa56f0562febf49bc0e29a4257551191b">data_layout</a>{ <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a> };</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;};</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment">/** Calculate stride information.</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> * Depending on the selected padding mode create the desired PadStrideInfo</span></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="comment"> * @param[in] params Convolution parameters supplied by the user.</span></div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment"> * @return PadStrideInfo with the correct padding mode.</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1utils.xhtml#ab74bfb3856ceeda7e8fe2536bdf77ef0"> 194</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> <a class="code" href="namespacearm__compute_1_1utils.xhtml#ab74bfb3856ceeda7e8fe2536bdf77ef0">calculate_convolution_padding</a>(<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml">ExampleParams</a> params)</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;{</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">switch</span>(params.<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a6bc5bc347677882d4004e81b43d2ba1b">convolution</a>.<a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#af95e133b6f176c39dda5a19abfeb052d">padding_mode</a>)</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29dae1ba155a9f2e8c3be94020eef32a0301">ConvolutionPaddingMode::Manual</a>:</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; {</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a>(params.<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a6bc5bc347677882d4004e81b43d2ba1b">convolution</a>.<a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#af2246dc6ff43e8b91817f211801be9d5">padding_stride_x</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a6bc5bc347677882d4004e81b43d2ba1b">convolution</a>.<a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a2268d3b0d31e3e74d6e4cb7d7e9fae0e">padding_stride_y</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a6bc5bc347677882d4004e81b43d2ba1b">convolution</a>.<a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#af50219e3555b6a249b4f52ac5d61ba21">padding_left</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a6bc5bc347677882d4004e81b43d2ba1b">convolution</a>.<a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a674e7b3c7f8aaf704f352704a5899a8e">padding_right</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a6bc5bc347677882d4004e81b43d2ba1b">convolution</a>.<a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#aa6c55f2c9300c3ba619d7270b63fde74">padding_top</a>,</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; params.<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a6bc5bc347677882d4004e81b43d2ba1b">convolution</a>.<a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#aa6d771cbcf870679140f742c5703d617">padding_bottom</a>, <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">DimensionRoundingType::FLOOR</a>);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; }</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29da3ac705f2acd51a4613f9188c05c91d0d">ConvolutionPaddingMode::Valid</a>:</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a>();</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; }</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29dac90a13d8ec8fe53c6bb33fe10af6f2fe">ConvolutionPaddingMode::Same</a>:</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; {</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#aa6d4f0b9fedd979c5b768f9b34fda9f6">arm_compute::calculate_same_pad</a>(<a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>(params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a2474a5474cbff19523a51eb1de01cda4">width</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#ad12fc34ce789bce6c8a05d8a17138534">height</a>), <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>(params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a39e23cca85d22b36fc18fbed987af01b">weights</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a2474a5474cbff19523a51eb1de01cda4">width</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a39e23cca85d22b36fc18fbed987af01b">weights</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#ad12fc34ce789bce6c8a05d8a17138534">height</a>),</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a>(params.<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a6bc5bc347677882d4004e81b43d2ba1b">convolution</a>.<a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#af2246dc6ff43e8b91817f211801be9d5">padding_stride_x</a>,</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; params.<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a6bc5bc347677882d4004e81b43d2ba1b">convolution</a>.<a class="code" href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a2268d3b0d31e3e74d6e4cb7d7e9fae0e">padding_stride_y</a>));</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; }</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;}<span class="comment"></span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="comment">/** CommonGraphValidateOptions command line options used to configure the graph examples</span></div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="comment"> * (Similar to common options)</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="comment"> * The options in this object get populated when &quot;parse()&quot; is called on the parser used to construct it.</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="comment"> * The expected workflow is:</span></div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment"> * CommandLineParser parser;</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="comment"> * CommonOptions options( parser );</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<span class="comment"> * parser.parse(argc, argv);</span></div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml"> 227</a></span>&#160;<span class="keyword">class </span><a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml">CommonGraphValidateOptions</a></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;{</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#aa6f2c5b62929dd220351e73231c9a641"> 230</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#aa6f2c5b62929dd220351e73231c9a641">CommonGraphValidateOptions</a>(<a class="code" href="classarm__compute_1_1utils_1_1_command_line_parser.xhtml">CommandLineParser</a> &amp;<a class="code" href="namespace_gemm_tuner.xhtml#a90eee7a4677ca8b1ed116364a24367f9">parser</a>) noexcept</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; : <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#acb3f1fc6ee2cea2cf9074e7dfa4acf2b">help</a>(<a class="code" href="namespace_gemm_tuner.xhtml#a90eee7a4677ca8b1ed116364a24367f9">parser</a>.add_option&lt;<a class="code" href="classarm__compute_1_1utils_1_1_toggle_option.xhtml">ToggleOption</a>&gt;(<span class="stringliteral">&quot;help&quot;</span>)),</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#ad6174941c7ae1c945e4f7fcb3261f87c">threads</a>(<a class="code" href="namespace_gemm_tuner.xhtml#a90eee7a4677ca8b1ed116364a24367f9">parser</a>.add_option&lt;<a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml">SimpleOption&lt;int&gt;</a>&gt;(<span class="stringliteral">&quot;threads&quot;</span>)),</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a770e3e82cb8e4632d754e651fd29b9cb">target</a>(),</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a07e18432725b2e2d3c0a5625a8aea8a8">data_type</a>(),</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#ae34b3428ac86441ca6ecab0ea1b24290">absolute_tolerance</a>(<a class="code" href="namespace_gemm_tuner.xhtml#a90eee7a4677ca8b1ed116364a24367f9">parser</a>.add_option&lt;<a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml">SimpleOption&lt;float&gt;</a>&gt;(<span class="stringliteral">&quot;abs_tolerance&quot;</span>, -1.0f)),</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a79abd9f6bf27e92a31d668b78af1bbc1">relative_tolerance</a>(<a class="code" href="namespace_gemm_tuner.xhtml#a90eee7a4677ca8b1ed116364a24367f9">parser</a>.add_option&lt;<a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml">SimpleOption&lt;float&gt;</a>&gt;(<span class="stringliteral">&quot;rel_tolerance&quot;</span>, -1.0f)),</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a3af7a44f7d0ef3276bc0b419f418012c">tolerance_number</a>(<a class="code" href="namespace_gemm_tuner.xhtml#a90eee7a4677ca8b1ed116364a24367f9">parser</a>.add_option&lt;<a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml">SimpleOption&lt;float&gt;</a>&gt;(<span class="stringliteral">&quot;tolerance_num&quot;</span>, -1.0f))</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; {</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keyword">const</span> std::set&lt;arm_compute::graph::Target&gt; supported_targets</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; {</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35dacaf162e9233294cadf62d2a71a14ca09">arm_compute::graph::Target::NEON</a>,</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35da5bc574a47246f122016869b32a6aa6f0">arm_compute::graph::Target::CL</a>,</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <a class="code" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35da7359c3eb5c57547295a76ac1bf775b29">arm_compute::graph::Target::GC</a>,</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; };</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keyword">const</span> std::set&lt;arm_compute::DataType&gt; supported_data_types</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">DataType::F16</a>,</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">DataType::F32</a>,</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">DataType::QASYMM8</a>,</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; };</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a770e3e82cb8e4632d754e651fd29b9cb">target</a> = <a class="code" href="namespace_gemm_tuner.xhtml#a90eee7a4677ca8b1ed116364a24367f9">parser</a>.add_option&lt;<a class="code" href="classarm__compute_1_1utils_1_1_enum_option.xhtml">EnumOption&lt;arm_compute::graph::Target&gt;</a>&gt;(<span class="stringliteral">&quot;target&quot;</span>, supported_targets, <a class="code" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35dacaf162e9233294cadf62d2a71a14ca09">arm_compute::graph::Target::NEON</a>);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a07e18432725b2e2d3c0a5625a8aea8a8">data_type</a> = <a class="code" href="namespace_gemm_tuner.xhtml#a90eee7a4677ca8b1ed116364a24367f9">parser</a>.add_option&lt;<a class="code" href="classarm__compute_1_1utils_1_1_enum_option.xhtml">EnumOption&lt;DataType&gt;</a>&gt;(<span class="stringliteral">&quot;type&quot;</span>, supported_data_types, <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">DataType::F32</a>);</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a770e3e82cb8e4632d754e651fd29b9cb">target</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_option.xhtml#a48a2672f362eeed9a3e93403f4d3de37">set_help</a>(<span class="stringliteral">&quot;Target to execute on&quot;</span>);</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a07e18432725b2e2d3c0a5625a8aea8a8">data_type</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_option.xhtml#a48a2672f362eeed9a3e93403f4d3de37">set_help</a>(<span class="stringliteral">&quot;Data type to use&quot;</span>);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#acb3f1fc6ee2cea2cf9074e7dfa4acf2b">help</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_option.xhtml#a48a2672f362eeed9a3e93403f4d3de37">set_help</a>(<span class="stringliteral">&quot;Show this help message&quot;</span>);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#ae34b3428ac86441ca6ecab0ea1b24290">absolute_tolerance</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_option.xhtml#a48a2672f362eeed9a3e93403f4d3de37">set_help</a>(<span class="stringliteral">&quot;Absolute tolerance used for verification&quot;</span>);</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a79abd9f6bf27e92a31d668b78af1bbc1">relative_tolerance</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_option.xhtml#a48a2672f362eeed9a3e93403f4d3de37">set_help</a>(<span class="stringliteral">&quot;Absolute tolerance used for verification&quot;</span>);</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a3af7a44f7d0ef3276bc0b419f418012c">tolerance_number</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_option.xhtml#a48a2672f362eeed9a3e93403f4d3de37">set_help</a>(<span class="stringliteral">&quot;Absolute tolerance used for verification&quot;</span>);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; }</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;<span class="comment"> /** Prevent instances of this class from being copied (As this class contains pointers) */</span></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#aa6f2c5b62929dd220351e73231c9a641">CommonGraphValidateOptions</a>(<span class="keyword">const</span> <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml">CommonGraphValidateOptions</a> &amp;) = <span class="keyword">delete</span>;<span class="comment"></span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;<span class="comment"> /** Prevent instances of this class from being copied (As this class contains pointers) */</span></div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml">CommonGraphValidateOptions</a> &amp;<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a8047a16c04029dd91c525b1572282448">operator=</a>(<span class="keyword">const</span> <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml">CommonGraphValidateOptions</a> &amp;) = <span class="keyword">delete</span>;<span class="comment"></span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="comment"> /** Allow instances of this class to be moved */</span></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#aa6f2c5b62929dd220351e73231c9a641">CommonGraphValidateOptions</a>(<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml">CommonGraphValidateOptions</a> &amp;&amp;) noexcept(true) = <a class="code" href="namespace_gemm_tuner.xhtml#affb1327b18bf08a379d19eef89cf1ed1">default</a>;<span class="comment"></span></div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="comment"> /** Allow instances of this class to be moved */</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml">CommonGraphValidateOptions</a> &amp;operator=(<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml">CommonGraphValidateOptions</a> &amp;&amp;) noexcept(true) = <a class="code" href="namespace_gemm_tuner.xhtml#affb1327b18bf08a379d19eef89cf1ed1">default</a>;<span class="comment"></span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="comment"> /** Default destructor */</span></div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; virtual ~<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml">CommonGraphValidateOptions</a>() = <a class="code" href="namespace_gemm_tuner.xhtml#affb1327b18bf08a379d19eef89cf1ed1">default</a>;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a9dbe8cb92349b9aec5281e4e37a2f487"> 275</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a9dbe8cb92349b9aec5281e4e37a2f487">consume_common_parameters</a>(<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml">CommonParams</a> &amp;common_params)</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; {</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; common_params.common_params.help = <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#acb3f1fc6ee2cea2cf9074e7dfa4acf2b">help</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_option.xhtml#a8d75095e0ce4d0cc3ed6bc4733664a74">is_set</a>() ? <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#acb3f1fc6ee2cea2cf9074e7dfa4acf2b">help</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml#ab5d906b55180c260032ce43d6c5d4d06">value</a>() : <span class="keyword">false</span>;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; common_params.common_params.threads = <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#ad6174941c7ae1c945e4f7fcb3261f87c">threads</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml#ab5d906b55180c260032ce43d6c5d4d06">value</a>();</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; common_params.common_params.target = <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a770e3e82cb8e4632d754e651fd29b9cb">target</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_enum_option.xhtml#ab5d906b55180c260032ce43d6c5d4d06">value</a>();</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; common_params.verification.absolute_tolerance = <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#ae34b3428ac86441ca6ecab0ea1b24290">absolute_tolerance</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml#ab5d906b55180c260032ce43d6c5d4d06">value</a>();</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; common_params.verification.relative_tolerance = <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a79abd9f6bf27e92a31d668b78af1bbc1">relative_tolerance</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml#ab5d906b55180c260032ce43d6c5d4d06">value</a>();</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; common_params.verification.tolerance_number = <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a3af7a44f7d0ef3276bc0b419f418012c">tolerance_number</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml#ab5d906b55180c260032ce43d6c5d4d06">value</a>();</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; }</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;<span class="comment"> /** Formatted output of the ExampleParams type</span></div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="comment"> * @param[out] os Output stream.</span></div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;<span class="comment"> * @param[in] common_params Example parameters to output</span></div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="comment"> * @return None.</span></div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a8bafe9004df65a6274483041bcd2fb6b"> 293</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a8bafe9004df65a6274483041bcd2fb6b">print_parameters</a>(::std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml">ExampleParams</a> &amp;common_params)</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; {</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;Threads : &quot;</span> &lt;&lt; common_params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#ae5f124b6706064b8b8a507d1b8967ab8">common_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a4f987a98d3e1221916748962e45399fe">threads</a> &lt;&lt; std::endl;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;Target : &quot;</span> &lt;&lt; common_params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#ae5f124b6706064b8b8a507d1b8967ab8">common_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a29d9bc83bfba2fba21af47e575569dde">target</a> &lt;&lt; std::endl;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; os &lt;&lt; <span class="stringliteral">&quot;Data type : &quot;</span> &lt;&lt; common_params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a901f5f80dfec4ef700c14947ca8397c9">data_type</a> &lt;&lt; std::endl;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#acb3f1fc6ee2cea2cf9074e7dfa4acf2b"> 300</a></span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_toggle_option.xhtml">ToggleOption</a> *<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#acb3f1fc6ee2cea2cf9074e7dfa4acf2b">help</a>; <span class="comment">/**&lt; show help message */</span></div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#ad6174941c7ae1c945e4f7fcb3261f87c"> 301</a></span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml">SimpleOption&lt;int&gt;</a> *<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#ad6174941c7ae1c945e4f7fcb3261f87c">threads</a>; <span class="comment">/**&lt; Number of threads option */</span></div><div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a770e3e82cb8e4632d754e651fd29b9cb"> 302</a></span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_enum_option.xhtml">EnumOption&lt;arm_compute::graph::Target&gt;</a> *<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a770e3e82cb8e4632d754e651fd29b9cb">target</a>; <span class="comment">/**&lt; Graph execution target */</span></div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a07e18432725b2e2d3c0a5625a8aea8a8"> 303</a></span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_enum_option.xhtml">EnumOption&lt;arm_compute::DataType&gt;</a> *<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a07e18432725b2e2d3c0a5625a8aea8a8">data_type</a>; <span class="comment">/**&lt; Graph data type */</span></div><div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#ae34b3428ac86441ca6ecab0ea1b24290"> 304</a></span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml">SimpleOption&lt;float&gt;</a> *<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#ae34b3428ac86441ca6ecab0ea1b24290">absolute_tolerance</a>; <span class="comment">/**&lt; Absolute tolerance used in verification */</span></div><div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a79abd9f6bf27e92a31d668b78af1bbc1"> 305</a></span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml">SimpleOption&lt;float&gt;</a> *<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a79abd9f6bf27e92a31d668b78af1bbc1">relative_tolerance</a>; <span class="comment">/**&lt; Relative tolerance used in verification */</span></div><div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a3af7a44f7d0ef3276bc0b419f418012c"> 306</a></span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml">SimpleOption&lt;float&gt;</a> *<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a3af7a44f7d0ef3276bc0b419f418012c">tolerance_number</a>; <span class="comment">/**&lt; Tolerance number used in verification */</span></div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;};</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;<span class="comment">/** Consumes the consume_common_graph_parameters graph options and creates a structure containing any information</span></div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;<span class="comment"> * @param[in] options Options to consume</span></div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;<span class="comment"> * @param[out] common_params params structure to consume.</span></div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;<span class="comment"> * @return consume_common_graph_parameters structure containing the common graph parameters</span></div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1utils.xhtml#a2593e1f13f425f627658900657f73dc3"> 316</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespacearm__compute_1_1utils.xhtml#a2593e1f13f425f627658900657f73dc3">consume_common_graph_parameters</a>(<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml">CommonGraphValidateOptions</a> &amp;options, <a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml">CommonParams</a> &amp;common_params)</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;{</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; common_params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#ae5f124b6706064b8b8a507d1b8967ab8">common_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a545363392790133c5dec1fd9e2cb279d">help</a> = options.<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#acb3f1fc6ee2cea2cf9074e7dfa4acf2b">help</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_option.xhtml#a8d75095e0ce4d0cc3ed6bc4733664a74">is_set</a>() ? options.<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#acb3f1fc6ee2cea2cf9074e7dfa4acf2b">help</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml#ab5d906b55180c260032ce43d6c5d4d06">value</a>() : <span class="keyword">false</span>;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; common_params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#ae5f124b6706064b8b8a507d1b8967ab8">common_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a4f987a98d3e1221916748962e45399fe">threads</a> = options.<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#ad6174941c7ae1c945e4f7fcb3261f87c">threads</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml#ab5d906b55180c260032ce43d6c5d4d06">value</a>();</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; common_params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#ae5f124b6706064b8b8a507d1b8967ab8">common_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a29d9bc83bfba2fba21af47e575569dde">target</a> = options.<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a770e3e82cb8e4632d754e651fd29b9cb">target</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_enum_option.xhtml#ab5d906b55180c260032ce43d6c5d4d06">value</a>();</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; common_params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aa9a98a0656a58548b5582d40fac47b06">verification</a>.<a class="code" href="structarm__compute_1_1utils_1_1_verification_params.xhtml#a391ce7e414170c2816119402b217397f">absolute_tolerance</a> = options.<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#ae34b3428ac86441ca6ecab0ea1b24290">absolute_tolerance</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml#ab5d906b55180c260032ce43d6c5d4d06">value</a>();</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; common_params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aa9a98a0656a58548b5582d40fac47b06">verification</a>.<a class="code" href="structarm__compute_1_1utils_1_1_verification_params.xhtml#a1737e18ea7e3b57e7214453a0991a732">relative_tolerance</a> = options.<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a79abd9f6bf27e92a31d668b78af1bbc1">relative_tolerance</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml#ab5d906b55180c260032ce43d6c5d4d06">value</a>();</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; common_params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aa9a98a0656a58548b5582d40fac47b06">verification</a>.<a class="code" href="structarm__compute_1_1utils_1_1_verification_params.xhtml#ad2934e26bd8d5d9cb23040bf3135c4bf">tolerance_number</a> = options.<a class="code" href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a3af7a44f7d0ef3276bc0b419f418012c">tolerance_number</a>-&gt;<a class="code" href="classarm__compute_1_1utils_1_1_simple_option.xhtml#ab5d906b55180c260032ce43d6c5d4d06">value</a>();</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;}</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;<span class="comment">/** Generates appropriate accessor according to the specified graph parameters</span></div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;<span class="comment"> * @param[in] tensor Tensor parameters</span></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;<span class="comment"> * @param[in] lower Lower random values bound</span></div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;<span class="comment"> * @param[in] upper Upper random values bound</span></div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;<span class="comment"> * @param[in] seed Random generator seed</span></div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;<span class="comment"> * @return An appropriate tensor accessor</span></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1utils.xhtml#ac71977d367133149be76363b0915c3af"> 336</a></span>&#160;<span class="keyword">inline</span> std::unique_ptr&lt;graph::ITensorAccessor&gt; <a class="code" href="namespacearm__compute_1_1utils.xhtml#ac71977d367133149be76363b0915c3af">get_accessor</a>(<span class="keyword">const</span> <a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml">TensorParams</a> &amp;tensor, <a class="code" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a> lower, <a class="code" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a> upper, <span class="keyword">const</span> std::random_device::result_type seed = 0)</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;{</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">if</span>(!tensor.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#aef1c0b2053bee947f72e999db335c84c">npy</a>.empty())</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; {</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;arm_compute::graph_utils::NumPyBinLoader&gt;(tensor.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#aef1c0b2053bee947f72e999db335c84c">npy</a>);</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; {</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;arm_compute::graph_utils::RandomAccessor&gt;(lower, upper, seed);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; }</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;}</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;<span class="comment">/** Graph example validation accessor class */</span></div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> D&gt;</div><div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml"> 350</a></span>&#160;<span class="keyword">class </span><a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml">VerifyAccessor</a> : <span class="keyword">public</span> <a class="code" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a></div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;{</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a4e68efc85570b62c7d53c78875ced9bc"> 353</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a4e68efc85570b62c7d53c78875ced9bc">TBias</a> = <span class="keyword">typename</span> <a class="code" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">std::conditional&lt;std::is_same&lt;typename std::decay&lt;D&gt;::type</a>, uint8_t&gt;::value, int32_t, D&gt;<a class="code" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">::type</a>;<span class="comment"></span></div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;<span class="comment"> /** Constructor</span></div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;<span class="comment"> * @param[in] params Convolution parameters</span></div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#aa3c414caac54dee6aa0cc08240156e65"> 358</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#aa3c414caac54dee6aa0cc08240156e65">VerifyAccessor</a>(<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml">ExampleParams</a> &amp;params)</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; : <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>(std::move(params))</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; {</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; }</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="comment">// Inherited methods overriden:</span></div><div class="line"><a name="l00363"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#ab469d593b4bc92e1d1132a03de0aedca"> 363</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#ab469d593b4bc92e1d1132a03de0aedca">access_tensor</a>(<a class="code" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> &amp;tensor)<span class="keyword"> override</span></div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#ab6692d047db2f0c872e4dfc55f958533">output</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#aef1c0b2053bee947f72e999db335c84c">npy</a>.empty())</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; {</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;D&gt;</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a989ab3e96426615bb98e04e0235088ca">src</a>;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;D&gt;</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">weights</a>;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;TBias&gt;</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a3a77be8aebd8e00522b32061d46ccdbd">bias</a>;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="comment">//Create Input tensors</span></div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a8cdebcc372054188936056f2e21ef517">create_tensors</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a989ab3e96426615bb98e04e0235088ca">src</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">weights</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a3a77be8aebd8e00522b32061d46ccdbd">bias</a>, tensor);</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="comment">//Fill the tensors with random values</span></div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#ad766ef265c150315d3468ae61a748050">fill_tensor</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a989ab3e96426615bb98e04e0235088ca">src</a>, 0, static_cast&lt;D&gt;(<a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a6e1311c23c64b1a05475e5de91d75429">range_low</a>), static_cast&lt;D&gt;(<a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#af0b9179895ca471157ea7edb8f07ef18">range_high</a>));</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#ad766ef265c150315d3468ae61a748050">fill_tensor</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">weights</a>, 1, static_cast&lt;D&gt;(<a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a39e23cca85d22b36fc18fbed987af01b">weights</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a6e1311c23c64b1a05475e5de91d75429">range_low</a>), static_cast&lt;D&gt;(<a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a39e23cca85d22b36fc18fbed987af01b">weights</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#af0b9179895ca471157ea7edb8f07ef18">range_high</a>));</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#ad766ef265c150315d3468ae61a748050">fill_tensor</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a3a77be8aebd8e00522b32061d46ccdbd">bias</a>, 2, static_cast&lt;TBias&gt;(<a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a6e1311c23c64b1a05475e5de91d75429">range_low</a>), static_cast&lt;TBias&gt;(<a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#af0b9179895ca471157ea7edb8f07ef18">range_high</a>));</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;D&gt;</a> output = <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a5e789efce616d0a2398de4c7f57f293f">reference</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a989ab3e96426615bb98e04e0235088ca">src</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">weights</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a3a77be8aebd8e00522b32061d46ccdbd">bias</a>, <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a70d7d37d8480e930ac12ddf336749e39">output_shape</a>(tensor));</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9aba3e822185f91d4294cd081a9481ab">validate</a>(tensor, output);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; }</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; {</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="comment">//The user provided a reference file use an npy accessor to validate</span></div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <a class="code" href="classarm__compute_1_1graph__utils_1_1_num_py_accessor.xhtml">arm_compute::graph_utils::NumPyAccessor</a>(<a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#ab6692d047db2f0c872e4dfc55f958533">output</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#aef1c0b2053bee947f72e999db335c84c">npy</a>, tensor.<a class="code" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">tensor_shape</a>(), tensor.<a class="code" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">data_type</a>()).<a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#ab469d593b4bc92e1d1132a03de0aedca">access_tensor</a>(tensor);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; }</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; }</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;<span class="comment"> /** Create reference tensors.</span></div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;<span class="comment"> * Validate the given tensor against the reference result.</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;<span class="comment"> * @param[out] src The tensor with the source data.</span></div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;<span class="comment"> * @param[out] weights The tensor with the weigths data.</span></div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;<span class="comment"> * @param[out] bias The tensor with the bias data.</span></div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;<span class="comment"> * @param[in] tensor Tensor result of the actual operation passed into the Accessor.</span></div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;<span class="comment"> * @return None.</span></div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a8cdebcc372054188936056f2e21ef517"> 402</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a8cdebcc372054188936056f2e21ef517">create_tensors</a>(<a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;D&gt;</a> &amp;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a989ab3e96426615bb98e04e0235088ca">src</a>,</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;D&gt;</a> &amp;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">weights</a>,</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;TBias&gt;</a> &amp;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a3a77be8aebd8e00522b32061d46ccdbd">bias</a>,</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <a class="code" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> &amp;tensor)</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; {</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(tensor);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="comment">//Create Input tensors</span></div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a989ab3e96426615bb98e04e0235088ca">src</a> = <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;D&gt;</a> { <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>(<a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a2474a5474cbff19523a51eb1de01cda4">width</a>, <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#ad12fc34ce789bce6c8a05d8a17138534">height</a>, <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#accc3b8fde7c3ba545f41521e46f42e4c">fm</a>, <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#ad1793c1a8dd3db1a8c4e2d76eadf0036">batch</a>), <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a901f5f80dfec4ef700c14947ca8397c9">data_type</a>, 1, <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a65bc62ff84efcb7e4a410600480a4dc9">quant_info</a> };</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">weights</a> = <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;D&gt;</a> { <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>(<a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a39e23cca85d22b36fc18fbed987af01b">weights</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a2474a5474cbff19523a51eb1de01cda4">width</a>, <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a39e23cca85d22b36fc18fbed987af01b">weights</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#ad12fc34ce789bce6c8a05d8a17138534">height</a>, <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a39e23cca85d22b36fc18fbed987af01b">weights</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#accc3b8fde7c3ba545f41521e46f42e4c">fm</a>), <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a901f5f80dfec4ef700c14947ca8397c9">data_type</a>, 1, <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a39e23cca85d22b36fc18fbed987af01b">weights</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a65bc62ff84efcb7e4a410600480a4dc9">quant_info</a> };</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a3a77be8aebd8e00522b32061d46ccdbd">bias</a> = <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;TBias&gt;</a> { <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>(<a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#ad12fc34ce789bce6c8a05d8a17138534">height</a>), <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a901f5f80dfec4ef700c14947ca8397c9">data_type</a>, 1, <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a65bc62ff84efcb7e4a410600480a4dc9">quant_info</a> };</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; }</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;<span class="comment"> /** Calculate reference output tensor shape.</span></div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;<span class="comment"> * @param[in] tensor Tensor result of the actual operation passed into the Accessor.</span></div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;<span class="comment"> * @return output tensor shape.</span></div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a70d7d37d8480e930ac12ddf336749e39"> 420</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a70d7d37d8480e930ac12ddf336749e39">output_shape</a>(<a class="code" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> &amp;tensor)</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; {</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1graph__utils.xhtml#ab3a897163a7fe23208f1d9c618062ee2">arm_compute::graph_utils::permute_shape</a>(tensor.<a class="code" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">info</a>()-&gt;<a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">tensor_shape</a>(), <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#aa56f0562febf49bc0e29a4257551191b">data_layout</a>, <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a>);</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; }</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;<span class="comment"> /** Calculate reference tensor.</span></div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;<span class="comment"> * Validate the given tensor against the reference result.</span></div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;<span class="comment"> * @param[in] src The tensor with the source data.</span></div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;<span class="comment"> * @param[in] weights The tensor with the weigths data.</span></div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;<span class="comment"> * @param[in] bias The tensor with the bias data.</span></div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;<span class="comment"> * @param[in] output_shape Shape of the output tensor.</span></div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;<span class="comment"> * @return Tensor with the reference output.</span></div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;D&gt;</a> <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a5e789efce616d0a2398de4c7f57f293f">reference</a>(<a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;D&gt;</a> &amp;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a989ab3e96426615bb98e04e0235088ca">src</a>,</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;D&gt;</a> &amp;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">weights</a>,</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;TBias&gt;</a> &amp;<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a3a77be8aebd8e00522b32061d46ccdbd">bias</a>,</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">arm_compute::TensorShape</a> &amp;<a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a70d7d37d8480e930ac12ddf336749e39">output_shape</a>) = 0;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;<span class="comment"> /** Fill QASYMM tensor with Random values.</span></div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;<span class="comment"> * Validate the given tensor against the reference result.</span></div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;<span class="comment"> * @param[out] tensor The tensor we want to file</span></div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;<span class="comment"> * @param[in] seed seed for the randomization function</span></div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160;<span class="comment"> * @param[in] low lower bound for random values</span></div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;<span class="comment"> * @param[in] high upper bound for random values</span></div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;<span class="comment"> * @return None.</span></div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#ad766ef265c150315d3468ae61a748050"> 452</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#ad766ef265c150315d3468ae61a748050">fill_tensor</a>(<a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;uint8_t&gt;</a> &amp;tensor, std::random_device::result_type seed, uint8_t low, uint8_t high)</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; {</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(tensor.<a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#a9a3e72153aeb3ed212e9c3698774e881">data_type</a>() != <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">arm_compute::DataType::QASYMM8</a>);</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keyword">const</span> <a class="code" href="structarm__compute_1_1_uniform_quantization_info.xhtml">UniformQuantizationInfo</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a> = tensor.<a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#ac74736e3863207232a23b7181c1d0f44">quantization_info</a>().<a class="code" href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">uniform</a>();</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; uint8_t qasymm8_low = <a class="code" href="namespacearm__compute.xhtml#ab8cef8b31b552b532a14ab8815e06285">quantize_qasymm8</a>(low, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; uint8_t qasymm8_high = <a class="code" href="namespacearm__compute.xhtml#ab8cef8b31b552b532a14ab8815e06285">quantize_qasymm8</a>(high, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>);</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; std::mt19937 gen(seed);</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; std::uniform_int_distribution&lt;uint8_t&gt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>(qasymm8_low, qasymm8_high);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; tensor.<a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#aedcfdd4c3b92fe0d63b5463c7ad1d21e">num_elements</a>(); ++i)</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; {</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; tensor[i] = <a class="code" href="namespacearm__compute.xhtml#ab8cef8b31b552b532a14ab8815e06285">quantize_qasymm8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>(gen), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">qinfo</a>);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; }</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; }<span class="comment"></span></div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;<span class="comment"> /** Fill S32 tensor with Random values.</span></div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;<span class="comment"> * Validate the given tensor against the reference result.</span></div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;<span class="comment"> * @param[out] tensor The tensor we want to file</span></div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;<span class="comment"> * @param[in] seed seed for the randomization function</span></div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;<span class="comment"> * @param[in] low lower bound for random values</span></div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;<span class="comment"> * @param[in] high upper bound for random values</span></div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;<span class="comment"> * @return None.</span></div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#af7a2acd451b91be95366758a12df41f2"> 480</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#af7a2acd451b91be95366758a12df41f2">fill_tensor</a>(<a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;int32_t&gt;</a> &amp;tensor, std::random_device::result_type seed, int32_t low, int32_t high)</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; {</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; std::mt19937 gen(seed);</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; std::uniform_int_distribution&lt;int32_t&gt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>(static_cast&lt;int32_t&gt;(low), static_cast&lt;uint32_t&gt;(high));</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; tensor.<a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#aedcfdd4c3b92fe0d63b5463c7ad1d21e">num_elements</a>(); ++i)</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; {</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; tensor[i] = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>(gen);</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; }</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; }<span class="comment"></span></div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;<span class="comment"> /** Fill F32 tensor with Random values.</span></div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;<span class="comment"> * Validate the given tensor against the reference result.</span></div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;<span class="comment"> * @param[out] tensor The tensor we want to file</span></div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;<span class="comment"> * @param[in] seed seed for the randomization function</span></div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;<span class="comment"> * @param[in] low lower bound for random values</span></div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;<span class="comment"> * @param[in] high upper bound for random values</span></div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;<span class="comment"> * @return None.</span></div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00501"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a134a60d6a89a2956b443fb743277e414"> 501</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a134a60d6a89a2956b443fb743277e414">fill_tensor</a>(<a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;float&gt;</a> &amp;tensor, std::random_device::result_type seed, <span class="keywordtype">float</span> low, <span class="keywordtype">float</span> high)</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; {</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(tensor.<a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#a9a3e72153aeb3ed212e9c3698774e881">data_type</a>() != <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::DataType::F32</a>);</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; std::mt19937 gen(seed);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; std::uniform_real_distribution&lt;float&gt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>(low, high);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; tensor.<a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#aedcfdd4c3b92fe0d63b5463c7ad1d21e">num_elements</a>(); ++i)</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; tensor[i] = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>(gen);</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; }</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; }<span class="comment"></span></div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;<span class="comment"> /** Fill F16 tensor with Random values.</span></div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;<span class="comment"> * Validate the given tensor against the reference result.</span></div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;<span class="comment"> * @param[out] tensor The tensor we want to file</span></div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;<span class="comment"> * @param[in] seed seed for the randomization function</span></div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;<span class="comment"> * @param[in] low lower bound for random values</span></div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160;<span class="comment"> * @param[in] high upper bound for random values</span></div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;<span class="comment"> * @return None.</span></div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00523"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a058a15825351d7e8245bddc7960df6ce"> 523</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a058a15825351d7e8245bddc7960df6ce">fill_tensor</a>(<a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;half&gt;</a> &amp;tensor, std::random_device::result_type seed, <a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a> low, <a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a> high)</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; {</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(tensor.<a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#a9a3e72153aeb3ed212e9c3698774e881">data_type</a>() != <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::DataType::F16</a>);</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; std::mt19937 gen(seed);</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; std::uniform_real_distribution&lt;float&gt; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>(static_cast&lt;half&gt;(low), static_cast&lt;half&gt;(high));</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; tensor.<a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#aedcfdd4c3b92fe0d63b5463c7ad1d21e">num_elements</a>(); ++i)</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; {</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; tensor[i] = static_cast&lt;half&gt;(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">distribution</a>(gen));</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; }</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; }</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;<span class="comment"> /** Select relative tolerance.</span></div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160;<span class="comment"> * Select relative tolerance if not supplied by user.</span></div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;<span class="comment"> * @return Appropriate relative tolerance.</span></div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a666345f7004743b3470c4c9fda6bce80">relative_tolerance</a>() = 0;</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;<span class="comment"> /** Select absolute tolerance.</span></div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;<span class="comment"> * Select absolute tolerance if not supplied by user.</span></div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;<span class="comment"> * @return Appropriate absolute tolerance.</span></div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a5c8865138486a8c43f6f8902bd94ab1f">absolute_tolerance</a>() = 0;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;<span class="comment"> /** Select tolerance number.</span></div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;<span class="comment"> * Select tolerance number if not supplied by user.</span></div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;<span class="comment"> * @return Appropriate tolerance number.</span></div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a399e4cdf08ce98d229dcaa8e4ee9841e">tolerance_number</a>() = 0;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;<span class="comment"> /** Validate the output versus the reference.</span></div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;<span class="comment"> * @param[in] tensor Tensor result of the actual operation passed into the Accessor.</span></div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;<span class="comment"> * @param[in] output Tensor result of the reference implementation.</span></div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;<span class="comment"> * @return None.</span></div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00566"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9aba3e822185f91d4294cd081a9481ab"> 566</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9aba3e822185f91d4294cd081a9481ab">validate</a>(<a class="code" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> &amp;tensor, <a class="code" href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor&lt;D&gt;</a> output)</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; {</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordtype">float</span> user_relative_tolerance = <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aa9a98a0656a58548b5582d40fac47b06">verification</a>.<a class="code" href="structarm__compute_1_1utils_1_1_verification_params.xhtml#a1737e18ea7e3b57e7214453a0991a732">relative_tolerance</a>;</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keywordtype">float</span> user_absolute_tolerance = <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aa9a98a0656a58548b5582d40fac47b06">verification</a>.<a class="code" href="structarm__compute_1_1utils_1_1_verification_params.xhtml#a391ce7e414170c2816119402b217397f">absolute_tolerance</a>;</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordtype">float</span> user_tolerance_num = <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aa9a98a0656a58548b5582d40fac47b06">verification</a>.<a class="code" href="structarm__compute_1_1utils_1_1_verification_params.xhtml#ad2934e26bd8d5d9cb23040bf3135c4bf">tolerance_number</a>;</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="comment">/* If no user input was provided override with defaults. */</span></div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keywordflow">if</span>(user_relative_tolerance == -1)</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; {</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; user_relative_tolerance = <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a666345f7004743b3470c4c9fda6bce80">relative_tolerance</a>();</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; }</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">if</span>(user_absolute_tolerance == -1)</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; {</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; user_absolute_tolerance = <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a5c8865138486a8c43f6f8902bd94ab1f">absolute_tolerance</a>();</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; }</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">if</span>(user_tolerance_num == -1)</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; {</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; user_tolerance_num = <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a399e4cdf08ce98d229dcaa8e4ee9841e">tolerance_number</a>();</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; }</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160;</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1test_1_1validation_1_1_relative_tolerance.xhtml">arm_compute::test::validation::RelativeTolerance&lt;float&gt;</a> rel_tolerance(user_relative_tolerance); <span class="comment">/**&lt; Relative tolerance */</span></div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1test_1_1validation_1_1_absolute_tolerance.xhtml">arm_compute::test::validation::AbsoluteTolerance&lt;float&gt;</a> abs_tolerance(user_absolute_tolerance); <span class="comment">/**&lt; Absolute tolerance */</span></div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> tolerance_num(user_tolerance_num); <span class="comment">/**&lt; Tolerance number */</span></div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ae02c6fc90d9c60c634bfa258049eb46b">arm_compute::test::validation::validate</a>(<a class="code" href="classarm__compute_1_1test_1_1_accessor.xhtml">arm_compute::test::Accessor</a>(tensor), output, rel_tolerance, tolerance_num, abs_tolerance);</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; }</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160;</div><div class="line"><a name="l00594"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68"> 594</a></span>&#160; <a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml">ExampleParams</a> <a class="code" href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">_params</a>;</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160;};</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;<span class="comment">/** Generates appropriate convolution verify accessor</span></div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;<span class="comment"> * @param[in] params User supplied parameters for convolution.</span></div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;<span class="comment"> * @return A convolution verify accessor for the requested datatype.</span></div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> D&gt; <span class="keyword">class </span>VerifyAccessorT&gt;</div><div class="line"><a name="l00604"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1utils.xhtml#ae55aa860d1d119bc2a2812ef0391b9ae"> 604</a></span>&#160;<span class="keyword">inline</span> std::unique_ptr&lt;graph::ITensorAccessor&gt; <a class="code" href="namespacearm__compute_1_1utils.xhtml#ae55aa860d1d119bc2a2812ef0391b9ae">get_verify_accessor</a>(<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml">ExampleParams</a> params)</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160;{</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">switch</span>(params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a901f5f80dfec4ef700c14947ca8397c9">data_type</a>)</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; {</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">DataType::QASYMM8</a>:</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; {</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;VerifyAccessorT&lt;uint8_t&gt;&gt;(</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; params);</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; }</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">DataType::F16</a>:</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; {</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;VerifyAccessorT&lt;half&gt;&gt;(</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; params);</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; }</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">DataType::F32</a>:</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; {</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;VerifyAccessorT&lt;float&gt;&gt;(</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; params);</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; }</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <a class="code" href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">&quot;NOT SUPPORTED!&quot;</span>);</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; }</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;}</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> LayerT, <span class="keyword">typename</span> OptionsT, <span class="keyword">template</span> &lt;<span class="keyword">typename</span> D&gt; <span class="keyword">class </span>VerifyAccessorT&gt;</div><div class="line"><a name="l00629"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml"> 629</a></span>&#160;<span class="keyword">class </span><a class="code" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml">GraphValidateExample</a> : <span class="keyword">public</span> <a class="code" href="classarm__compute_1_1utils_1_1_validate_example.xhtml">ValidateExample</a></div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;{</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00632"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#a6317f8808712f431f21e4e1f5f97c27d"> 632</a></span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#a6317f8808712f431f21e4e1f5f97c27d">GraphValidateExample</a>(std::string name)</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; : <a class="code" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#a07594d6d567cdd219788762307f60941">graph</a>(0, name)</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; {</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; }</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keyword">virtual</span> LayerT <a class="code" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#a7b395f46b21240793aa165220d0d1e1c">GraphFunctionLayer</a>(<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml">ExampleParams</a> &amp;params) = 0;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;</div><div class="line"><a name="l00639"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#aca0c669baad0b2ff3c1bdb38fdd77185"> 639</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#aca0c669baad0b2ff3c1bdb38fdd77185">do_setup</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)<span class="keyword"> override</span></div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_command_line_parser.xhtml">CommandLineParser</a> <a class="code" href="namespace_gemm_tuner.xhtml#a90eee7a4677ca8b1ed116364a24367f9">parser</a>;</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; OptionsT Options(<a class="code" href="namespace_gemm_tuner.xhtml#a90eee7a4677ca8b1ed116364a24367f9">parser</a>);</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <a class="code" href="namespace_gemm_tuner.xhtml#a90eee7a4677ca8b1ed116364a24367f9">parser</a>.parse(argc, argv);</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160;</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml">ExampleParams</a> params;</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; Options.consume_common_parameters(params);</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; Options.consume_parameters(params);</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <span class="keywordflow">if</span>(params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#ae5f124b6706064b8b8a507d1b8967ab8">common_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a545363392790133c5dec1fd9e2cb279d">help</a>)</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; {</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <a class="code" href="namespace_gemm_tuner.xhtml#a90eee7a4677ca8b1ed116364a24367f9">parser</a>.print_help(argv[0]);</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; }</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; Options.print_parameters(std::cout, params);</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="comment">// Create input descriptor</span></div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ae59e3cf27216b7361c71cbd2830ec4c2">input_shape</a> = <a class="code" href="namespacearm__compute_1_1graph__utils.xhtml#ab3a897163a7fe23208f1d9c618062ee2">arm_compute::graph_utils::permute_shape</a>(<a class="code" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>(params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a2474a5474cbff19523a51eb1de01cda4">width</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#ad12fc34ce789bce6c8a05d8a17138534">height</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#accc3b8fde7c3ba545f41521e46f42e4c">fm</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#ad1793c1a8dd3db1a8c4e2d76eadf0036">batch</a>),</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <a class="code" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#aa56f0562febf49bc0e29a4257551191b">data_layout</a>);</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <a class="code" href="structarm__compute_1_1graph_1_1_tensor_descriptor.xhtml">arm_compute::graph::TensorDescriptor</a> input_descriptor = <a class="code" href="structarm__compute_1_1graph_1_1_tensor_descriptor.xhtml">arm_compute::graph::TensorDescriptor</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ae59e3cf27216b7361c71cbd2830ec4c2">input_shape</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a901f5f80dfec4ef700c14947ca8397c9">data_type</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a65bc62ff84efcb7e4a410600480a4dc9">quant_info</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#aa56f0562febf49bc0e29a4257551191b">data_layout</a>);</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a> lower = <a class="code" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a>(params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a6e1311c23c64b1a05475e5de91d75429">range_low</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a901f5f80dfec4ef700c14947ca8397c9">data_type</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a65bc62ff84efcb7e4a410600480a4dc9">quant_info</a>);</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keyword">const</span> <a class="code" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a> upper = <a class="code" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a>(params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#af0b9179895ca471157ea7edb8f07ef18">range_high</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#a901f5f80dfec4ef700c14947ca8397c9">data_type</a>, params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>.<a class="code" href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a65bc62ff84efcb7e4a410600480a4dc9">quant_info</a>);</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160;</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#a07594d6d567cdd219788762307f60941">graph</a> &lt;&lt; params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#ae5f124b6706064b8b8a507d1b8967ab8">common_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a29d9bc83bfba2fba21af47e575569dde">target</a></div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; &lt;&lt; params.<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#a7173829b5cc784e10e5e113cfa19e57c">convolution_method</a></div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; &lt;&lt; params.<a class="code" href="structarm__compute_1_1utils_1_1_example_params.xhtml#acf9c4d06fdffc57621c91a2755f678ab">depth_convolution_method</a></div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; &lt;&lt; <a class="code" href="classarm__compute_1_1graph_1_1frontend_1_1_input_layer.xhtml">arm_compute::graph::frontend::InputLayer</a>(input_descriptor, <a class="code" href="namespacearm__compute_1_1utils.xhtml#ac71977d367133149be76363b0915c3af">get_accessor</a>(params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">input</a>, lower, upper, 0))</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; &lt;&lt; <a class="code" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#a7b395f46b21240793aa165220d0d1e1c">GraphFunctionLayer</a>(params)</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; &lt;&lt; <a class="code" href="classarm__compute_1_1graph_1_1frontend_1_1_output_layer.xhtml">arm_compute::graph::frontend::OutputLayer</a>(get_verify_accessor&lt;VerifyAccessorT&gt;(params));</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <a class="code" href="structarm__compute_1_1graph_1_1_graph_config.xhtml">arm_compute::graph::GraphConfig</a> config;</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; config.<a class="code" href="structarm__compute_1_1graph_1_1_graph_config.xhtml#a08963f7335eef295237ab460863bc3d5">num_threads</a> = params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#ae5f124b6706064b8b8a507d1b8967ab8">common_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a4f987a98d3e1221916748962e45399fe">threads</a>;</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#a07594d6d567cdd219788762307f60941">graph</a>.<a class="code" href="classarm__compute_1_1graph_1_1frontend_1_1_stream.xhtml#a4fe26fc31f2479b7c24c6e3640127246">finalize</a>(params.<a class="code" href="structarm__compute_1_1utils_1_1_common_params.xhtml#ae5f124b6706064b8b8a507d1b8967ab8">common_params</a>.<a class="code" href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a29d9bc83bfba2fba21af47e575569dde">target</a>, config);</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160;</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; }</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;</div><div class="line"><a name="l00682"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#ab539da12e42174ad1a667f75b77a65c1"> 682</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#ab539da12e42174ad1a667f75b77a65c1">do_run</a>()<span class="keyword"> override</span></div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <a class="code" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#a07594d6d567cdd219788762307f60941">graph</a>.<a class="code" href="classarm__compute_1_1graph_1_1frontend_1_1_stream.xhtml#a13a43e6d814de94978c515cb084873b1">run</a>();</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; }</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;</div><div class="line"><a name="l00687"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#ad661ffd89241c1465c142b9d1f22f3d3"> 687</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#ad661ffd89241c1465c142b9d1f22f3d3">do_teardown</a>()<span class="keyword"> override</span></div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; }</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;</div><div class="line"><a name="l00691"></a><span class="lineno"><a class="line" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#a07594d6d567cdd219788762307f60941"> 691</a></span>&#160; <a class="code" href="classarm__compute_1_1graph_1_1frontend_1_1_stream.xhtml">arm_compute::graph::frontend::Stream</a> <a class="code" href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#a07594d6d567cdd219788762307f60941">graph</a>;</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160;};</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160;</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;} <span class="comment">// graph_validate_utils</span></div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;} <span class="comment">// arm_compute</span></div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;<span class="preprocessor">#endif //GRAPH_VALIDATE_UTILS_H</span></div><div class="ttc" id="classarm__compute_1_1utils_1_1_graph_validate_example_xhtml_a6317f8808712f431f21e4e1f5f97c27d"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#a6317f8808712f431f21e4e1f5f97c27d">arm_compute::utils::GraphValidateExample::GraphValidateExample</a></div><div class="ttdeci">GraphValidateExample(std::string name)</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00632">graph_validate_utils.h:632</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_params_xhtml_a2cf08508c0b5892468831a326739d95b"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_params.xhtml#a2cf08508c0b5892468831a326739d95b">arm_compute::utils::CommonParams::bias</a></div><div class="ttdeci">TensorParams bias</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00140">graph_validate_utils.h:140</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_convolution_params_xhtml_aa6c55f2c9300c3ba619d7270b63fde74"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#aa6c55f2c9300c3ba619d7270b63fde74">arm_compute::utils::ConvolutionParams::padding_top</a></div><div class="ttdeci">int padding_top</div><div class="ttdoc">Padding graph parameters.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00151">graph_validate_utils.h:151</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml_ab469d593b4bc92e1d1132a03de0aedca"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#ab469d593b4bc92e1d1132a03de0aedca">arm_compute::utils::VerifyAccessor::access_tensor</a></div><div class="ttdeci">bool access_tensor(ITensor &amp;tensor) override</div><div class="ttdoc">Interface to be implemented to access a given tensor.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00363">graph_validate_utils.h:363</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1utils_xhtml_ab74bfb3856ceeda7e8fe2536bdf77ef0"><div class="ttname"><a href="namespacearm__compute_1_1utils.xhtml#ab74bfb3856ceeda7e8fe2536bdf77ef0">arm_compute::utils::calculate_convolution_padding</a></div><div class="ttdeci">PadStrideInfo calculate_convolution_padding(ExampleParams params)</div><div class="ttdoc">Calculate stride information.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00194">graph_validate_utils.h:194</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_params_xhtml_aca3dcdcaa91edc6ede106e9d4454925b"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_params.xhtml#aca3dcdcaa91edc6ede106e9d4454925b">arm_compute::utils::CommonParams::input</a></div><div class="ttdeci">TensorParams input</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00138">graph_validate_utils.h:138</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1graph_xhtml_a31488d29805a596498c0234ae392d35dacaf162e9233294cadf62d2a71a14ca09"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35dacaf162e9233294cadf62d2a71a14ca09">arm_compute::graph::Target::NEON</a></div><div class="ttdoc">NEON capable target device.</div></div>
<div class="ttc" id="classarm__compute_1_1_pixel_value_xhtml"><div class="ttname"><a href="classarm__compute_1_1_pixel_value.xhtml">arm_compute::PixelValue</a></div><div class="ttdoc">Class describing the value of a pixel for any image format.</div><div class="ttdef"><b>Definition:</b> <a href="_pixel_value_8h_source.xhtml#l00034">PixelValue.h:34</a></div></div>
<div class="ttc" id="structarm__compute_1_1graph_1_1_graph_config_xhtml"><div class="ttname"><a href="structarm__compute_1_1graph_1_1_graph_config.xhtml">arm_compute::graph::GraphConfig</a></div><div class="ttdoc">Graph configuration structure Device target types.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2graph_2_types_8h_source.xhtml#l00078">Types.h:78</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_convolution_params_xhtml_af50219e3555b6a249b4f52ac5d61ba21"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#af50219e3555b6a249b4f52ac5d61ba21">arm_compute::utils::ConvolutionParams::padding_left</a></div><div class="ttdeci">int padding_left</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00153">graph_validate_utils.h:153</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_tensor_params_xhtml_ad1793c1a8dd3db1a8c4e2d76eadf0036"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#ad1793c1a8dd3db1a8c4e2d76eadf0036">arm_compute::utils::TensorParams::batch</a></div><div class="ttdeci">int batch</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00111">graph_validate_utils.h:111</a></div></div>
<div class="ttc" id="classarm__compute_1_1_tensor_shape_xhtml"><div class="ttname"><a href="classarm__compute_1_1_tensor_shape.xhtml">arm_compute::TensorShape</a></div><div class="ttdoc">Shape of a tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_shape_8h_source.xhtml#l00039">TensorShape.h:39</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_convolution_params_xhtml_a1fd82c3f7bd713d01efc8796364f35eb"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a1fd82c3f7bd713d01efc8796364f35eb">arm_compute::utils::ConvolutionParams::padding</a></div><div class="ttdeci">struct arm_compute::utils::ConvolutionParams::@2 padding</div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1validation_1_1_absolute_tolerance_xhtml"><div class="ttname"><a href="classarm__compute_1_1test_1_1validation_1_1_absolute_tolerance.xhtml">arm_compute::test::validation::AbsoluteTolerance</a></div><div class="ttdoc">Class reprensenting an absolute tolerance value.</div><div class="ttdef"><b>Definition:</b> <a href="_validation_8h_source.xhtml#l00050">Validation.h:50</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_example_params_xhtml_a7173829b5cc784e10e5e113cfa19e57c"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_example_params.xhtml#a7173829b5cc784e10e5e113cfa19e57c">arm_compute::utils::ExampleParams::convolution_method</a></div><div class="ttdeci">arm_compute::graph::ConvolutionMethod convolution_method</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00182">graph_validate_utils.h:182</a></div></div>
<div class="ttc" id="structarm__compute_1_1graph_1_1_tensor_descriptor_xhtml"><div class="ttname"><a href="structarm__compute_1_1graph_1_1_tensor_descriptor.xhtml">arm_compute::graph::TensorDescriptor</a></div><div class="ttdoc">Tensor metadata class.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_descriptor_8h_source.xhtml#l00038">TensorDescriptor.h:38</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_convolution_params_xhtml_ab65969d39b883173d7d0801893d51bc7"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#ab65969d39b883173d7d0801893d51bc7">arm_compute::utils::ConvolutionParams::depth_multiplier</a></div><div class="ttdeci">int depth_multiplier</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00149">graph_validate_utils.h:149</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_common_graph_validate_options_xhtml_acb3f1fc6ee2cea2cf9074e7dfa4acf2b"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#acb3f1fc6ee2cea2cf9074e7dfa4acf2b">arm_compute::utils::CommonGraphValidateOptions::help</a></div><div class="ttdeci">ToggleOption * help</div><div class="ttdoc">show help message</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00300">graph_validate_utils.h:300</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_example_params_xhtml_a6bc5bc347677882d4004e81b43d2ba1b"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_example_params.xhtml#a6bc5bc347677882d4004e81b43d2ba1b">arm_compute::utils::ExampleParams::convolution</a></div><div class="ttdeci">ConvolutionParams convolution</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00180">graph_validate_utils.h:180</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab8cef8b31b552b532a14ab8815e06285"><div class="ttname"><a href="namespacearm__compute.xhtml#ab8cef8b31b552b532a14ab8815e06285">arm_compute::quantize_qasymm8</a></div><div class="ttdeci">uint8_t quantize_qasymm8(float value, const INFO_TYPE &amp;qinfo, RoundingPolicy rounding_policy=RoundingPolicy::TO_NEAREST_UP)</div><div class="ttdoc">Quantize a value given an unsigned 8-bit asymmetric quantization scheme.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00282">QuantizationInfo.h:282</a></div></div>
<div class="ttc" id="_error_8h_xhtml_a7cf8d8b669b8f7b05680230be30d60f4"><div class="ttname"><a href="_error_8h.xhtml#a7cf8d8b669b8f7b05680230be30d60f4">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(msg)</div><div class="ttdoc">Print the given message then throw an std::runtime_error.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00352">Error.h:352</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_convolution_params_xhtml_a816aa7a286e811e2cdeaf06d1cee5876"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a816aa7a286e811e2cdeaf06d1cee5876">arm_compute::utils::ConvolutionParams::mode</a></div><div class="ttdeci">ConvolutionPaddingMode mode</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00165">graph_validate_utils.h:165</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_framework_params_xhtml"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_framework_params.xhtml">arm_compute::utils::FrameworkParams</a></div><div class="ttdoc">Structure holding all the common graph parameters.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00127">graph_validate_utils.h:127</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_convolution_params_xhtml_a2268d3b0d31e3e74d6e4cb7d7e9fae0e"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a2268d3b0d31e3e74d6e4cb7d7e9fae0e">arm_compute::utils::ConvolutionParams::padding_stride_y</a></div><div class="ttdeci">int padding_stride_y</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00156">graph_validate_utils.h:156</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe"><div class="ttname"><a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">arm_compute::DimensionRoundingType::FLOOR</a></div><div class="ttdoc">Floor rounding.</div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml_a9aba3e822185f91d4294cd081a9481ab"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9aba3e822185f91d4294cd081a9481ab">arm_compute::utils::VerifyAccessor::validate</a></div><div class="ttdeci">void validate(ITensor &amp;tensor, arm_compute::test::SimpleTensor&lt; D &gt; output)</div><div class="ttdoc">Validate the output versus the reference.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00566">graph_validate_utils.h:566</a></div></div>
<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a7cfb31af63202568efef5214acfbf3ba"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">arm_compute::ITensorInfo::data_type</a></div><div class="ttdeci">virtual DataType data_type() const =0</div><div class="ttdoc">Data type used for each element of the tensor.</div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_toggle_option_xhtml"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_toggle_option.xhtml">arm_compute::utils::ToggleOption</a></div><div class="ttdoc">Implementation of an option that can be either true or false.</div><div class="ttdef"><b>Definition:</b> <a href="_toggle_option_8h_source.xhtml#l00036">ToggleOption.h:36</a></div></div>
<div class="ttc" id="_command_line_parser_8h_xhtml"><div class="ttname"><a href="_command_line_parser_8h.xhtml">CommandLineParser.h</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_framework_params_xhtml_a4f987a98d3e1221916748962e45399fe"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a4f987a98d3e1221916748962e45399fe">arm_compute::utils::FrameworkParams::threads</a></div><div class="ttdeci">int threads</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00130">graph_validate_utils.h:130</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a73e2825fd61d349c5ca2f5313e3c8ea1"><div class="ttname"><a href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">arm_compute::half</a></div><div class="ttdeci">half_float::half half</div><div class="ttdoc">16-bit floating point type</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00045">Types.h:45</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::Format::F32</a></div><div class="ttdoc">1 channel, 1 F32 per channel</div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_simple_tensor_xhtml_a9a3e72153aeb3ed212e9c3698774e881"><div class="ttname"><a href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#a9a3e72153aeb3ed212e9c3698774e881">arm_compute::test::SimpleTensor::data_type</a></div><div class="ttdeci">DataType data_type() const override</div><div class="ttdoc">Data type of the tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_simple_tensor_8h_source.xhtml#l00358">SimpleTensor.h:358</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_common_graph_validate_options_xhtml"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml">arm_compute::utils::CommonGraphValidateOptions</a></div><div class="ttdoc">CommonGraphValidateOptions command line options used to configure the graph examples.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00227">graph_validate_utils.h:227</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1utils_xhtml_aaea51d53fd1d57be4dde4e38874d9019"><div class="ttname"><a href="namespacearm__compute_1_1utils.xhtml#aaea51d53fd1d57be4dde4e38874d9019">arm_compute::utils::operator&lt;&lt;</a></div><div class="ttdeci">inline ::std::ostream &amp; operator&lt;&lt;(::std::ostream &amp;os, ConvolutionPaddingMode Mode)</div><div class="ttdoc">Formatted output of the ConvolutionPaddingMode type.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00085">graph_validate_utils.h:85</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_tensor_params_xhtml_ad12fc34ce789bce6c8a05d8a17138534"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#ad12fc34ce789bce6c8a05d8a17138534">arm_compute::utils::TensorParams::height</a></div><div class="ttdeci">int height</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00109">graph_validate_utils.h:109</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_params_xhtml"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_params.xhtml">arm_compute::utils::CommonParams</a></div><div class="ttdoc">Structure holding all the graph Example parameters.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00135">graph_validate_utils.h:135</a></div></div>
<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00466">Error.h:466</a></div></div>
<div class="ttc" id="structarm__compute_1_1_fully_connected_layer_info_xhtml"><div class="ttname"><a href="structarm__compute_1_1_fully_connected_layer_info.xhtml">arm_compute::FullyConnectedLayerInfo</a></div><div class="ttdoc">Fully connected layer info.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00803">Types.h:803</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1utils_xhtml_a2593e1f13f425f627658900657f73dc3"><div class="ttname"><a href="namespacearm__compute_1_1utils.xhtml#a2593e1f13f425f627658900657f73dc3">arm_compute::utils::consume_common_graph_parameters</a></div><div class="ttdeci">void consume_common_graph_parameters(CommonGraphValidateOptions &amp;options, CommonParams &amp;common_params)</div><div class="ttdoc">Consumes the consume_common_graph_parameters graph options and creates a structure containing any inf...</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00316">graph_validate_utils.h:316</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_validate_example_xhtml"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_validate_example.xhtml">arm_compute::utils::ValidateExample</a></div><div class="ttdoc">Abstract ValidateExample class.</div><div class="ttdef"><b>Definition:</b> <a href="_validate_example_8h_source.xhtml#l00043">ValidateExample.h:43</a></div></div>
<div class="ttc" id="_graph_8h_xhtml"><div class="ttname"><a href="_graph_8h.xhtml">graph.h</a></div></div>
<div class="ttc" id="structarm__compute_1_1_uniform_quantization_info_xhtml"><div class="ttname"><a href="structarm__compute_1_1_uniform_quantization_info.xhtml">arm_compute::UniformQuantizationInfo</a></div><div class="ttdoc">Quantization info when assuming per layer quantization.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00042">QuantizationInfo.h:42</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_verification_params_xhtml_a1737e18ea7e3b57e7214453a0991a732"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_verification_params.xhtml#a1737e18ea7e3b57e7214453a0991a732">arm_compute::utils::VerificationParams::relative_tolerance</a></div><div class="ttdeci">float relative_tolerance</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00122">graph_validate_utils.h:122</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_command_line_parser_xhtml"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_command_line_parser.xhtml">arm_compute::utils::CommandLineParser</a></div><div class="ttdoc">Class to parse command line arguments.</div><div class="ttdef"><b>Definition:</b> <a href="_command_line_parser_8h_source.xhtml#l00044">CommandLineParser.h:44</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1utils_xhtml_a52b975f9f11b484d21969f9a8fefb29dac90a13d8ec8fe53c6bb33fe10af6f2fe"><div class="ttname"><a href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29dac90a13d8ec8fe53c6bb33fe10af6f2fe">arm_compute::utils::ConvolutionPaddingMode::Same</a></div></div>
<div class="ttc" id="classarm__compute_1_1graph_1_1frontend_1_1_stream_xhtml_a13a43e6d814de94978c515cb084873b1"><div class="ttname"><a href="classarm__compute_1_1graph_1_1frontend_1_1_stream.xhtml#a13a43e6d814de94978c515cb084873b1">arm_compute::graph::frontend::Stream::run</a></div><div class="ttdeci">void run()</div><div class="ttdoc">Executes the stream.</div><div class="ttdef"><b>Definition:</b> <a href="_stream_8cpp_source.xhtml#l00047">Stream.cpp:47</a></div></div>
<div class="ttc" id="classarm__compute_1_1_i_tensor_xhtml"><div class="ttname"><a href="classarm__compute_1_1_i_tensor.xhtml">arm_compute::ITensor</a></div><div class="ttdoc">Interface for NEON tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_i_tensor_8h_source.xhtml#l00036">ITensor.h:36</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml_ad766ef265c150315d3468ae61a748050"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#ad766ef265c150315d3468ae61a748050">arm_compute::utils::VerifyAccessor::fill_tensor</a></div><div class="ttdeci">void fill_tensor(arm_compute::test::SimpleTensor&lt; uint8_t &gt; &amp;tensor, std::random_device::result_type seed, uint8_t low, uint8_t high)</div><div class="ttdoc">Fill QASYMM tensor with Random values.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00452">graph_validate_utils.h:452</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_tensor_params_xhtml"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_tensor_params.xhtml">arm_compute::utils::TensorParams</a></div><div class="ttdoc">Structure holding all the input tensor graph parameters.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00106">graph_validate_utils.h:106</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml_a8cdebcc372054188936056f2e21ef517"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a8cdebcc372054188936056f2e21ef517">arm_compute::utils::VerifyAccessor::create_tensors</a></div><div class="ttdeci">virtual void create_tensors(arm_compute::test::SimpleTensor&lt; D &gt; &amp;src, arm_compute::test::SimpleTensor&lt; D &gt; &amp;weights, arm_compute::test::SimpleTensor&lt; TBias &gt; &amp;bias, ITensor &amp;tensor)</div><div class="ttdoc">Create reference tensors.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00402">graph_validate_utils.h:402</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_convolution_params_xhtml_aa482c4cc86a24474e4fb19b5b5978778"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#aa482c4cc86a24474e4fb19b5b5978778">arm_compute::utils::ConvolutionParams::Y</a></div><div class="ttdeci">int Y</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00163">graph_validate_utils.h:163</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1utils_xhtml_ac71977d367133149be76363b0915c3af"><div class="ttname"><a href="namespacearm__compute_1_1utils.xhtml#ac71977d367133149be76363b0915c3af">arm_compute::utils::get_accessor</a></div><div class="ttdeci">std::unique_ptr&lt; graph::ITensorAccessor &gt; get_accessor(const TensorParams &amp;tensor, PixelValue lower, PixelValue upper, const std::random_device::result_type seed=0)</div><div class="ttdoc">Generates appropriate accessor according to the specified graph parameters.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00336">graph_validate_utils.h:336</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml"><div class="ttname"><a href="namespacearm__compute.xhtml">arm_compute</a></div><div class="ttdoc">Copyright (c) 2017-2020 ARM Limited.</div><div class="ttdef"><b>Definition:</b> <a href="00__introduction_8dox_source.xhtml#l00024">00_introduction.dox:24</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_framework_params_xhtml_a29d9bc83bfba2fba21af47e575569dde"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a29d9bc83bfba2fba21af47e575569dde">arm_compute::utils::FrameworkParams::target</a></div><div class="ttdeci">arm_compute::graph::Target target</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00131">graph_validate_utils.h:131</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ae59e3cf27216b7361c71cbd2830ec4c2"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ae59e3cf27216b7361c71cbd2830ec4c2">arm_compute::test::validation::input_shape</a></div><div class="ttdeci">input_shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_convolution_layer_8cpp_source.xhtml#l00182">ConvolutionLayer.cpp:182</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_convolution_params_xhtml_a2c02bd27bcd7e29e453bc5348e54a21e"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a2c02bd27bcd7e29e453bc5348e54a21e">arm_compute::utils::ConvolutionParams::stride</a></div><div class="ttdeci">struct arm_compute::utils::ConvolutionParams::@2::@3 stride</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::Format::F16</a></div><div class="ttdoc">1 channel, 1 F16 per channel</div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml_a70d7d37d8480e930ac12ddf336749e39"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a70d7d37d8480e930ac12ddf336749e39">arm_compute::utils::VerifyAccessor::output_shape</a></div><div class="ttdeci">virtual TensorShape output_shape(ITensor &amp;tensor)</div><div class="ttdoc">Calculate reference output tensor shape.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00420">graph_validate_utils.h:420</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_convolution_params_xhtml_aa6d771cbcf870679140f742c5703d617"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#aa6d771cbcf870679140f742c5703d617">arm_compute::utils::ConvolutionParams::padding_bottom</a></div><div class="ttdeci">int padding_bottom</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00152">graph_validate_utils.h:152</a></div></div>
<div class="ttc" id="_validate_example_8h_xhtml"><div class="ttname"><a href="_validate_example_8h.xhtml">ValidateExample.h</a></div></div>
<div class="ttc" id="classarm__compute_1_1graph_1_1frontend_1_1_input_layer_xhtml"><div class="ttname"><a href="classarm__compute_1_1graph_1_1frontend_1_1_input_layer.xhtml">arm_compute::graph::frontend::InputLayer</a></div><div class="ttdoc">Input Layer.</div><div class="ttdef"><b>Definition:</b> <a href="_layers_8h_source.xhtml#l00045">Layers.h:45</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1graph_xhtml_a31488d29805a596498c0234ae392d35da7359c3eb5c57547295a76ac1bf775b29"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35da7359c3eb5c57547295a76ac1bf775b29">arm_compute::graph::Target::GC</a></div><div class="ttdoc">GLES compute capable target device.</div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_common_graph_validate_options_xhtml_a8047a16c04029dd91c525b1572282448"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a8047a16c04029dd91c525b1572282448">arm_compute::utils::CommonGraphValidateOptions::operator=</a></div><div class="ttdeci">CommonGraphValidateOptions &amp; operator=(const CommonGraphValidateOptions &amp;)=delete</div><div class="ttdoc">Prevent instances of this class from being copied (As this class contains pointers)</div></div>
<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_abb96ad5c7071ec3a47ea5f07e817a636"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#abb96ad5c7071ec3a47ea5f07e817a636">arm_compute::utility::tolower</a></div><div class="ttdeci">std::string tolower(std::string string)</div><div class="ttdoc">Convert string to lower case.</div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00203">Utility.h:203</a></div></div>
<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml">arm_compute::QuantizationInfo</a></div><div class="ttdoc">Quantization information.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00069">QuantizationInfo.h:69</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_tensor_params_xhtml_a6e1311c23c64b1a05475e5de91d75429"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a6e1311c23c64b1a05475e5de91d75429">arm_compute::utils::TensorParams::range_low</a></div><div class="ttdeci">uint64_t range_low</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00114">graph_validate_utils.h:114</a></div></div>
<div class="ttc" id="namespace_gemm_tuner_xhtml_affb1327b18bf08a379d19eef89cf1ed1"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#affb1327b18bf08a379d19eef89cf1ed1">GemmTuner.default</a></div><div class="ttdeci">default</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00548">GemmTuner.py:548</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_accessor_xhtml"><div class="ttname"><a href="classarm__compute_1_1test_1_1_accessor.xhtml">arm_compute::test::Accessor</a></div><div class="ttdoc">Accessor implementation for Tensor objects.</div><div class="ttdef"><b>Definition:</b> <a href="_accessor_8h_source.xhtml#l00035">Accessor.h:35</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_params_xhtml_a901f5f80dfec4ef700c14947ca8397c9"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_params.xhtml#a901f5f80dfec4ef700c14947ca8397c9">arm_compute::utils::CommonParams::data_type</a></div><div class="ttdeci">arm_compute::DataType data_type</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00143">graph_validate_utils.h:143</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_verification_params_xhtml"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_verification_params.xhtml">arm_compute::utils::VerificationParams</a></div><div class="ttdoc">Structure holding all the verification graph parameters.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00119">graph_validate_utils.h:119</a></div></div>
<div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00152">Error.h:152</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_params_xhtml_aa9a98a0656a58548b5582d40fac47b06"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_params.xhtml#aa9a98a0656a58548b5582d40fac47b06">arm_compute::utils::CommonParams::verification</a></div><div class="ttdeci">VerificationParams verification</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00142">graph_validate_utils.h:142</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_fully_connected_params_xhtml"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_fully_connected_params.xhtml">arm_compute::utils::FullyConnectedParams</a></div><div class="ttdoc">Structure holding all the fully_connected layer graph parameters.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00170">graph_validate_utils.h:170</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml_a134a60d6a89a2956b443fb743277e414"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a134a60d6a89a2956b443fb743277e414">arm_compute::utils::VerifyAccessor::fill_tensor</a></div><div class="ttdeci">void fill_tensor(arm_compute::test::SimpleTensor&lt; float &gt; &amp;tensor, std::random_device::result_type seed, float low, float high)</div><div class="ttdoc">Fill F32 tensor with Random values.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00501">graph_validate_utils.h:501</a></div></div>
<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a7c66505457d00ece3aa4b34cab80757d"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">arm_compute::ITensorInfo::tensor_shape</a></div><div class="ttdeci">virtual const TensorShape &amp; tensor_shape() const =0</div><div class="ttdoc">Size for each dimension of the tensor.</div></div>
<div class="ttc" id="classarm__compute_1_1graph__utils_1_1_num_py_accessor_xhtml"><div class="ttname"><a href="classarm__compute_1_1graph__utils_1_1_num_py_accessor.xhtml">arm_compute::graph_utils::NumPyAccessor</a></div><div class="ttdoc">NumPy accessor class.</div><div class="ttdef"><b>Definition:</b> <a href="_graph_utils_8h_source.xhtml#l00146">GraphUtils.h:146</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_common_graph_validate_options_xhtml_aa6f2c5b62929dd220351e73231c9a641"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#aa6f2c5b62929dd220351e73231c9a641">arm_compute::utils::CommonGraphValidateOptions::CommonGraphValidateOptions</a></div><div class="ttdeci">CommonGraphValidateOptions(CommandLineParser &amp;parser) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00230">graph_validate_utils.h:230</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">arm_compute::DataType::QASYMM8</a></div><div class="ttdoc">quantized, asymmetric fixed-point 8-bit number unsigned</div></div>
<div class="ttc" id="namespacearm__compute_1_1graph_xhtml_a75ce9b1baad4303a53124d6f0795821f"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#a75ce9b1baad4303a53124d6f0795821f">arm_compute::graph::DepthwiseConvolutionMethod</a></div><div class="ttdeci">DepthwiseConvolutionMethod</div><div class="ttdoc">Supported Depthwise Convolution layer methods.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2graph_2_types_8h_source.xhtml#l00117">Types.h:117</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml_a666345f7004743b3470c4c9fda6bce80"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a666345f7004743b3470c4c9fda6bce80">arm_compute::utils::VerifyAccessor::relative_tolerance</a></div><div class="ttdeci">virtual float relative_tolerance()=0</div><div class="ttdoc">Select relative tolerance.</div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_tensor_params_xhtml_af0b9179895ca471157ea7edb8f07ef18"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#af0b9179895ca471157ea7edb8f07ef18">arm_compute::utils::TensorParams::range_high</a></div><div class="ttdeci">uint64_t range_high</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00115">graph_validate_utils.h:115</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml_a9d2883fa007e9da297e2ee2ece422c68"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a9d2883fa007e9da297e2ee2ece422c68">arm_compute::utils::VerifyAccessor::_params</a></div><div class="ttdeci">ExampleParams _params</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00594">graph_validate_utils.h:594</a></div></div>
<div class="ttc" id="classarm__compute_1_1_quantization_info_xhtml_a706fc156bcd4c45441bcaad05884b57d"><div class="ttname"><a href="classarm__compute_1_1_quantization_info.xhtml#a706fc156bcd4c45441bcaad05884b57d">arm_compute::QuantizationInfo::uniform</a></div><div class="ttdeci">UniformQuantizationInfo uniform() const</div><div class="ttdoc">Return per layer quantization info.</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_info_8h_source.xhtml#l00148">QuantizationInfo.h:148</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_example_params_xhtml"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_example_params.xhtml">arm_compute::utils::ExampleParams</a></div><div class="ttdoc">Structure holding all the graph Example parameters.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00177">graph_validate_utils.h:177</a></div></div>
<div class="ttc" id="classarm__compute_1_1_i_tensor_xhtml_a0e95dc1e53c361348314873b168ae237"><div class="ttname"><a href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">arm_compute::ITensor::info</a></div><div class="ttdeci">virtual ITensorInfo * info() const =0</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor's metadata.</div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml_a058a15825351d7e8245bddc7960df6ce"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a058a15825351d7e8245bddc7960df6ce">arm_compute::utils::VerifyAccessor::fill_tensor</a></div><div class="ttdeci">void fill_tensor(arm_compute::test::SimpleTensor&lt; half &gt; &amp;tensor, std::random_device::result_type seed, half low, half high)</div><div class="ttdoc">Fill F16 tensor with Random values.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00523">graph_validate_utils.h:523</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_common_graph_validate_options_xhtml_a8bafe9004df65a6274483041bcd2fb6b"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a8bafe9004df65a6274483041bcd2fb6b">arm_compute::utils::CommonGraphValidateOptions::print_parameters</a></div><div class="ttdeci">virtual void print_parameters(::std::ostream &amp;os, const ExampleParams &amp;common_params)</div><div class="ttdoc">Formatted output of the ExampleParams type.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00293">graph_validate_utils.h:293</a></div></div>
<div class="ttc" id="classarm__compute_1_1_pad_stride_info_xhtml"><div class="ttname"><a href="classarm__compute_1_1_pad_stride_info.xhtml">arm_compute::PadStrideInfo</a></div><div class="ttdoc">Padding and stride information class.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00686">Types.h:686</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1utils_xhtml_a52b975f9f11b484d21969f9a8fefb29d"><div class="ttname"><a href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29d">arm_compute::utils::ConvolutionPaddingMode</a></div><div class="ttdeci">ConvolutionPaddingMode</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00038">graph_validate_utils.h:38</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_common_graph_validate_options_xhtml_a9dbe8cb92349b9aec5281e4e37a2f487"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a9dbe8cb92349b9aec5281e4e37a2f487">arm_compute::utils::CommonGraphValidateOptions::consume_common_parameters</a></div><div class="ttdeci">void consume_common_parameters(CommonParams &amp;common_params)</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00275">graph_validate_utils.h:275</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a756aeab6b5c217b924c3cc70222c975d"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a756aeab6b5c217b924c3cc70222c975d">arm_compute::test::validation::distribution</a></div><div class="ttdeci">std::uniform_real_distribution&lt; float &gt; distribution(-5.f, 5.f)</div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_simple_option_xhtml_ab5d906b55180c260032ce43d6c5d4d06"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_simple_option.xhtml#ab5d906b55180c260032ce43d6c5d4d06">arm_compute::utils::SimpleOption::value</a></div><div class="ttdeci">const T &amp; value() const</div><div class="ttdoc">Get the option value.</div><div class="ttdef"><b>Definition:</b> <a href="_simple_option_8h_source.xhtml#l00112">SimpleOption.h:112</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a3a77be8aebd8e00522b32061d46ccdbd"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a3a77be8aebd8e00522b32061d46ccdbd">arm_compute::test::validation::bias</a></div><div class="ttdeci">CLTensor bias</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_convolution_layer_8cpp_source.xhtml#l00189">ConvolutionLayer.cpp:189</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_fully_connected_params_xhtml_a52743cedeb270ec4767fd8cccdd1adfd"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_fully_connected_params.xhtml#a52743cedeb270ec4767fd8cccdd1adfd">arm_compute::utils::FullyConnectedParams::info</a></div><div class="ttdeci">FullyConnectedLayerInfo info</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00172">graph_validate_utils.h:172</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_tensor_params_xhtml_accc3b8fde7c3ba545f41521e46f42e4c"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#accc3b8fde7c3ba545f41521e46f42e4c">arm_compute::utils::TensorParams::fm</a></div><div class="ttdeci">int fm</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00110">graph_validate_utils.h:110</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1graph_xhtml_a31488d29805a596498c0234ae392d35d"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35d">arm_compute::graph::Target</a></div><div class="ttdeci">Target</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2graph_2_types_8h_source.xhtml#l00091">Types.h:91</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1utils_xhtml_ae55aa860d1d119bc2a2812ef0391b9ae"><div class="ttname"><a href="namespacearm__compute_1_1utils.xhtml#ae55aa860d1d119bc2a2812ef0391b9ae">arm_compute::utils::get_verify_accessor</a></div><div class="ttdeci">std::unique_ptr&lt; graph::ITensorAccessor &gt; get_verify_accessor(ExampleParams params)</div><div class="ttdoc">Generates appropriate convolution verify accessor.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00604">graph_validate_utils.h:604</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">arm_compute::DataLayout::NCHW</a></div><div class="ttdoc">Num samples, channels, height, width.</div></div>
<div class="ttc" id="classarm__compute_1_1graph_1_1_i_tensor_accessor_xhtml"><div class="ttname"><a href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">arm_compute::graph::ITensorAccessor</a></div><div class="ttdoc">Tensor accessor interface.</div><div class="ttdef"><b>Definition:</b> <a href="_i_tensor_accessor_8h_source.xhtml#l00036">ITensorAccessor.h:36</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1graph__utils_xhtml_ab3a897163a7fe23208f1d9c618062ee2"><div class="ttname"><a href="namespacearm__compute_1_1graph__utils.xhtml#ab3a897163a7fe23208f1d9c618062ee2">arm_compute::graph_utils::permute_shape</a></div><div class="ttdeci">TensorShape permute_shape(TensorShape tensor_shape, DataLayout in_data_layout, DataLayout out_data_layout)</div><div class="ttdoc">Permutes a given tensor shape given the input and output data layout.</div><div class="ttdef"><b>Definition:</b> <a href="_graph_utils_8h_source.xhtml#l00664">GraphUtils.h:664</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_enum_option_xhtml_ab5d906b55180c260032ce43d6c5d4d06"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_enum_option.xhtml#ab5d906b55180c260032ce43d6c5d4d06">arm_compute::utils::EnumOption::value</a></div><div class="ttdeci">const T &amp; value() const</div><div class="ttdoc">Get the selected value.</div><div class="ttdef"><b>Definition:</b> <a href="_enum_option_8h_source.xhtml#l00130">EnumOption.h:130</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_params_xhtml_a39e23cca85d22b36fc18fbed987af01b"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_params.xhtml#a39e23cca85d22b36fc18fbed987af01b">arm_compute::utils::CommonParams::weights</a></div><div class="ttdeci">TensorParams weights</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00139">graph_validate_utils.h:139</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_simple_tensor_xhtml"><div class="ttname"><a href="classarm__compute_1_1test_1_1_simple_tensor.xhtml">arm_compute::test::SimpleTensor</a></div><div class="ttdoc">Simple tensor object that stores elements in a consecutive chunk of memory.</div><div class="ttdef"><b>Definition:</b> <a href="_simple_tensor_8h_source.xhtml#l00059">SimpleTensor.h:59</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml_af7a2acd451b91be95366758a12df41f2"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#af7a2acd451b91be95366758a12df41f2">arm_compute::utils::VerifyAccessor::fill_tensor</a></div><div class="ttdeci">void fill_tensor(arm_compute::test::SimpleTensor&lt; int32_t &gt; &amp;tensor, std::random_device::result_type seed, int32_t low, int32_t high)</div><div class="ttdoc">Fill S32 tensor with Random values.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00480">graph_validate_utils.h:480</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_example_params_xhtml_acf9c4d06fdffc57621c91a2755f678ab"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_example_params.xhtml#acf9c4d06fdffc57621c91a2755f678ab">arm_compute::utils::ExampleParams::depth_convolution_method</a></div><div class="ttdeci">arm_compute::graph::DepthwiseConvolutionMethod depth_convolution_method</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00181">graph_validate_utils.h:181</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_example_params_xhtml_a901823eca780b42971295d670ca93a89"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_example_params.xhtml#a901823eca780b42971295d670ca93a89">arm_compute::utils::ExampleParams::fully_connected</a></div><div class="ttdeci">FullyConnectedParams fully_connected</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00179">graph_validate_utils.h:179</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_tensor_params_xhtml_aef1c0b2053bee947f72e999db335c84c"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#aef1c0b2053bee947f72e999db335c84c">arm_compute::utils::TensorParams::npy</a></div><div class="ttdeci">std::string npy</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00113">graph_validate_utils.h:113</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_common_graph_validate_options_xhtml_ae34b3428ac86441ca6ecab0ea1b24290"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#ae34b3428ac86441ca6ecab0ea1b24290">arm_compute::utils::CommonGraphValidateOptions::absolute_tolerance</a></div><div class="ttdeci">SimpleOption&lt; float &gt; * absolute_tolerance</div><div class="ttdoc">Absolute tolerance used in verification.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00304">graph_validate_utils.h:304</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_graph_validate_example_xhtml_aca0c669baad0b2ff3c1bdb38fdd77185"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#aca0c669baad0b2ff3c1bdb38fdd77185">arm_compute::utils::GraphValidateExample::do_setup</a></div><div class="ttdeci">bool do_setup(int argc, char **argv) override</div><div class="ttdoc">Setup the example.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00639">graph_validate_utils.h:639</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_fully_connected_params_xhtml_a8473cdd04f05bb326d412a61e32c77cb"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_fully_connected_params.xhtml#a8473cdd04f05bb326d412a61e32c77cb">arm_compute::utils::FullyConnectedParams::num_outputs</a></div><div class="ttdeci">int num_outputs</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00173">graph_validate_utils.h:173</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_params_xhtml_ab6692d047db2f0c872e4dfc55f958533"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_params.xhtml#ab6692d047db2f0c872e4dfc55f958533">arm_compute::utils::CommonParams::output</a></div><div class="ttdeci">TensorParams output</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00141">graph_validate_utils.h:141</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ae02c6fc90d9c60c634bfa258049eb46b"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ae02c6fc90d9c60c634bfa258049eb46b">arm_compute::test::validation::validate</a></div><div class="ttdeci">validate(dst.info() -&gt;valid_region(), valid_region)</div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_graph_validate_example_xhtml_ad661ffd89241c1465c142b9d1f22f3d3"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#ad661ffd89241c1465c142b9d1f22f3d3">arm_compute::utils::GraphValidateExample::do_teardown</a></div><div class="ttdeci">void do_teardown() override</div><div class="ttdoc">Teardown the example.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00687">graph_validate_utils.h:687</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml_aa3c414caac54dee6aa0cc08240156e65"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#aa3c414caac54dee6aa0cc08240156e65">arm_compute::utils::VerifyAccessor::VerifyAccessor</a></div><div class="ttdeci">VerifyAccessor(ExampleParams &amp;params)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00358">graph_validate_utils.h:358</a></div></div>
<div class="ttc" id="namespace_gemm_tuner_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">GemmTuner.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner.py:527</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml">arm_compute::utils::VerifyAccessor</a></div><div class="ttdoc">Graph example validation accessor class.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00350">graph_validate_utils.h:350</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_verification_params_xhtml_ad2934e26bd8d5d9cb23040bf3135c4bf"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_verification_params.xhtml#ad2934e26bd8d5d9cb23040bf3135c4bf">arm_compute::utils::VerificationParams::tolerance_number</a></div><div class="ttdeci">float tolerance_number</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00123">graph_validate_utils.h:123</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1validation_1_1_relative_tolerance_xhtml"><div class="ttname"><a href="classarm__compute_1_1test_1_1validation_1_1_relative_tolerance.xhtml">arm_compute::test::validation::RelativeTolerance</a></div><div class="ttdoc">Class reprensenting a relative tolerance value.</div><div class="ttdef"><b>Definition:</b> <a href="_validation_8h_source.xhtml#l00086">Validation.h:86</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_framework_params_xhtml_a545363392790133c5dec1fd9e2cb279d"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_framework_params.xhtml#a545363392790133c5dec1fd9e2cb279d">arm_compute::utils::FrameworkParams::help</a></div><div class="ttdeci">bool help</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00129">graph_validate_utils.h:129</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ad85d7becf0c6e3cffbc255489808e219"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ad85d7becf0c6e3cffbc255489808e219">arm_compute::test::validation::qinfo</a></div><div class="ttdeci">const QuantizationInfo qinfo</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00150">Im2Col.cpp:150</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_enum_option_xhtml"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_enum_option.xhtml">arm_compute::utils::EnumOption&lt; arm_compute::graph::Target &gt;</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_common_graph_validate_options_xhtml_a770e3e82cb8e4632d754e651fd29b9cb"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a770e3e82cb8e4632d754e651fd29b9cb">arm_compute::utils::CommonGraphValidateOptions::target</a></div><div class="ttdeci">EnumOption&lt; arm_compute::graph::Target &gt; * target</div><div class="ttdoc">Graph execution target.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00302">graph_validate_utils.h:302</a></div></div>
<div class="ttc" id="classarm__compute_1_1graph_1_1frontend_1_1_stream_xhtml_a4fe26fc31f2479b7c24c6e3640127246"><div class="ttname"><a href="classarm__compute_1_1graph_1_1frontend_1_1_stream.xhtml#a4fe26fc31f2479b7c24c6e3640127246">arm_compute::graph::frontend::Stream::finalize</a></div><div class="ttdeci">void finalize(Target target, const GraphConfig &amp;config)</div><div class="ttdoc">Finalizes the stream for an execution target.</div><div class="ttdef"><b>Definition:</b> <a href="_stream_8cpp_source.xhtml#l00040">Stream.cpp:40</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_convolution_params_xhtml_af95e133b6f176c39dda5a19abfeb052d"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#af95e133b6f176c39dda5a19abfeb052d">arm_compute::utils::ConvolutionParams::padding_mode</a></div><div class="ttdeci">ConvolutionPaddingMode padding_mode</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00157">graph_validate_utils.h:157</a></div></div>
<div class="ttc" id="classarm__compute_1_1graph_1_1frontend_1_1_output_layer_xhtml"><div class="ttname"><a href="classarm__compute_1_1graph_1_1frontend_1_1_output_layer.xhtml">arm_compute::graph::frontend::OutputLayer</a></div><div class="ttdoc">Output Layer.</div><div class="ttdef"><b>Definition:</b> <a href="_layers_8h_source.xhtml#l00095">Layers.h:95</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_convolution_params_xhtml_a80c0944640e62d3ed6c5419c1bcc0c88"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a80c0944640e62d3ed6c5419c1bcc0c88">arm_compute::utils::ConvolutionParams::X</a></div><div class="ttdeci">int X</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00162">graph_validate_utils.h:162</a></div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_simple_tensor_xhtml_aedcfdd4c3b92fe0d63b5463c7ad1d21e"><div class="ttname"><a href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#aedcfdd4c3b92fe0d63b5463c7ad1d21e">arm_compute::test::SimpleTensor::num_elements</a></div><div class="ttdeci">int num_elements() const override</div><div class="ttdoc">Number of elements of the tensor.</div><div class="ttdef"><b>Definition:</b> <a href="_simple_tensor_8h_source.xhtml#l00407">SimpleTensor.h:407</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1graph_xhtml_a683661ae75dcb7aef16b9c9bde31517d"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#a683661ae75dcb7aef16b9c9bde31517d">arm_compute::graph::ConvolutionMethod</a></div><div class="ttdeci">ConvolutionMethod</div><div class="ttdoc">Supported Convolution layer methods.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2graph_2_types_8h_source.xhtml#l00108">Types.h:108</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_graph_validate_example_xhtml_a7b395f46b21240793aa165220d0d1e1c"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#a7b395f46b21240793aa165220d0d1e1c">arm_compute::utils::GraphValidateExample::GraphFunctionLayer</a></div><div class="ttdeci">virtual LayerT GraphFunctionLayer(ExampleParams &amp;params)=0</div></div>
<div class="ttc" id="namespacearm__compute_1_1utils_xhtml_a52b975f9f11b484d21969f9a8fefb29dae1ba155a9f2e8c3be94020eef32a0301"><div class="ttname"><a href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29dae1ba155a9f2e8c3be94020eef32a0301">arm_compute::utils::ConvolutionPaddingMode::Manual</a></div></div>
<div class="ttc" id="structarm__compute_1_1graph_1_1_graph_config_xhtml_a08963f7335eef295237ab460863bc3d5"><div class="ttname"><a href="structarm__compute_1_1graph_1_1_graph_config.xhtml#a08963f7335eef295237ab460863bc3d5">arm_compute::graph::GraphConfig::num_threads</a></div><div class="ttdeci">int num_threads</div><div class="ttdoc">Number of threads to use (thread capable backends), if 0 the backend will auto-initialize,...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2graph_2_types_8h_source.xhtml#l00086">Types.h:86</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a64a08a9fec5aeee8650e7182b6d171d0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a64a08a9fec5aeee8650e7182b6d171d0">arm_compute::test::validation::weights</a></div><div class="ttdeci">CLTensor weights</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_convolution_layer_8cpp_source.xhtml#l00188">ConvolutionLayer.cpp:188</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_common_graph_validate_options_xhtml_ad6174941c7ae1c945e4f7fcb3261f87c"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#ad6174941c7ae1c945e4f7fcb3261f87c">arm_compute::utils::CommonGraphValidateOptions::threads</a></div><div class="ttdeci">SimpleOption&lt; int &gt; * threads</div><div class="ttdoc">Number of threads option.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00301">graph_validate_utils.h:301</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_tensor_params_xhtml_a2474a5474cbff19523a51eb1de01cda4"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a2474a5474cbff19523a51eb1de01cda4">arm_compute::utils::TensorParams::width</a></div><div class="ttdeci">int width</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00108">graph_validate_utils.h:108</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1graph_xhtml_a75ce9b1baad4303a53124d6f0795821fa7a1920d61156abc05a60135aefe8bc67"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#a75ce9b1baad4303a53124d6f0795821fa7a1920d61156abc05a60135aefe8bc67">arm_compute::graph::DepthwiseConvolutionMethod::Default</a></div><div class="ttdoc">Default approach using internal heuristics.</div></div>
<div class="ttc" id="namespace_gemm_tuner_xhtml_a90eee7a4677ca8b1ed116364a24367f9"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a90eee7a4677ca8b1ed116364a24367f9">GemmTuner.parser</a></div><div class="ttdeci">parser</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00520">GemmTuner.py:520</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_convolution_params_xhtml_a674e7b3c7f8aaf704f352704a5899a8e"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#a674e7b3c7f8aaf704f352704a5899a8e">arm_compute::utils::ConvolutionParams::padding_right</a></div><div class="ttdeci">int padding_right</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00154">graph_validate_utils.h:154</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_convolution_params_xhtml_af2246dc6ff43e8b91817f211801be9d5"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_convolution_params.xhtml#af2246dc6ff43e8b91817f211801be9d5">arm_compute::utils::ConvolutionParams::padding_stride_x</a></div><div class="ttdeci">int padding_stride_x</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00155">graph_validate_utils.h:155</a></div></div>
<div class="ttc" id="classarm__compute_1_1graph_1_1frontend_1_1_stream_xhtml"><div class="ttname"><a href="classarm__compute_1_1graph_1_1frontend_1_1_stream.xhtml">arm_compute::graph::frontend::Stream</a></div><div class="ttdoc">Stream frontend class to construct simple graphs in a stream fashion.</div><div class="ttdef"><b>Definition:</b> <a href="_stream_8h_source.xhtml#l00045">Stream.h:45</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_graph_validate_example_xhtml_ab539da12e42174ad1a667f75b77a65c1"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#ab539da12e42174ad1a667f75b77a65c1">arm_compute::utils::GraphValidateExample::do_run</a></div><div class="ttdeci">void do_run() override</div><div class="ttdoc">Run the example.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00682">graph_validate_utils.h:682</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1graph_xhtml_a683661ae75dcb7aef16b9c9bde31517da7a1920d61156abc05a60135aefe8bc67"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#a683661ae75dcb7aef16b9c9bde31517da7a1920d61156abc05a60135aefe8bc67">arm_compute::graph::ConvolutionMethod::Default</a></div><div class="ttdoc">Default approach using internal heuristics.</div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_option_xhtml_a8d75095e0ce4d0cc3ed6bc4733664a74"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_option.xhtml#a8d75095e0ce4d0cc3ed6bc4733664a74">arm_compute::utils::Option::is_set</a></div><div class="ttdeci">bool is_set() const</div><div class="ttdoc">Has a value been assigned to the option?</div><div class="ttdef"><b>Definition:</b> <a href="_option_8h_source.xhtml#l00135">Option.h:135</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1utils_xhtml_a96696b615d35757e96ea6310297f8ba5"><div class="ttname"><a href="namespacearm__compute_1_1utils.xhtml#a96696b615d35757e96ea6310297f8ba5">arm_compute::utils::operator&gt;&gt;</a></div><div class="ttdeci">inline ::std::istream &amp; operator&gt;&gt;(::std::istream &amp;stream, ConvolutionPaddingMode &amp;Mode)</div><div class="ttdoc">Stream Input operator for the ConvolutionPaddingMode type.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00052">graph_validate_utils.h:52</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_params_xhtml_ae5f124b6706064b8b8a507d1b8967ab8"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_params.xhtml#ae5f124b6706064b8b8a507d1b8967ab8">arm_compute::utils::CommonParams::common_params</a></div><div class="ttdeci">FrameworkParams common_params</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00137">graph_validate_utils.h:137</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml_a399e4cdf08ce98d229dcaa8e4ee9841e"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a399e4cdf08ce98d229dcaa8e4ee9841e">arm_compute::utils::VerifyAccessor::tolerance_number</a></div><div class="ttdeci">virtual float tolerance_number()=0</div><div class="ttdoc">Select tolerance number.</div></div>
<div class="ttc" id="classarm__compute_1_1test_1_1_simple_tensor_xhtml_ac74736e3863207232a23b7181c1d0f44"><div class="ttname"><a href="classarm__compute_1_1test_1_1_simple_tensor.xhtml#ac74736e3863207232a23b7181c1d0f44">arm_compute::test::SimpleTensor::quantization_info</a></div><div class="ttdeci">QuantizationInfo quantization_info() const override</div><div class="ttdoc">Quantization info in case of asymmetric quantized type.</div><div class="ttdef"><b>Definition:</b> <a href="_simple_tensor_8h_source.xhtml#l00333">SimpleTensor.h:333</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_common_graph_validate_options_xhtml_a07e18432725b2e2d3c0a5625a8aea8a8"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a07e18432725b2e2d3c0a5625a8aea8a8">arm_compute::utils::CommonGraphValidateOptions::data_type</a></div><div class="ttdeci">EnumOption&lt; arm_compute::DataType &gt; * data_type</div><div class="ttdoc">Graph data type.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00303">graph_validate_utils.h:303</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml_a5e789efce616d0a2398de4c7f57f293f"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a5e789efce616d0a2398de4c7f57f293f">arm_compute::utils::VerifyAccessor::reference</a></div><div class="ttdeci">virtual arm_compute::test::SimpleTensor&lt; D &gt; reference(arm_compute::test::SimpleTensor&lt; D &gt; &amp;src, arm_compute::test::SimpleTensor&lt; D &gt; &amp;weights, arm_compute::test::SimpleTensor&lt; TBias &gt; &amp;bias, const arm_compute::TensorShape &amp;output_shape)=0</div><div class="ttdoc">Calculate reference tensor.</div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml_a5c8865138486a8c43f6f8902bd94ab1f"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a5c8865138486a8c43f6f8902bd94ab1f">arm_compute::utils::VerifyAccessor::absolute_tolerance</a></div><div class="ttdeci">virtual float absolute_tolerance()=0</div><div class="ttdoc">Select absolute tolerance.</div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_common_graph_validate_options_xhtml_a3af7a44f7d0ef3276bc0b419f418012c"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a3af7a44f7d0ef3276bc0b419f418012c">arm_compute::utils::CommonGraphValidateOptions::tolerance_number</a></div><div class="ttdeci">SimpleOption&lt; float &gt; * tolerance_number</div><div class="ttdoc">Tolerance number used in verification.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00306">graph_validate_utils.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00075">Types.h:75</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_verification_params_xhtml_a391ce7e414170c2816119402b217397f"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_verification_params.xhtml#a391ce7e414170c2816119402b217397f">arm_compute::utils::VerificationParams::absolute_tolerance</a></div><div class="ttdeci">float absolute_tolerance</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00121">graph_validate_utils.h:121</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_graph_validate_example_xhtml_a07594d6d567cdd219788762307f60941"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml#a07594d6d567cdd219788762307f60941">arm_compute::utils::GraphValidateExample::graph</a></div><div class="ttdeci">arm_compute::graph::frontend::Stream graph</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00691">graph_validate_utils.h:691</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1graph_xhtml_a31488d29805a596498c0234ae392d35da5bc574a47246f122016869b32a6aa6f0"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35da5bc574a47246f122016869b32a6aa6f0">arm_compute::graph::Target::CL</a></div><div class="ttdoc">OpenCL capable target device.</div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_example_params_xhtml_aa56f0562febf49bc0e29a4257551191b"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_example_params.xhtml#aa56f0562febf49bc0e29a4257551191b">arm_compute::utils::ExampleParams::data_layout</a></div><div class="ttdeci">arm_compute::DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00183">graph_validate_utils.h:183</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0"><div class="ttname"><a href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a></div><div class="ttdeci">DataLayout</div><div class="ttdoc">[DataLayout enum definition]</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00117">Types.h:117</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_convolution_params_xhtml"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_convolution_params.xhtml">arm_compute::utils::ConvolutionParams</a></div><div class="ttdoc">Structure holding all the Convolution layer graph parameters.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00147">graph_validate_utils.h:147</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_verify_accessor_xhtml_a4e68efc85570b62c7d53c78875ced9bc"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_verify_accessor.xhtml#a4e68efc85570b62c7d53c78875ced9bc">arm_compute::utils::VerifyAccessor::TBias</a></div><div class="ttdeci">typename std::conditional&lt; std::is_same&lt; typename std::decay&lt; D &gt;::type, uint8_t &gt;::value, int32_t, D &gt;::type TBias</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00353">graph_validate_utils.h:353</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_simple_option_xhtml"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_simple_option.xhtml">arm_compute::utils::SimpleOption&lt; int &gt;</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_option_xhtml_a48a2672f362eeed9a3e93403f4d3de37"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_option.xhtml#a48a2672f362eeed9a3e93403f4d3de37">arm_compute::utils::Option::set_help</a></div><div class="ttdeci">void set_help(std::string help)</div><div class="ttdoc">Set the help message for the option.</div><div class="ttdef"><b>Definition:</b> <a href="_option_8h_source.xhtml#l00125">Option.h:125</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1utils_xhtml_a52b975f9f11b484d21969f9a8fefb29da3ac705f2acd51a4613f9188c05c91d0d"><div class="ttname"><a href="namespacearm__compute_1_1utils.xhtml#a52b975f9f11b484d21969f9a8fefb29da3ac705f2acd51a4613f9188c05c91d0d">arm_compute::utils::ConvolutionPaddingMode::Valid</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aa6d4f0b9fedd979c5b768f9b34fda9f6"><div class="ttname"><a href="namespacearm__compute.xhtml#aa6d4f0b9fedd979c5b768f9b34fda9f6">arm_compute::calculate_same_pad</a></div><div class="ttdeci">PadStrideInfo calculate_same_pad(TensorShape input_shape, TensorShape weights_shape, PadStrideInfo conv_info, DataLayout data_layout=DataLayout::NCHW, const Size2D &amp;dilation=Size2D(1u, 1u), const DimensionRoundingType &amp;rounding_type=DimensionRoundingType::FLOOR)</div><div class="ttdoc">Calculate padding requirements in case of SAME padding.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_utils_8cpp_source.xhtml#l00340">Utils.cpp:340</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a989ab3e96426615bb98e04e0235088ca"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a989ab3e96426615bb98e04e0235088ca">arm_compute::test::validation::src</a></div><div class="ttdeci">cast configure &amp; src</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_cast_8cpp_source.xhtml#l00169">Cast.cpp:169</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_graph_validate_example_xhtml"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_graph_validate_example.xhtml">arm_compute::utils::GraphValidateExample</a></div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00629">graph_validate_utils.h:629</a></div></div>
<div class="ttc" id="classarm__compute_1_1utils_1_1_common_graph_validate_options_xhtml_a79abd9f6bf27e92a31d668b78af1bbc1"><div class="ttname"><a href="classarm__compute_1_1utils_1_1_common_graph_validate_options.xhtml#a79abd9f6bf27e92a31d668b78af1bbc1">arm_compute::utils::CommonGraphValidateOptions::relative_tolerance</a></div><div class="ttdeci">SimpleOption&lt; float &gt; * relative_tolerance</div><div class="ttdoc">Relative tolerance used in verification.</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00305">graph_validate_utils.h:305</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_tensor_params_xhtml_a65bc62ff84efcb7e4a410600480a4dc9"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_tensor_params.xhtml#a65bc62ff84efcb7e4a410600480a4dc9">arm_compute::utils::TensorParams::quant_info</a></div><div class="ttdeci">QuantizationInfo quant_info</div><div class="ttdef"><b>Definition:</b> <a href="graph__validate__utils_8h_source.xhtml#l00112">graph_validate_utils.h:112</a></div></div>
</div><!-- fragment --></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_59425e443f801f1f2fd8bbe4959a3ccf.xhtml">tests</a></li><li class="navelem"><a class="el" href="dir_c17e235a7be576fb898bcc8e94f529de.xhtml">validate_examples</a></li><li class="navelem"><a class="el" href="graph__validate__utils_8h.xhtml">graph_validate_utils.h</a></li>
<li class="footer">Generated on Thu Mar 5 2020 16:07:04 for Compute Library by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
</ul>
</div>
</body>
</html>