blob: 9dfdbdaae0b2ee83d7522c068347256066920c9e [file] [log] [blame]
Ryan OSheade36e4a2020-03-13 16:26:19 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.13"/>
7<meta name="viewport" content="width=device-width, initial-scale=1"/>
8<title>ArmNN: src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.hpp File Reference</title>
9<link href="tabs.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="dynsections.js"></script>
12<link href="navtree.css" rel="stylesheet" type="text/css"/>
13<script type="text/javascript" src="resize.js"></script>
14<script type="text/javascript" src="navtreedata.js"></script>
15<script type="text/javascript" src="navtree.js"></script>
16<script type="text/javascript">
17 $(document).ready(initResizable);
18</script>
19<link href="search/search.css" rel="stylesheet" type="text/css"/>
20<script type="text/javascript" src="search/searchdata.js"></script>
21<script type="text/javascript" src="search/search.js"></script>
22<link href="doxygen.css" rel="stylesheet" type="text/css" />
23</head>
24<body>
25<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
26<div id="titlearea">
27<table cellspacing="0" cellpadding="0">
28 <tbody>
29 <tr style="height: 56px;">
30 <td id="projectalign" style="padding-left: 0.5em;">
31 <div id="projectname">ArmNN
32 &#160;<span id="projectnumber">NotReleased</span>
33 </div>
34 </td>
35 </tr>
36 </tbody>
37</table>
38</div>
39<!-- end header part -->
40<!-- Generated by Doxygen 1.8.13 -->
41<script type="text/javascript">
42var searchBox = new SearchBox("searchBox", "search",false,'Search');
43</script>
44<script type="text/javascript" src="menudata.js"></script>
45<script type="text/javascript" src="menu.js"></script>
46<script type="text/javascript">
47$(function() {
48 initMenu('',true,false,'search.php','Search');
49 $(document).ready(function() { init_search(); });
50});
51</script>
52<div id="main-nav"></div>
53</div><!-- top -->
54<div id="side-nav" class="ui-resizable side-nav-resizable">
55 <div id="nav-tree">
56 <div id="nav-tree-contents">
57 <div id="nav-sync" class="sync"></div>
58 </div>
59 </div>
60 <div id="splitbar" style="-moz-user-select:none;"
61 class="ui-resizable-handle">
62 </div>
63</div>
64<script type="text/javascript">
65$(document).ready(function(){initNavTree('_conv2d_test_impl_8hpp.html','');});
66</script>
67<div id="doc-content">
68<!-- window showing the filter options -->
69<div id="MSearchSelectWindow"
70 onmouseover="return searchBox.OnSearchSelectShow()"
71 onmouseout="return searchBox.OnSearchSelectHide()"
72 onkeydown="return searchBox.OnSearchSelectKey(event)">
73</div>
74
75<!-- iframe showing the search results (closed by default) -->
76<div id="MSearchResultsWindow">
77<iframe src="javascript:void(0)" frameborder="0"
78 name="MSearchResults" id="MSearchResults">
79</iframe>
80</div>
81
82<div class="header">
83 <div class="summary">
84<a href="#func-members">Functions</a> </div>
85 <div class="headertitle">
86<div class="title">Conv2dTestImpl.hpp File Reference</div> </div>
87</div><!--header-->
88<div class="contents">
89<div class="textblock"><code>#include &quot;<a class="el" href="_layer_test_result_8hpp_source.html">LayerTestResult.hpp</a>&quot;</code><br />
90<code>#include &lt;<a class="el" href="_resolve_type_8hpp_source.html">ResolveType.hpp</a>&gt;</code><br />
91<code>#include &lt;<a class="el" href="_types_8hpp_source.html">armnn/Types.hpp</a>&gt;</code><br />
92<code>#include &lt;<a class="el" href="include_2armnn_2backends_2_i_backend_internal_8hpp_source.html">armnn/backends/IBackendInternal.hpp</a>&gt;</code><br />
93<code>#include &lt;<a class="el" href="_workload_factory_8hpp_source.html">backendsCommon/WorkloadFactory.hpp</a>&gt;</code><br />
94</div>
95<p><a href="_conv2d_test_impl_8hpp_source.html">Go to the source code of this file.</a></p>
96<table class="memberdecls">
97<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
98Functions</h2></td></tr>
99<tr class="memitem:a90abce368d7f16012bef5ee461329484"><td class="memTemplParams" colspan="2">template&lt;armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType&lt;ArmnnType&gt;&gt; </td></tr>
100<tr class="memitem:a90abce368d7f16012bef5ee461329484"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a90abce368d7f16012bef5ee461329484">Convolution2d3x3Dilation3x3Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
101<tr class="separator:a90abce368d7f16012bef5ee461329484"><td class="memSeparator" colspan="2">&#160;</td></tr>
102<tr class="memitem:a99ef3f48cbd057e0169bc80dc77331ef"><td class="memTemplParams" colspan="2">template&lt;armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType&lt;ArmnnType&gt;&gt; </td></tr>
103<tr class="memitem:a99ef3f48cbd057e0169bc80dc77331ef"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a99ef3f48cbd057e0169bc80dc77331ef">Convolution2d2x3x3Dilation3x3Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
104<tr class="separator:a99ef3f48cbd057e0169bc80dc77331ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
105<tr class="memitem:acf553288e3b5060768fb91e064993678"><td class="memTemplParams" colspan="2">template&lt;armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType&lt;ArmnnType&gt;&gt; </td></tr>
106<tr class="memitem:acf553288e3b5060768fb91e064993678"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#acf553288e3b5060768fb91e064993678">Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
107<tr class="separator:acf553288e3b5060768fb91e064993678"><td class="memSeparator" colspan="2">&#160;</td></tr>
108<tr class="memitem:afb5e7d86e241292d9cb899b960da54af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#afb5e7d86e241292d9cb899b960da54af">SimpleConvolution2d3x5Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
109<tr class="separator:afb5e7d86e241292d9cb899b960da54af"><td class="memSeparator" colspan="2">&#160;</td></tr>
110<tr class="memitem:acbe1a2adccd9e0aad14fc0ccb9266b0d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#acbe1a2adccd9e0aad14fc0ccb9266b0d">SimpleConvolution2d3x3Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
111<tr class="separator:acbe1a2adccd9e0aad14fc0ccb9266b0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
112<tr class="memitem:af4ac6874d18e1cb59873a17073512873"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#af4ac6874d18e1cb59873a17073512873">SimpleConvolution2d3x3Stride2x2Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
113<tr class="separator:af4ac6874d18e1cb59873a17073512873"><td class="memSeparator" colspan="2">&#160;</td></tr>
114<tr class="memitem:ac7bae01fdca8edac70cc9bc722426b17"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#ac7bae01fdca8edac70cc9bc722426b17">SimpleConvolution2d3x3NhwcTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled)</td></tr>
115<tr class="separator:ac7bae01fdca8edac70cc9bc722426b17"><td class="memSeparator" colspan="2">&#160;</td></tr>
116<tr class="memitem:a8ffca1c4b38a68b10ba06f4f1416660f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a8ffca1c4b38a68b10ba06f4f1416660f">SimpleConvolution2d3x5Uint8Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
117<tr class="separator:a8ffca1c4b38a68b10ba06f4f1416660f"><td class="memSeparator" colspan="2">&#160;</td></tr>
118<tr class="memitem:ad45f359d9d4bee360bee857faa79d292"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#ad45f359d9d4bee360bee857faa79d292">SimpleConvolution2d3x3Uint8Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
119<tr class="separator:ad45f359d9d4bee360bee857faa79d292"><td class="memSeparator" colspan="2">&#160;</td></tr>
120<tr class="memitem:a9dcd2fb98f5c3284c74f65a7c7a69da1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; int16_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a9dcd2fb98f5c3284c74f65a7c7a69da1">SimpleConvolution2d3x5QSymm16Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
121<tr class="separator:a9dcd2fb98f5c3284c74f65a7c7a69da1"><td class="memSeparator" colspan="2">&#160;</td></tr>
122<tr class="memitem:abac8f73ae590a93fe91115371ae4ced3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; int16_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#abac8f73ae590a93fe91115371ae4ced3">SimpleConvolution2d3x3QSymm16Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
123<tr class="separator:abac8f73ae590a93fe91115371ae4ced3"><td class="memSeparator" colspan="2">&#160;</td></tr>
124<tr class="memitem:a48884a37a6b783185c608a68cfce752f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a48884a37a6b783185c608a68cfce752f">Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
125<tr class="separator:a48884a37a6b783185c608a68cfce752f"><td class="memSeparator" colspan="2">&#160;</td></tr>
126<tr class="memitem:af7f2cd23423130ebdd916de12bc0eb1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#af7f2cd23423130ebdd916de12bc0eb1d">Convolution2dAsymmetricPaddingTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
127<tr class="separator:af7f2cd23423130ebdd916de12bc0eb1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
128<tr class="memitem:ac7fac5767dabd650d3d8829572717064"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#ac7fac5767dabd650d3d8829572717064">Convolution1dTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled)</td></tr>
129<tr class="separator:ac7fac5767dabd650d3d8829572717064"><td class="memSeparator" colspan="2">&#160;</td></tr>
130<tr class="memitem:a40bc412ed2a6d2f764655070c02c036b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a40bc412ed2a6d2f764655070c02c036b">Convolution1dUint8Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled)</td></tr>
131<tr class="separator:a40bc412ed2a6d2f764655070c02c036b"><td class="memSeparator" colspan="2">&#160;</td></tr>
132<tr class="memitem:a15fe73bad57133008945807f7a5b4783"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a15fe73bad57133008945807f7a5b4783">CompareConvolution2dTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, <a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;refWorkloadFactory)</td></tr>
133<tr class="separator:a15fe73bad57133008945807f7a5b4783"><td class="memSeparator" colspan="2">&#160;</td></tr>
134<tr class="memitem:a370a5216668b507284677234264a22a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a370a5216668b507284677234264a22a2">Convolution2dPerAxisQuantTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
135<tr class="separator:a370a5216668b507284677234264a22a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
136<tr class="memitem:a1c3398bdb48e4ce4643a1eeaf3e054a3"><td class="memTemplParams" colspan="2">template&lt;armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType&lt;ArmnnType&gt;&gt; </td></tr>
137<tr class="memitem:a1c3398bdb48e4ce4643a1eeaf3e054a3"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a1c3398bdb48e4ce4643a1eeaf3e054a3">DepthwiseConvolution2d3x3Dilation3x3Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
138<tr class="separator:a1c3398bdb48e4ce4643a1eeaf3e054a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
139<tr class="memitem:acffa50ae3185e3e5302909f27e7e9a02"><td class="memTemplParams" colspan="2">template&lt;armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType&lt;ArmnnType&gt;&gt; </td></tr>
140<tr class="memitem:acffa50ae3185e3e5302909f27e7e9a02"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#acffa50ae3185e3e5302909f27e7e9a02">DepthwiseConvolution2d2x3x3Dilation3x3Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
141<tr class="separator:acffa50ae3185e3e5302909f27e7e9a02"><td class="memSeparator" colspan="2">&#160;</td></tr>
142<tr class="memitem:a0da6534b3a5d2f923dcd73553950129a"><td class="memTemplParams" colspan="2">template&lt;armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType&lt;ArmnnType&gt;&gt; </td></tr>
143<tr class="memitem:a0da6534b3a5d2f923dcd73553950129a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a0da6534b3a5d2f923dcd73553950129a">DepthwiseConvolution2dMult4Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
144<tr class="separator:a0da6534b3a5d2f923dcd73553950129a"><td class="memSeparator" colspan="2">&#160;</td></tr>
145<tr class="memitem:aaed50a372a6b59b20e38469856a3ce6b"><td class="memTemplParams" colspan="2">template&lt;armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType&lt;ArmnnType&gt;&gt; </td></tr>
146<tr class="memitem:aaed50a372a6b59b20e38469856a3ce6b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#aaed50a372a6b59b20e38469856a3ce6b">DepthwiseConvolution2dMult2Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
147<tr class="separator:aaed50a372a6b59b20e38469856a3ce6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
148<tr class="memitem:a12fec2055d0e4a18d1e0db589a969e41"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
149<tr class="memitem:a12fec2055d0e4a18d1e0db589a969e41"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a12fec2055d0e4a18d1e0db589a969e41">CompareDepthwiseConvolution2dTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, <a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;refWorkloadFactory, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
150<tr class="separator:a12fec2055d0e4a18d1e0db589a969e41"><td class="memSeparator" colspan="2">&#160;</td></tr>
151<tr class="memitem:a11fbd94028ab646528b42d0c8c55eee1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a11fbd94028ab646528b42d0c8c55eee1">DepthwiseConvolution2dTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
152<tr class="separator:a11fbd94028ab646528b42d0c8c55eee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
153<tr class="memitem:a0cccb5cffee89004bc8d9fb309ed6636"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a0cccb5cffee89004bc8d9fb309ed6636">DepthwiseConvolution2dDepthNhwcTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled)</td></tr>
154<tr class="separator:a0cccb5cffee89004bc8d9fb309ed6636"><td class="memSeparator" colspan="2">&#160;</td></tr>
155<tr class="memitem:a8b32d950a40903f502f5e1ec0dcab0bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a8b32d950a40903f502f5e1ec0dcab0bd">DepthwiseConvolution2dDepthMul1Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
156<tr class="separator:a8b32d950a40903f502f5e1ec0dcab0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
157<tr class="memitem:ab020b4a99bf905b61a1c5e03332b63a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#ab020b4a99bf905b61a1c5e03332b63a6">DepthwiseConvolution2dDepthMul64Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager)</td></tr>
158<tr class="separator:ab020b4a99bf905b61a1c5e03332b63a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
159<tr class="memitem:abf326cbf49ec19c6272fe7c244b7817c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#abf326cbf49ec19c6272fe7c244b7817c">DepthwiseConvolution2dAsymmetricTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
160<tr class="separator:abf326cbf49ec19c6272fe7c244b7817c"><td class="memSeparator" colspan="2">&#160;</td></tr>
161<tr class="memitem:a77a29527216d36bce78e88354462ede8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a77a29527216d36bce78e88354462ede8">SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager)</td></tr>
162<tr class="separator:a77a29527216d36bce78e88354462ede8"><td class="memSeparator" colspan="2">&#160;</td></tr>
163<tr class="memitem:a8076c31bd6e9eae629994a89a5fa18c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a8076c31bd6e9eae629994a89a5fa18c3">DepthwiseConvolution2dUint8Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
164<tr class="separator:a8076c31bd6e9eae629994a89a5fa18c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
165<tr class="memitem:ae797be34b659db2afe183f0c762fb9b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#ae797be34b659db2afe183f0c762fb9b7">DepthwiseConvolution2dDepthMul1Uint8Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
166<tr class="separator:ae797be34b659db2afe183f0c762fb9b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
167<tr class="memitem:a2ae97c2dd6621f4972c571cf1ec2a005"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; int16_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a2ae97c2dd6621f4972c571cf1ec2a005">DepthwiseConvolution2dInt16Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
168<tr class="separator:a2ae97c2dd6621f4972c571cf1ec2a005"><td class="memSeparator" colspan="2">&#160;</td></tr>
169<tr class="memitem:a74346a72d64f7fa3463473424c3098ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; int16_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a74346a72d64f7fa3463473424c3098ab">DepthwiseConvolution2dDepthMul1Int16Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
170<tr class="separator:a74346a72d64f7fa3463473424c3098ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
171<tr class="memitem:a8a51827c480f827c1e29f9347d7433c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a8a51827c480f827c1e29f9347d7433c3">DepthwiseConvolution2dPerAxisQuantTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
172<tr class="separator:a8a51827c480f827c1e29f9347d7433c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
173<tr class="memitem:a09705f5e38cfc0d5bccc64791eb4f231"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a09705f5e38cfc0d5bccc64791eb4f231">CompareDepthwiseConvolution2dFloatTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, <a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;refWorkloadFactory, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
174<tr class="separator:a09705f5e38cfc0d5bccc64791eb4f231"><td class="memSeparator" colspan="2">&#160;</td></tr>
175<tr class="memitem:a21af5850bca4df2ea0315afb407e7900"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.html#a21af5850bca4df2ea0315afb407e7900">CompareDepthwiseConvolution2dUint8Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, <a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;refWorkloadFactory, const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
176<tr class="separator:a21af5850bca4df2ea0315afb407e7900"><td class="memSeparator" colspan="2">&#160;</td></tr>
177</table>
178<h2 class="groupheader">Function Documentation</h2>
179<a id="a15fe73bad57133008945807f7a5b4783"></a>
180<h2 class="memtitle"><span class="permalink"><a href="#a15fe73bad57133008945807f7a5b4783">&#9670;&nbsp;</a></span>CompareConvolution2dTest()</h2>
181
182<div class="memitem">
183<div class="memproto">
184 <table class="memname">
185 <tr>
186 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;float, 4&gt; CompareConvolution2dTest </td>
187 <td>(</td>
188 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
189 <td class="paramname"><em>workloadFactory</em>, </td>
190 </tr>
191 <tr>
192 <td class="paramkey"></td>
193 <td></td>
194 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
195 <td class="paramname"><em>memoryManager</em>, </td>
196 </tr>
197 <tr>
198 <td class="paramkey"></td>
199 <td></td>
200 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
201 <td class="paramname"><em>refWorkloadFactory</em>&#160;</td>
202 </tr>
203 <tr>
204 <td></td>
205 <td>)</td>
206 <td></td><td></td>
207 </tr>
208 </table>
209</div><div class="memdoc">
210
211<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03136">3136</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
212<div class="fragment"><div class="line"><a name="l03140"></a><span class="lineno"> 3140</span>&#160;{</div><div class="line"><a name="l03141"></a><span class="lineno"> 3141</span>&#160; <span class="keywordflow">return</span> CompareConvolution2dTestImpl&lt;armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03142"></a><span class="lineno"> 3142</span>&#160; workloadFactory, memoryManager, refWorkloadFactory);</div><div class="line"><a name="l03143"></a><span class="lineno"> 3143</span>&#160;}</div></div><!-- fragment -->
213</div>
214</div>
215<a id="a09705f5e38cfc0d5bccc64791eb4f231"></a>
216<h2 class="memtitle"><span class="permalink"><a href="#a09705f5e38cfc0d5bccc64791eb4f231">&#9670;&nbsp;</a></span>CompareDepthwiseConvolution2dFloatTest()</h2>
217
218<div class="memitem">
219<div class="memproto">
220 <table class="memname">
221 <tr>
222 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;float, 4&gt; CompareDepthwiseConvolution2dFloatTest </td>
223 <td>(</td>
224 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
225 <td class="paramname"><em>workloadFactory</em>, </td>
226 </tr>
227 <tr>
228 <td class="paramkey"></td>
229 <td></td>
230 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
231 <td class="paramname"><em>memoryManager</em>, </td>
232 </tr>
233 <tr>
234 <td class="paramkey"></td>
235 <td></td>
236 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
237 <td class="paramname"><em>refWorkloadFactory</em>, </td>
238 </tr>
239 <tr>
240 <td class="paramkey"></td>
241 <td></td>
242 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
243 <td class="paramname"><em>layout</em>&#160;</td>
244 </tr>
245 <tr>
246 <td></td>
247 <td>)</td>
248 <td></td><td></td>
249 </tr>
250 </table>
251</div><div class="memdoc">
252
253<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03376">3376</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
254<div class="fragment"><div class="line"><a name="l03381"></a><span class="lineno"> 3381</span>&#160;{</div><div class="line"><a name="l03382"></a><span class="lineno"> 3382</span>&#160; <span class="keywordflow">return</span> CompareDepthwiseConvolution2dTestImpl&lt;armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03383"></a><span class="lineno"> 3383</span>&#160; workloadFactory, memoryManager, refWorkloadFactory, layout);</div><div class="line"><a name="l03384"></a><span class="lineno"> 3384</span>&#160;}</div></div><!-- fragment -->
255</div>
256</div>
257<a id="a12fec2055d0e4a18d1e0db589a969e41"></a>
258<h2 class="memtitle"><span class="permalink"><a href="#a12fec2055d0e4a18d1e0db589a969e41">&#9670;&nbsp;</a></span>CompareDepthwiseConvolution2dTest()</h2>
259
260<div class="memitem">
261<div class="memproto">
262 <table class="memname">
263 <tr>
264 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;T, 4&gt; CompareDepthwiseConvolution2dTest </td>
265 <td>(</td>
266 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
267 <td class="paramname"><em>workloadFactory</em>, </td>
268 </tr>
269 <tr>
270 <td class="paramkey"></td>
271 <td></td>
272 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
273 <td class="paramname"><em>memoryManager</em>, </td>
274 </tr>
275 <tr>
276 <td class="paramkey"></td>
277 <td></td>
278 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
279 <td class="paramname"><em>refWorkloadFactory</em>, </td>
280 </tr>
281 <tr>
282 <td class="paramkey"></td>
283 <td></td>
284 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
285 <td class="paramname"><em>layout</em>&#160;</td>
286 </tr>
287 <tr>
288 <td></td>
289 <td>)</td>
290 <td></td><td></td>
291 </tr>
292 </table>
293</div><div class="memdoc">
294
295</div>
296</div>
297<a id="a21af5850bca4df2ea0315afb407e7900"></a>
298<h2 class="memtitle"><span class="permalink"><a href="#a21af5850bca4df2ea0315afb407e7900">&#9670;&nbsp;</a></span>CompareDepthwiseConvolution2dUint8Test()</h2>
299
300<div class="memitem">
301<div class="memproto">
302 <table class="memname">
303 <tr>
304 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;uint8_t, 4&gt; CompareDepthwiseConvolution2dUint8Test </td>
305 <td>(</td>
306 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
307 <td class="paramname"><em>workloadFactory</em>, </td>
308 </tr>
309 <tr>
310 <td class="paramkey"></td>
311 <td></td>
312 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
313 <td class="paramname"><em>memoryManager</em>, </td>
314 </tr>
315 <tr>
316 <td class="paramkey"></td>
317 <td></td>
318 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
319 <td class="paramname"><em>refWorkloadFactory</em>, </td>
320 </tr>
321 <tr>
322 <td class="paramkey"></td>
323 <td></td>
324 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
325 <td class="paramname"><em>layout</em>&#160;</td>
326 </tr>
327 <tr>
328 <td></td>
329 <td>)</td>
330 <td></td><td></td>
331 </tr>
332 </table>
333</div><div class="memdoc">
334
335<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03386">3386</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
336<div class="fragment"><div class="line"><a name="l03391"></a><span class="lineno"> 3391</span>&#160;{</div><div class="line"><a name="l03392"></a><span class="lineno"> 3392</span>&#160; <span class="keywordflow">return</span> CompareDepthwiseConvolution2dTestImpl&lt;armnn::DataType::QAsymmU8&gt;(</div><div class="line"><a name="l03393"></a><span class="lineno"> 3393</span>&#160; workloadFactory, memoryManager, refWorkloadFactory, layout);</div><div class="line"><a name="l03394"></a><span class="lineno"> 3394</span>&#160;}</div></div><!-- fragment -->
337</div>
338</div>
339<a id="ac7fac5767dabd650d3d8829572717064"></a>
340<h2 class="memtitle"><span class="permalink"><a href="#ac7fac5767dabd650d3d8829572717064">&#9670;&nbsp;</a></span>Convolution1dTest()</h2>
341
342<div class="memitem">
343<div class="memproto">
344 <table class="memname">
345 <tr>
346 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;float, 4&gt; Convolution1dTest </td>
347 <td>(</td>
348 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
349 <td class="paramname"><em>workloadFactory</em>, </td>
350 </tr>
351 <tr>
352 <td class="paramkey"></td>
353 <td></td>
354 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
355 <td class="paramname"><em>memoryManager</em>, </td>
356 </tr>
357 <tr>
358 <td class="paramkey"></td>
359 <td></td>
360 <td class="paramtype">bool&#160;</td>
361 <td class="paramname"><em>biasEnabled</em>&#160;</td>
362 </tr>
363 <tr>
364 <td></td>
365 <td>)</td>
366 <td></td><td></td>
367 </tr>
368 </table>
369</div><div class="memdoc">
370
371<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03026">3026</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
372<div class="fragment"><div class="line"><a name="l03030"></a><span class="lineno"> 3030</span>&#160;{</div><div class="line"><a name="l03031"></a><span class="lineno"> 3031</span>&#160; <span class="keywordflow">return</span> Convolution1dTestImpl&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03032"></a><span class="lineno"> 3032</span>&#160; workloadFactory, memoryManager, 0.0f, 0, biasEnabled);</div><div class="line"><a name="l03033"></a><span class="lineno"> 3033</span>&#160;}</div></div><!-- fragment -->
373</div>
374</div>
375<a id="a40bc412ed2a6d2f764655070c02c036b"></a>
376<h2 class="memtitle"><span class="permalink"><a href="#a40bc412ed2a6d2f764655070c02c036b">&#9670;&nbsp;</a></span>Convolution1dUint8Test()</h2>
377
378<div class="memitem">
379<div class="memproto">
380 <table class="memname">
381 <tr>
382 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;uint8_t, 4&gt; Convolution1dUint8Test </td>
383 <td>(</td>
384 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
385 <td class="paramname"><em>workloadFactory</em>, </td>
386 </tr>
387 <tr>
388 <td class="paramkey"></td>
389 <td></td>
390 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
391 <td class="paramname"><em>memoryManager</em>, </td>
392 </tr>
393 <tr>
394 <td class="paramkey"></td>
395 <td></td>
396 <td class="paramtype">bool&#160;</td>
397 <td class="paramname"><em>biasEnabled</em>&#160;</td>
398 </tr>
399 <tr>
400 <td></td>
401 <td>)</td>
402 <td></td><td></td>
403 </tr>
404 </table>
405</div><div class="memdoc">
406
407<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03035">3035</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
408<div class="fragment"><div class="line"><a name="l03039"></a><span class="lineno"> 3039</span>&#160;{</div><div class="line"><a name="l03040"></a><span class="lineno"> 3040</span>&#160; <span class="keywordflow">return</span> Convolution1dTestImpl&lt;armnn::DataType::QAsymmU8, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l03041"></a><span class="lineno"> 3041</span>&#160; workloadFactory, memoryManager, 0.1f, 128, biasEnabled);</div><div class="line"><a name="l03042"></a><span class="lineno"> 3042</span>&#160;}</div></div><!-- fragment -->
409</div>
410</div>
411<a id="acf553288e3b5060768fb91e064993678"></a>
412<h2 class="memtitle"><span class="permalink"><a href="#acf553288e3b5060768fb91e064993678">&#9670;&nbsp;</a></span>Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test()</h2>
413
414<div class="memitem">
415<div class="memproto">
416 <table class="memname">
417 <tr>
418 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;T, 4&gt; Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test </td>
419 <td>(</td>
420 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
421 <td class="paramname"><em>workloadFactory</em>, </td>
422 </tr>
423 <tr>
424 <td class="paramkey"></td>
425 <td></td>
426 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
427 <td class="paramname"><em>memoryManager</em>, </td>
428 </tr>
429 <tr>
430 <td class="paramkey"></td>
431 <td></td>
432 <td class="paramtype">bool&#160;</td>
433 <td class="paramname"><em>biasEnabled</em>, </td>
434 </tr>
435 <tr>
436 <td class="paramkey"></td>
437 <td></td>
438 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
439 <td class="paramname"><em>layout</em>&#160;</td>
440 </tr>
441 <tr>
442 <td></td>
443 <td>)</td>
444 <td></td><td></td>
445 </tr>
446 </table>
447</div><div class="memdoc">
448
449<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l01210">1210</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
450<div class="fragment"><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;{</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> inputTensorInfo({1, 1, 10, 10}, ArmnnType);</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160; std::vector&lt;float&gt; inputNoQuantizedValues =</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160; {</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,</div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160; };</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> kernelTensorInfo({ 1, 1, 2, 2}, ArmnnType);</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160; std::vector&lt;float&gt; kernelNoQuantizedValues =</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160; {</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160; 1, 2,</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160; 3, 4</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160; };</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160; <span class="comment">// Since the dilation rate is 2 this will dilate the kernel to be like 3x3: d(K-1)+1 --&gt; 2 x (2-1) + 1 = 3,</span></div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160; <span class="comment">// therefore the output will be 4x4: (I − K + 2P)/S +1 =&gt; trunc ( (10 - 3 + 2x2 ) / 3 + 1 )</span></div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160; <span class="comment">// where, dilation size = d = 2; kernel size = K = 2; input size = I = 10; padding size = P = 2; stride = S = 3</span></div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> outputTensorInfo({ 1, 1, 4, 4}, ArmnnType);</div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160; std::vector&lt;float&gt; outputExpectedNoQuantizedValues =</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160; {</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160; 4, 7, 7, 3,</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160; 6, 10, 10, 4,</div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160; 6, 10, 10, 4,</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160; 2, 3, 3, 1</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160; };</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160; uint32_t padLeft = 1;</div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160; uint32_t padTop = 1;</div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160; uint32_t padRight = 1;</div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160; uint32_t padBottom = 1;</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160;</div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160; <span class="keywordflow">return</span> Convolution2d3x3DilationTestCommon&lt;ArmnnType, ArmnnBType&gt;(</div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160; workloadFactory,</div><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160; memoryManager,</div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160; inputNoQuantizedValues,</div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160; inputTensorInfo,</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; kernelNoQuantizedValues,</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; kernelTensorInfo,</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160; outputExpectedNoQuantizedValues,</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160; outputTensorInfo,</div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160; 2,</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160; 2,</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160; layout,</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160; padLeft,</div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160; padTop,</div><div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160; padRight,</div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160; padBottom,</div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160; 3,</div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; 3,</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160; biasEnabled</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160; );</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_tensor_info_html"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00053">Tensor.hpp:53</a></div></div>
451</div><!-- fragment -->
452</div>
453</div>
454<a id="a99ef3f48cbd057e0169bc80dc77331ef"></a>
455<h2 class="memtitle"><span class="permalink"><a href="#a99ef3f48cbd057e0169bc80dc77331ef">&#9670;&nbsp;</a></span>Convolution2d2x3x3Dilation3x3Test()</h2>
456
457<div class="memitem">
458<div class="memproto">
459 <table class="memname">
460 <tr>
461 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;T, 4&gt; Convolution2d2x3x3Dilation3x3Test </td>
462 <td>(</td>
463 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
464 <td class="paramname"><em>workloadFactory</em>, </td>
465 </tr>
466 <tr>
467 <td class="paramkey"></td>
468 <td></td>
469 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
470 <td class="paramname"><em>memoryManager</em>, </td>
471 </tr>
472 <tr>
473 <td class="paramkey"></td>
474 <td></td>
475 <td class="paramtype">bool&#160;</td>
476 <td class="paramname"><em>biasEnabled</em>, </td>
477 </tr>
478 <tr>
479 <td class="paramkey"></td>
480 <td></td>
481 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
482 <td class="paramname"><em>layout</em>&#160;</td>
483 </tr>
484 <tr>
485 <td></td>
486 <td>)</td>
487 <td></td><td></td>
488 </tr>
489 </table>
490</div><div class="memdoc">
491
492<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l01139">1139</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
493<div class="fragment"><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;{</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> inputTensorInfo({1, 2, 10, 10}, ArmnnType);</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160; std::vector&lt;float&gt; inputNoQuantizedValues =</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160; {</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160; };</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> kernelTensorInfo({ 1, 2, 3, 3}, ArmnnType);</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160; std::vector&lt;float&gt; kernelNoQuantizedValues =</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160; {</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160; 1, 2, 3,</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160; 4, 5, 6,</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160; 7, 8, 9,</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;</div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160; 1, 2, 3,</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160; 4, 5, 6,</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160; 7, 8, 9</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160; };</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160; <span class="comment">// Since the dilation rate is 3 this will dilate the kernel to be like 7x7,</span></div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160; <span class="comment">// therefore the output will be 4x4: (I−K+2P)/S +1 =&gt; (10-7 +0)/1 +1</span></div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> outputTensorInfo({ 1, 1, 4, 4}, ArmnnType);</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160; std::vector&lt;float&gt; outputExpectedNoQuantizedValues =</div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160; {</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160; 12., 10., 10., 10.,</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160; 12., 10., 10., 10.,</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160; 12., 10., 10., 10.,</div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160; 6., 4., 4., 4.</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160; };</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160; <span class="keywordflow">return</span> Convolution2d3x3DilationTestCommon&lt;ArmnnType, ArmnnBType&gt;(</div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160; workloadFactory,</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160; memoryManager,</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160; inputNoQuantizedValues,</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160; inputTensorInfo,</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160; kernelNoQuantizedValues,</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160; kernelTensorInfo,</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160; outputExpectedNoQuantizedValues,</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160; outputTensorInfo,</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160; 3,</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160; 3,</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160; layout,</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160; biasEnabled);</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_tensor_info_html"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00053">Tensor.hpp:53</a></div></div>
494</div><!-- fragment -->
495</div>
496</div>
497<a id="a90abce368d7f16012bef5ee461329484"></a>
498<h2 class="memtitle"><span class="permalink"><a href="#a90abce368d7f16012bef5ee461329484">&#9670;&nbsp;</a></span>Convolution2d3x3Dilation3x3Test()</h2>
499
500<div class="memitem">
501<div class="memproto">
502 <table class="memname">
503 <tr>
504 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;T, 4&gt; Convolution2d3x3Dilation3x3Test </td>
505 <td>(</td>
506 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
507 <td class="paramname"><em>workloadFactory</em>, </td>
508 </tr>
509 <tr>
510 <td class="paramkey"></td>
511 <td></td>
512 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
513 <td class="paramname"><em>memoryManager</em>, </td>
514 </tr>
515 <tr>
516 <td class="paramkey"></td>
517 <td></td>
518 <td class="paramtype">bool&#160;</td>
519 <td class="paramname"><em>biasEnabled</em>, </td>
520 </tr>
521 <tr>
522 <td class="paramkey"></td>
523 <td></td>
524 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
525 <td class="paramname"><em>layout</em>&#160;</td>
526 </tr>
527 <tr>
528 <td></td>
529 <td>)</td>
530 <td></td><td></td>
531 </tr>
532 </table>
533</div><div class="memdoc">
534
535<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l01083">1083</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
536<div class="fragment"><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;{</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> inputTensorInfo({1, 1, 10, 10}, ArmnnType);</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160; std::vector&lt;float&gt; inputNoQuantizedValues =</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160; {</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160; };</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> kernelTensorInfo({ 1, 1, 3, 3}, ArmnnType);</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160; std::vector&lt;float&gt; kernelNoQuantizedValues =</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160; {</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; 1, 2, 3,</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160; 4, 5, 6,</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160; 7, 8, 9</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; };</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160; <span class="comment">// Since the dilation rate is 3 this will dilate the kernel to be like 7x7,</span></div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160; <span class="comment">// therefore the output will be 4x4: (I−K+2P)/S +1 =&gt; (10-7 +0)/1 +1</span></div><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> outputTensorInfo({ 1, 1, 4, 4}, ArmnnType);</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160; std::vector&lt;float&gt; outputExpectedNoQuantizedValues =</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160; {</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160; 6., 5., 5., 5.,</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160; 6., 5., 5., 5.,</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160; 6., 5., 5., 5.,</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; 3., 2., 2., 2.</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160; };</div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160; <span class="keywordflow">return</span> Convolution2d3x3DilationTestCommon&lt;ArmnnType, ArmnnBType&gt;(</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160; workloadFactory,</div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160; memoryManager,</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160; inputNoQuantizedValues,</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160; inputTensorInfo,</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160; kernelNoQuantizedValues,</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160; kernelTensorInfo,</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160; outputExpectedNoQuantizedValues,</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160; outputTensorInfo,</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160; 3,</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160; 3,</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160; layout,</div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160; biasEnabled);</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_tensor_info_html"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00053">Tensor.hpp:53</a></div></div>
537</div><!-- fragment -->
538</div>
539</div>
540<a id="a48884a37a6b783185c608a68cfce752f"></a>
541<h2 class="memtitle"><span class="permalink"><a href="#a48884a37a6b783185c608a68cfce752f">&#9670;&nbsp;</a></span>Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTest()</h2>
542
543<div class="memitem">
544<div class="memproto">
545 <table class="memname">
546 <tr>
547 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;float, 4&gt; Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTest </td>
548 <td>(</td>
549 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
550 <td class="paramname"><em>workloadFactory</em>, </td>
551 </tr>
552 <tr>
553 <td class="paramkey"></td>
554 <td></td>
555 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
556 <td class="paramname"><em>memoryManager</em>, </td>
557 </tr>
558 <tr>
559 <td class="paramkey"></td>
560 <td></td>
561 <td class="paramtype"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
562 <td class="paramname"><em>layout</em>&#160;</td>
563 </tr>
564 <tr>
565 <td></td>
566 <td>)</td>
567 <td></td><td></td>
568 </tr>
569 </table>
570</div><div class="memdoc">
571
572<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03016">3016</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
573
574<p class="reference">References <a class="el" href="_conv2d_test_impl_8cpp_source.html#l00869">Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTestCommon()</a>, and <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::Float32</a>.</p>
575<div class="fragment"><div class="line"><a name="l03020"></a><span class="lineno"> 3020</span>&#160;{</div><div class="line"><a name="l03021"></a><span class="lineno"> 3021</span>&#160; <span class="keywordflow">return</span> <a class="code" href="_conv2d_test_impl_8cpp.html#a35ad1225c524b4594b461e613695ee4a">Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTestCommon</a></div><div class="line"><a name="l03022"></a><span class="lineno"> 3022</span>&#160; &lt;<a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a>, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03023"></a><span class="lineno"> 3023</span>&#160; workloadFactory, memoryManager, layout, 0.0f, 0);</div><div class="line"><a name="l03024"></a><span class="lineno"> 3024</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
576<div class="ttc" id="_conv2d_test_impl_8cpp_html_a35ad1225c524b4594b461e613695ee4a"><div class="ttname"><a href="_conv2d_test_impl_8cpp.html#a35ad1225c524b4594b461e613695ee4a">Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTestCommon</a></div><div class="ttdeci">LayerTestResult&lt; T, 4 &gt; Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTestCommon(armnn::IWorkloadFactory &amp;workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &amp;memoryManager, const armnn::DataLayout layout, float qScale, int32_t qOffset)</div><div class="ttdef"><b>Definition:</b> <a href="_conv2d_test_impl_8cpp_source.html#l00869">Conv2dTestImpl.cpp:869</a></div></div>
577</div><!-- fragment -->
578</div>
579</div>
580<a id="af7f2cd23423130ebdd916de12bc0eb1d"></a>
581<h2 class="memtitle"><span class="permalink"><a href="#af7f2cd23423130ebdd916de12bc0eb1d">&#9670;&nbsp;</a></span>Convolution2dAsymmetricPaddingTest()</h2>
582
583<div class="memitem">
584<div class="memproto">
585 <table class="memname">
586 <tr>
587 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;float, 4&gt; Convolution2dAsymmetricPaddingTest </td>
588 <td>(</td>
589 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
590 <td class="paramname"><em>workloadFactory</em>, </td>
591 </tr>
592 <tr>
593 <td class="paramkey"></td>
594 <td></td>
595 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
596 <td class="paramname"><em>memoryManager</em>, </td>
597 </tr>
598 <tr>
599 <td class="paramkey"></td>
600 <td></td>
601 <td class="paramtype"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
602 <td class="paramname"><em>layout</em>&#160;</td>
603 </tr>
604 <tr>
605 <td></td>
606 <td>)</td>
607 <td></td><td></td>
608 </tr>
609 </table>
610</div><div class="memdoc">
611
612<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03007">3007</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
613<div class="fragment"><div class="line"><a name="l03011"></a><span class="lineno"> 3011</span>&#160;{</div><div class="line"><a name="l03012"></a><span class="lineno"> 3012</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2dAsymmetricPaddingTestCommon&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03013"></a><span class="lineno"> 3013</span>&#160; workloadFactory, memoryManager, layout, 0.0f, 0);</div><div class="line"><a name="l03014"></a><span class="lineno"> 3014</span>&#160;}</div></div><!-- fragment -->
614</div>
615</div>
616<a id="a370a5216668b507284677234264a22a2"></a>
617<h2 class="memtitle"><span class="permalink"><a href="#a370a5216668b507284677234264a22a2">&#9670;&nbsp;</a></span>Convolution2dPerAxisQuantTest()</h2>
618
619<div class="memitem">
620<div class="memproto">
621 <table class="memname">
622 <tr>
623 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;uint8_t, 4&gt; Convolution2dPerAxisQuantTest </td>
624 <td>(</td>
625 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
626 <td class="paramname"><em>workloadFactory</em>, </td>
627 </tr>
628 <tr>
629 <td class="paramkey"></td>
630 <td></td>
631 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
632 <td class="paramname"><em>memoryManager</em>, </td>
633 </tr>
634 <tr>
635 <td class="paramkey"></td>
636 <td></td>
637 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
638 <td class="paramname"><em>layout</em>&#160;</td>
639 </tr>
640 <tr>
641 <td></td>
642 <td>)</td>
643 <td></td><td></td>
644 </tr>
645 </table>
646</div><div class="memdoc">
647
648<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03044">3044</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
649
650<p class="reference">References <a class="el" href="_tensor_copy_utils_8cpp_source.html#l00019">AllocateAndCopyDataToITensorHandle()</a>, <a class="el" href="_tensor_copy_utils_8cpp_source.html#l00014">CopyDataFromITensorHandle()</a>, <a class="el" href="_tensor_copy_utils_8cpp_source.html#l00009">CopyDataToITensorHandle()</a>, <a class="el" href="_workload_factory_8cpp_source.html#l01142">IWorkloadFactory::CreateConvolution2d()</a>, <a class="el" href="classarmnn_1_1_i_workload_factory.html#a15c140be4ddceffee16436f009d3ed94">IWorkloadFactory::CreateTensorHandle()</a>, <a class="el" href="_descriptors_8hpp_source.html#l00438">Convolution2dDescriptor::m_BiasEnabled</a>, <a class="el" href="_descriptors_8hpp_source.html#l00440">Convolution2dDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.html#l00428">Convolution2dDescriptor::m_PadBottom</a>, <a class="el" href="_descriptors_8hpp_source.html#l00422">Convolution2dDescriptor::m_PadLeft</a>, <a class="el" href="_descriptors_8hpp_source.html#l00424">Convolution2dDescriptor::m_PadRight</a>, <a class="el" href="_descriptors_8hpp_source.html#l00426">Convolution2dDescriptor::m_PadTop</a>, <a class="el" href="_workload_data_8hpp_source.html#l00049">QueueDescriptorWithParameters&lt; LayerDescriptor &gt;::m_Parameters</a>, <a class="el" href="_descriptors_8hpp_source.html#l00430">Convolution2dDescriptor::m_StrideX</a>, <a class="el" href="_descriptors_8hpp_source.html#l00432">Convolution2dDescriptor::m_StrideY</a>, <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::NCHW</a>, <a class="el" href="_layer_test_result_8hpp_source.html#l00040">LayerTestResult&lt; T, n &gt;::output</a>, <a class="el" href="_layer_test_result_8hpp_source.html#l00041">LayerTestResult&lt; T, n &gt;::outputExpected</a>, and <a class="el" href="_data_layout_utils_8hpp_source.html#l00026">PermuteTensorNhwcToNchw()</a>.</p>
651<div class="fragment"><div class="line"><a name="l03048"></a><span class="lineno"> 3048</span>&#160;{</div><div class="line"><a name="l03049"></a><span class="lineno"> 3049</span>&#160; <span class="keyword">using namespace </span><a class="code" href="namespacearmnn.html">armnn</a>;</div><div class="line"><a name="l03050"></a><span class="lineno"> 3050</span>&#160;</div><div class="line"><a name="l03051"></a><span class="lineno"> 3051</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> inputType = <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>;</div><div class="line"><a name="l03052"></a><span class="lineno"> 3052</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> kernelType = <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>;</div><div class="line"><a name="l03053"></a><span class="lineno"> 3053</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> biasType = <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a>;</div><div class="line"><a name="l03054"></a><span class="lineno"> 3054</span>&#160;</div><div class="line"><a name="l03055"></a><span class="lineno"> 3055</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> inputInfo ({ 1, 3, 1, 2 }, inputType, 0.5f, 128);</div><div class="line"><a name="l03056"></a><span class="lineno"> 3056</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> outputInfo({ 1, 3, 1, 3 }, inputType, 1.0f, 128);</div><div class="line"><a name="l03057"></a><span class="lineno"> 3057</span>&#160;</div><div class="line"><a name="l03058"></a><span class="lineno"> 3058</span>&#160; <span class="keyword">const</span> std::vector&lt;float&gt; quantScales{ 0.5f, 0.75f, 1.0f };</div><div class="line"><a name="l03059"></a><span class="lineno"> 3059</span>&#160; constexpr <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> quantDimension = 0;</div><div class="line"><a name="l03060"></a><span class="lineno"> 3060</span>&#160;</div><div class="line"><a name="l03061"></a><span class="lineno"> 3061</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> kernelInfo({ 3, 1, 1, 2 }, kernelType, quantScales, quantDimension);</div><div class="line"><a name="l03062"></a><span class="lineno"> 3062</span>&#160;</div><div class="line"><a name="l03063"></a><span class="lineno"> 3063</span>&#160; <span class="keyword">const</span> std::vector&lt;float&gt; biasQuantScales{ 0.25f, 0.375f, 0.5f };</div><div class="line"><a name="l03064"></a><span class="lineno"> 3064</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> biasInfo({ 3 }, biasType, biasQuantScales, quantDimension);</div><div class="line"><a name="l03065"></a><span class="lineno"> 3065</span>&#160;</div><div class="line"><a name="l03066"></a><span class="lineno"> 3066</span>&#160; std::vector&lt;uint8_t&gt; inputData =</div><div class="line"><a name="l03067"></a><span class="lineno"> 3067</span>&#160; {</div><div class="line"><a name="l03068"></a><span class="lineno"> 3068</span>&#160; 138, 108, 138, 108, 138, 108</div><div class="line"><a name="l03069"></a><span class="lineno"> 3069</span>&#160; };</div><div class="line"><a name="l03070"></a><span class="lineno"> 3070</span>&#160;</div><div class="line"><a name="l03071"></a><span class="lineno"> 3071</span>&#160; std::vector&lt;int8_t&gt; kernelData =</div><div class="line"><a name="l03072"></a><span class="lineno"> 3072</span>&#160; {</div><div class="line"><a name="l03073"></a><span class="lineno"> 3073</span>&#160; 1, 2, 1, 2, 1, 2</div><div class="line"><a name="l03074"></a><span class="lineno"> 3074</span>&#160; };</div><div class="line"><a name="l03075"></a><span class="lineno"> 3075</span>&#160;</div><div class="line"><a name="l03076"></a><span class="lineno"> 3076</span>&#160; std::vector&lt;int32_t&gt; biasData =</div><div class="line"><a name="l03077"></a><span class="lineno"> 3077</span>&#160; {</div><div class="line"><a name="l03078"></a><span class="lineno"> 3078</span>&#160; 4, 4, 4</div><div class="line"><a name="l03079"></a><span class="lineno"> 3079</span>&#160; };</div><div class="line"><a name="l03080"></a><span class="lineno"> 3080</span>&#160;</div><div class="line"><a name="l03081"></a><span class="lineno"> 3081</span>&#160; std::vector&lt;uint8_t&gt; expectedOutputData =</div><div class="line"><a name="l03082"></a><span class="lineno"> 3082</span>&#160; {</div><div class="line"><a name="l03083"></a><span class="lineno"> 3083</span>&#160; 121, 118, 115, 121, 118, 115, 121, 118, 115</div><div class="line"><a name="l03084"></a><span class="lineno"> 3084</span>&#160; };</div><div class="line"><a name="l03085"></a><span class="lineno"> 3085</span>&#160;</div><div class="line"><a name="l03086"></a><span class="lineno"> 3086</span>&#160; <span class="keywordflow">if</span> (layout == <a class="code" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a>)</div><div class="line"><a name="l03087"></a><span class="lineno"> 3087</span>&#160; {</div><div class="line"><a name="l03088"></a><span class="lineno"> 3088</span>&#160; <a class="code" href="_data_layout_utils_8hpp.html#a1452f049aef30409b3b649af2be7ff82">PermuteTensorNhwcToNchw</a>(inputInfo, inputData);</div><div class="line"><a name="l03089"></a><span class="lineno"> 3089</span>&#160; <a class="code" href="_data_layout_utils_8hpp.html#a1452f049aef30409b3b649af2be7ff82">PermuteTensorNhwcToNchw</a>(kernelInfo, kernelData);</div><div class="line"><a name="l03090"></a><span class="lineno"> 3090</span>&#160; <a class="code" href="_data_layout_utils_8hpp.html#a1452f049aef30409b3b649af2be7ff82">PermuteTensorNhwcToNchw</a>(outputInfo, expectedOutputData);</div><div class="line"><a name="l03091"></a><span class="lineno"> 3091</span>&#160; }</div><div class="line"><a name="l03092"></a><span class="lineno"> 3092</span>&#160;</div><div class="line"><a name="l03093"></a><span class="lineno"> 3093</span>&#160; <a class="code" href="structarmnn_1_1_convolution2d_descriptor.html">Convolution2dDescriptor</a> descriptor;</div><div class="line"><a name="l03094"></a><span class="lineno"> 3094</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#afe6a3377c4531315354def9023c8fdda">m_StrideX</a> = 1;</div><div class="line"><a name="l03095"></a><span class="lineno"> 3095</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#ac1fe174bbadfb39a2b636940c2e647c8">m_StrideY</a> = 1;</div><div class="line"><a name="l03096"></a><span class="lineno"> 3096</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#ac18546ebbebbb32fe0a03baa9bf2c600">m_PadLeft</a> = 0;</div><div class="line"><a name="l03097"></a><span class="lineno"> 3097</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#a002bc30e590d78cbb4f4d12171055ca7">m_PadRight</a> = 0;</div><div class="line"><a name="l03098"></a><span class="lineno"> 3098</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#a56b51f56cef50cdfa554258eecdab046">m_PadTop</a> = 0;</div><div class="line"><a name="l03099"></a><span class="lineno"> 3099</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#aa9e49717ebdb741e8c767741647fc618">m_PadBottom</a> = 0;</div><div class="line"><a name="l03100"></a><span class="lineno"> 3100</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#aea202e14d8874cefd9a0f778022b7e25">m_BiasEnabled</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l03101"></a><span class="lineno"> 3101</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#a6089e1ca91914015777ea780a513131a">m_DataLayout</a> = layout;</div><div class="line"><a name="l03102"></a><span class="lineno"> 3102</span>&#160;</div><div class="line"><a name="l03103"></a><span class="lineno"> 3103</span>&#160; std::unique_ptr&lt;ITensorHandle&gt; inputHandle = workloadFactory.<a class="code" href="classarmnn_1_1_i_workload_factory.html#a15c140be4ddceffee16436f009d3ed94">CreateTensorHandle</a>(inputInfo);</div><div class="line"><a name="l03104"></a><span class="lineno"> 3104</span>&#160; std::unique_ptr&lt;ITensorHandle&gt; outputHandle = workloadFactory.<a class="code" href="classarmnn_1_1_i_workload_factory.html#a15c140be4ddceffee16436f009d3ed94">CreateTensorHandle</a>(outputInfo);</div><div class="line"><a name="l03105"></a><span class="lineno"> 3105</span>&#160;</div><div class="line"><a name="l03106"></a><span class="lineno"> 3106</span>&#160; <a class="code" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a> workloadInfo;</div><div class="line"><a name="l03107"></a><span class="lineno"> 3107</span>&#160; <a class="code" href="classarmnn_1_1_scoped_cpu_tensor_handle.html">ScopedCpuTensorHandle</a> weightTensor(kernelInfo);</div><div class="line"><a name="l03108"></a><span class="lineno"> 3108</span>&#160; <a class="code" href="classarmnn_1_1_scoped_cpu_tensor_handle.html">ScopedCpuTensorHandle</a> biasTensor(biasInfo);</div><div class="line"><a name="l03109"></a><span class="lineno"> 3109</span>&#160;</div><div class="line"><a name="l03110"></a><span class="lineno"> 3110</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.html#afaaca8c3f3a467d124bba44067d2afa8">AllocateAndCopyDataToITensorHandle</a>(&amp;weightTensor, kernelData.data());</div><div class="line"><a name="l03111"></a><span class="lineno"> 3111</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.html#afaaca8c3f3a467d124bba44067d2afa8">AllocateAndCopyDataToITensorHandle</a>(&amp;biasTensor, biasData.data());</div><div class="line"><a name="l03112"></a><span class="lineno"> 3112</span>&#160;</div><div class="line"><a name="l03113"></a><span class="lineno"> 3113</span>&#160; <a class="code" href="structarmnn_1_1_convolution2d_queue_descriptor.html">Convolution2dQueueDescriptor</a> queueDescriptor;</div><div class="line"><a name="l03114"></a><span class="lineno"> 3114</span>&#160; queueDescriptor.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a> = descriptor;</div><div class="line"><a name="l03115"></a><span class="lineno"> 3115</span>&#160; queueDescriptor.m_Weight = &amp;weightTensor;</div><div class="line"><a name="l03116"></a><span class="lineno"> 3116</span>&#160; queueDescriptor.m_Bias = &amp;biasTensor;</div><div class="line"><a name="l03117"></a><span class="lineno"> 3117</span>&#160;</div><div class="line"><a name="l03118"></a><span class="lineno"> 3118</span>&#160; AddInputToWorkload(queueDescriptor, workloadInfo, inputInfo, inputHandle.get());</div><div class="line"><a name="l03119"></a><span class="lineno"> 3119</span>&#160; AddOutputToWorkload(queueDescriptor, workloadInfo, outputInfo, outputHandle.get());</div><div class="line"><a name="l03120"></a><span class="lineno"> 3120</span>&#160;</div><div class="line"><a name="l03121"></a><span class="lineno"> 3121</span>&#160; std::unique_ptr&lt;IWorkload&gt; workload = workloadFactory.<a class="code" href="classarmnn_1_1_i_workload_factory.html#a2184995027cd2c9f9980206de9658855">CreateConvolution2d</a>(queueDescriptor, workloadInfo);</div><div class="line"><a name="l03122"></a><span class="lineno"> 3122</span>&#160; inputHandle-&gt;Allocate();</div><div class="line"><a name="l03123"></a><span class="lineno"> 3123</span>&#160; outputHandle-&gt;Allocate();</div><div class="line"><a name="l03124"></a><span class="lineno"> 3124</span>&#160;</div><div class="line"><a name="l03125"></a><span class="lineno"> 3125</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.html#ae15f1a3c55d2db87683577de9fa4437c">CopyDataToITensorHandle</a>(inputHandle.get(), inputData.data());</div><div class="line"><a name="l03126"></a><span class="lineno"> 3126</span>&#160;</div><div class="line"><a name="l03127"></a><span class="lineno"> 3127</span>&#160; ExecuteWorkload(*workload, memoryManager);</div><div class="line"><a name="l03128"></a><span class="lineno"> 3128</span>&#160;</div><div class="line"><a name="l03129"></a><span class="lineno"> 3129</span>&#160; <a class="code" href="struct_layer_test_result.html">LayerTestResult&lt;uint8_t, 4&gt;</a> ret(outputInfo);</div><div class="line"><a name="l03130"></a><span class="lineno"> 3130</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.html#a99b626c58a926dc7d6df78d22ec186c8">CopyDataFromITensorHandle</a>(ret.output.origin(), outputHandle.get());</div><div class="line"><a name="l03131"></a><span class="lineno"> 3131</span>&#160; ret.outputExpected = MakeTensor&lt;uint8_t, 4&gt;(outputInfo, expectedOutputData);</div><div class="line"><a name="l03132"></a><span class="lineno"> 3132</span>&#160;</div><div class="line"><a name="l03133"></a><span class="lineno"> 3133</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l03134"></a><span class="lineno"> 3134</span>&#160;}</div><div class="ttc" id="_tensor_copy_utils_8cpp_html_afaaca8c3f3a467d124bba44067d2afa8"><div class="ttname"><a href="_tensor_copy_utils_8cpp.html#afaaca8c3f3a467d124bba44067d2afa8">AllocateAndCopyDataToITensorHandle</a></div><div class="ttdeci">void AllocateAndCopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_copy_utils_8cpp_source.html#l00019">TensorCopyUtils.cpp:19</a></div></div>
652<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_html_a6089e1ca91914015777ea780a513131a"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.html#a6089e1ca91914015777ea780a513131a">armnn::Convolution2dDescriptor::m_DataLayout</a></div><div class="ttdeci">DataLayout m_DataLayout</div><div class="ttdoc">The data layout to be used (NCHW, NHWC). </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00440">Descriptors.hpp:440</a></div></div>
653<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
654<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_html_a002bc30e590d78cbb4f4d12171055ca7"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.html#a002bc30e590d78cbb4f4d12171055ca7">armnn::Convolution2dDescriptor::m_PadRight</a></div><div class="ttdeci">uint32_t m_PadRight</div><div class="ttdoc">Padding right value in the width dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00424">Descriptors.hpp:424</a></div></div>
655<div class="ttc" id="_tensor_copy_utils_8cpp_html_ae15f1a3c55d2db87683577de9fa4437c"><div class="ttname"><a href="_tensor_copy_utils_8cpp.html#ae15f1a3c55d2db87683577de9fa4437c">CopyDataToITensorHandle</a></div><div class="ttdeci">void CopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_copy_utils_8cpp_source.html#l00009">TensorCopyUtils.cpp:9</a></div></div>
656<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
657<div class="ttc" id="namespacearmnn_html_ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"><div class="ttname"><a href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::DataLayout::NCHW</a></div></div>
658<div class="ttc" id="structarmnn_1_1_convolution2d_queue_descriptor_html"><div class="ttname"><a href="structarmnn_1_1_convolution2d_queue_descriptor.html">armnn::Convolution2dQueueDescriptor</a></div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.html#l00168">WorkloadData.hpp:168</a></div></div>
659<div class="ttc" id="structarmnn_1_1_queue_descriptor_with_parameters_html_aad91b9bbf7aa365d304febe79a3d1333"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">armnn::QueueDescriptorWithParameters::m_Parameters</a></div><div class="ttdeci">LayerDescriptor m_Parameters</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.html#l00049">WorkloadData.hpp:49</a></div></div>
660<div class="ttc" id="classarmnn_1_1_tensor_info_html"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00053">Tensor.hpp:53</a></div></div>
661<div class="ttc" id="classarmnn_1_1_i_workload_factory_html_a15c140be4ddceffee16436f009d3ed94"><div class="ttname"><a href="classarmnn_1_1_i_workload_factory.html#a15c140be4ddceffee16436f009d3ed94">armnn::IWorkloadFactory::CreateTensorHandle</a></div><div class="ttdeci">virtual std::unique_ptr&lt; ITensorHandle &gt; CreateTensorHandle(const TensorInfo &amp;tensorInfo, const bool IsMemoryManaged=true) const =0</div></div>
662<div class="ttc" id="struct_layer_test_result_html"><div class="ttname"><a href="struct_layer_test_result.html">LayerTestResult</a></div><div class="ttdef"><b>Definition:</b> <a href="_layer_test_result_8hpp_source.html#l00029">LayerTestResult.hpp:29</a></div></div>
663<div class="ttc" id="_tensor_copy_utils_8cpp_html_a99b626c58a926dc7d6df78d22ec186c8"><div class="ttname"><a href="_tensor_copy_utils_8cpp.html#a99b626c58a926dc7d6df78d22ec186c8">CopyDataFromITensorHandle</a></div><div class="ttdeci">void CopyDataFromITensorHandle(void *memory, const armnn::ITensorHandle *tensorHandle)</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_copy_utils_8cpp_source.html#l00014">TensorCopyUtils.cpp:14</a></div></div>
664<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_html_aa9e49717ebdb741e8c767741647fc618"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.html#aa9e49717ebdb741e8c767741647fc618">armnn::Convolution2dDescriptor::m_PadBottom</a></div><div class="ttdeci">uint32_t m_PadBottom</div><div class="ttdoc">Padding bottom value in the height dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00428">Descriptors.hpp:428</a></div></div>
665<div class="ttc" id="structarmnn_1_1_workload_info_html"><div class="ttname"><a href="structarmnn_1_1_workload_info.html">armnn::WorkloadInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="include_2armnn_2backends_2_workload_info_8hpp_source.html#l00016">WorkloadInfo.hpp:16</a></div></div>
666<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_html_ac1fe174bbadfb39a2b636940c2e647c8"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.html#ac1fe174bbadfb39a2b636940c2e647c8">armnn::Convolution2dDescriptor::m_StrideY</a></div><div class="ttdeci">uint32_t m_StrideY</div><div class="ttdoc">Stride value when proceeding through input for the height dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00432">Descriptors.hpp:432</a></div></div>
667<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_html_a56b51f56cef50cdfa554258eecdab046"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.html#a56b51f56cef50cdfa554258eecdab046">armnn::Convolution2dDescriptor::m_PadTop</a></div><div class="ttdeci">uint32_t m_PadTop</div><div class="ttdoc">Padding top value in the height dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00426">Descriptors.hpp:426</a></div></div>
668<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_html_ac18546ebbebbb32fe0a03baa9bf2c600"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.html#ac18546ebbebbb32fe0a03baa9bf2c600">armnn::Convolution2dDescriptor::m_PadLeft</a></div><div class="ttdeci">uint32_t m_PadLeft</div><div class="ttdoc">Padding left value in the width dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00422">Descriptors.hpp:422</a></div></div>
669<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_html_afe6a3377c4531315354def9023c8fdda"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.html#afe6a3377c4531315354def9023c8fdda">armnn::Convolution2dDescriptor::m_StrideX</a></div><div class="ttdeci">uint32_t m_StrideX</div><div class="ttdoc">Stride value when proceeding through input for the width dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00430">Descriptors.hpp:430</a></div></div>
670<div class="ttc" id="_data_layout_utils_8hpp_html_a1452f049aef30409b3b649af2be7ff82"><div class="ttname"><a href="_data_layout_utils_8hpp.html#a1452f049aef30409b3b649af2be7ff82">PermuteTensorNhwcToNchw</a></div><div class="ttdeci">void PermuteTensorNhwcToNchw(armnn::TensorInfo &amp;tensorInfo, std::vector&lt; T &gt; &amp;tensorData)</div><div class="ttdef"><b>Definition:</b> <a href="_data_layout_utils_8hpp_source.html#l00026">DataLayoutUtils.hpp:26</a></div></div>
671<div class="ttc" id="namespacearmnn_html"><div class="ttname"><a href="namespacearmnn.html">armnn</a></div><div class="ttdef"><b>Definition:</b> <a href="_backend_helper_8hpp_source.html#l00011">BackendHelper.hpp:11</a></div></div>
672<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_html_aea202e14d8874cefd9a0f778022b7e25"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.html#aea202e14d8874cefd9a0f778022b7e25">armnn::Convolution2dDescriptor::m_BiasEnabled</a></div><div class="ttdeci">bool m_BiasEnabled</div><div class="ttdoc">Enable/disable bias. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00438">Descriptors.hpp:438</a></div></div>
673<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
674<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">armnn::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.html#l00032">Types.hpp:32</a></div></div>
675<div class="ttc" id="classarmnn_1_1_i_workload_factory_html_a2184995027cd2c9f9980206de9658855"><div class="ttname"><a href="classarmnn_1_1_i_workload_factory.html#a2184995027cd2c9f9980206de9658855">armnn::IWorkloadFactory::CreateConvolution2d</a></div><div class="ttdeci">virtual std::unique_ptr&lt; IWorkload &gt; CreateConvolution2d(const Convolution2dQueueDescriptor &amp;descriptor, const WorkloadInfo &amp;info) const</div><div class="ttdef"><b>Definition:</b> <a href="_workload_factory_8cpp_source.html#l01142">WorkloadFactory.cpp:1142</a></div></div>
676<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_html"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.html">armnn::Convolution2dDescriptor</a></div><div class="ttdoc">A Convolution2dDescriptor for the Convolution2dLayer. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00392">Descriptors.hpp:392</a></div></div>
677<div class="ttc" id="classarmnn_1_1_scoped_cpu_tensor_handle_html"><div class="ttname"><a href="classarmnn_1_1_scoped_cpu_tensor_handle.html">armnn::ScopedCpuTensorHandle</a></div><div class="ttdef"><b>Definition:</b> <a href="_cpu_tensor_handle_8hpp_source.html#l00106">CpuTensorHandle.hpp:106</a></div></div>
678</div><!-- fragment -->
679</div>
680</div>
681<a id="acffa50ae3185e3e5302909f27e7e9a02"></a>
682<h2 class="memtitle"><span class="permalink"><a href="#acffa50ae3185e3e5302909f27e7e9a02">&#9670;&nbsp;</a></span>DepthwiseConvolution2d2x3x3Dilation3x3Test()</h2>
683
684<div class="memitem">
685<div class="memproto">
686 <table class="memname">
687 <tr>
688 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;T, 4&gt; DepthwiseConvolution2d2x3x3Dilation3x3Test </td>
689 <td>(</td>
690 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
691 <td class="paramname"><em>workloadFactory</em>, </td>
692 </tr>
693 <tr>
694 <td class="paramkey"></td>
695 <td></td>
696 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
697 <td class="paramname"><em>memoryManager</em>, </td>
698 </tr>
699 <tr>
700 <td class="paramkey"></td>
701 <td></td>
702 <td class="paramtype">bool&#160;</td>
703 <td class="paramname"><em>biasEnabled</em>, </td>
704 </tr>
705 <tr>
706 <td class="paramkey"></td>
707 <td></td>
708 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
709 <td class="paramname"><em>layout</em>&#160;</td>
710 </tr>
711 <tr>
712 <td></td>
713 <td>)</td>
714 <td></td><td></td>
715 </tr>
716 </table>
717</div><div class="memdoc">
718
719<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l02432">2432</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
720<div class="fragment"><div class="line"><a name="l02437"></a><span class="lineno"> 2437</span>&#160;{</div><div class="line"><a name="l02438"></a><span class="lineno"> 2438</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> inputTensorInfo({1, 2, 10, 10}, ArmnnType);</div><div class="line"><a name="l02439"></a><span class="lineno"> 2439</span>&#160; std::vector&lt;float&gt; inputNoQuantizedValues =</div><div class="line"><a name="l02440"></a><span class="lineno"> 2440</span>&#160; {</div><div class="line"><a name="l02441"></a><span class="lineno"> 2441</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02442"></a><span class="lineno"> 2442</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02443"></a><span class="lineno"> 2443</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02444"></a><span class="lineno"> 2444</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l02445"></a><span class="lineno"> 2445</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l02446"></a><span class="lineno"> 2446</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l02447"></a><span class="lineno"> 2447</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02448"></a><span class="lineno"> 2448</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02449"></a><span class="lineno"> 2449</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02450"></a><span class="lineno"> 2450</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02451"></a><span class="lineno"> 2451</span>&#160;</div><div class="line"><a name="l02452"></a><span class="lineno"> 2452</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02453"></a><span class="lineno"> 2453</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02454"></a><span class="lineno"> 2454</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02455"></a><span class="lineno"> 2455</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l02456"></a><span class="lineno"> 2456</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l02457"></a><span class="lineno"> 2457</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l02458"></a><span class="lineno"> 2458</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02459"></a><span class="lineno"> 2459</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02460"></a><span class="lineno"> 2460</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02461"></a><span class="lineno"> 2461</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</div><div class="line"><a name="l02462"></a><span class="lineno"> 2462</span>&#160; };</div><div class="line"><a name="l02463"></a><span class="lineno"> 2463</span>&#160;</div><div class="line"><a name="l02464"></a><span class="lineno"> 2464</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> kernelTensorInfo({ 1, 2, 3, 3}, ArmnnType);</div><div class="line"><a name="l02465"></a><span class="lineno"> 2465</span>&#160; std::vector&lt;float&gt; kernelNoQuantizedValues =</div><div class="line"><a name="l02466"></a><span class="lineno"> 2466</span>&#160; {</div><div class="line"><a name="l02467"></a><span class="lineno"> 2467</span>&#160; 1, 2, 3,</div><div class="line"><a name="l02468"></a><span class="lineno"> 2468</span>&#160; 4, 5, 6,</div><div class="line"><a name="l02469"></a><span class="lineno"> 2469</span>&#160; 7, 8, 9,</div><div class="line"><a name="l02470"></a><span class="lineno"> 2470</span>&#160;</div><div class="line"><a name="l02471"></a><span class="lineno"> 2471</span>&#160; 1, 2, 3,</div><div class="line"><a name="l02472"></a><span class="lineno"> 2472</span>&#160; 4, 5, 6,</div><div class="line"><a name="l02473"></a><span class="lineno"> 2473</span>&#160; 7, 8, 9</div><div class="line"><a name="l02474"></a><span class="lineno"> 2474</span>&#160; };</div><div class="line"><a name="l02475"></a><span class="lineno"> 2475</span>&#160;</div><div class="line"><a name="l02476"></a><span class="lineno"> 2476</span>&#160; <span class="comment">// Since the dilation rate is 3 this will dilate the kernel to be like 7x7,</span></div><div class="line"><a name="l02477"></a><span class="lineno"> 2477</span>&#160; <span class="comment">// therefore the output will be 2x4x4: (I−K+2P)/S +1 =&gt; (10-7 +0)/1 +1</span></div><div class="line"><a name="l02478"></a><span class="lineno"> 2478</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> outputTensorInfo({ 1, 2, 4, 4}, ArmnnType);</div><div class="line"><a name="l02479"></a><span class="lineno"> 2479</span>&#160; std::vector&lt;float&gt; outputExpectedNoQuantizedValues =</div><div class="line"><a name="l02480"></a><span class="lineno"> 2480</span>&#160; {</div><div class="line"><a name="l02481"></a><span class="lineno"> 2481</span>&#160; 6., 5., 5., 5.,</div><div class="line"><a name="l02482"></a><span class="lineno"> 2482</span>&#160; 6., 5., 5., 5.,</div><div class="line"><a name="l02483"></a><span class="lineno"> 2483</span>&#160; 6., 5., 5., 5.,</div><div class="line"><a name="l02484"></a><span class="lineno"> 2484</span>&#160; 3., 2., 2., 2.,</div><div class="line"><a name="l02485"></a><span class="lineno"> 2485</span>&#160;</div><div class="line"><a name="l02486"></a><span class="lineno"> 2486</span>&#160; 6., 5., 5., 5.,</div><div class="line"><a name="l02487"></a><span class="lineno"> 2487</span>&#160; 6., 5., 5., 5.,</div><div class="line"><a name="l02488"></a><span class="lineno"> 2488</span>&#160; 6., 5., 5., 5.,</div><div class="line"><a name="l02489"></a><span class="lineno"> 2489</span>&#160; 3., 2., 2., 2.</div><div class="line"><a name="l02490"></a><span class="lineno"> 2490</span>&#160; };</div><div class="line"><a name="l02491"></a><span class="lineno"> 2491</span>&#160;</div><div class="line"><a name="l02492"></a><span class="lineno"> 2492</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2d3x3DilationTestCommon&lt;ArmnnType, ArmnnBType&gt;(</div><div class="line"><a name="l02493"></a><span class="lineno"> 2493</span>&#160; workloadFactory,</div><div class="line"><a name="l02494"></a><span class="lineno"> 2494</span>&#160; memoryManager,</div><div class="line"><a name="l02495"></a><span class="lineno"> 2495</span>&#160; inputNoQuantizedValues,</div><div class="line"><a name="l02496"></a><span class="lineno"> 2496</span>&#160; inputTensorInfo,</div><div class="line"><a name="l02497"></a><span class="lineno"> 2497</span>&#160; kernelNoQuantizedValues,</div><div class="line"><a name="l02498"></a><span class="lineno"> 2498</span>&#160; kernelTensorInfo,</div><div class="line"><a name="l02499"></a><span class="lineno"> 2499</span>&#160; outputExpectedNoQuantizedValues,</div><div class="line"><a name="l02500"></a><span class="lineno"> 2500</span>&#160; outputTensorInfo,</div><div class="line"><a name="l02501"></a><span class="lineno"> 2501</span>&#160; 3,</div><div class="line"><a name="l02502"></a><span class="lineno"> 2502</span>&#160; 3,</div><div class="line"><a name="l02503"></a><span class="lineno"> 2503</span>&#160; layout,</div><div class="line"><a name="l02504"></a><span class="lineno"> 2504</span>&#160; biasEnabled);</div><div class="line"><a name="l02505"></a><span class="lineno"> 2505</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_tensor_info_html"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00053">Tensor.hpp:53</a></div></div>
721</div><!-- fragment -->
722</div>
723</div>
724<a id="a1c3398bdb48e4ce4643a1eeaf3e054a3"></a>
725<h2 class="memtitle"><span class="permalink"><a href="#a1c3398bdb48e4ce4643a1eeaf3e054a3">&#9670;&nbsp;</a></span>DepthwiseConvolution2d3x3Dilation3x3Test()</h2>
726
727<div class="memitem">
728<div class="memproto">
729 <table class="memname">
730 <tr>
731 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;T, 4&gt; DepthwiseConvolution2d3x3Dilation3x3Test </td>
732 <td>(</td>
733 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
734 <td class="paramname"><em>workloadFactory</em>, </td>
735 </tr>
736 <tr>
737 <td class="paramkey"></td>
738 <td></td>
739 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
740 <td class="paramname"><em>memoryManager</em>, </td>
741 </tr>
742 <tr>
743 <td class="paramkey"></td>
744 <td></td>
745 <td class="paramtype">bool&#160;</td>
746 <td class="paramname"><em>biasEnabled</em>, </td>
747 </tr>
748 <tr>
749 <td class="paramkey"></td>
750 <td></td>
751 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
752 <td class="paramname"><em>layout</em>&#160;</td>
753 </tr>
754 <tr>
755 <td></td>
756 <td>)</td>
757 <td></td><td></td>
758 </tr>
759 </table>
760</div><div class="memdoc">
761
762<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l02376">2376</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
763<div class="fragment"><div class="line"><a name="l02381"></a><span class="lineno"> 2381</span>&#160;{</div><div class="line"><a name="l02382"></a><span class="lineno"> 2382</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> inputTensorInfo({1, 1, 10, 10}, ArmnnType);</div><div class="line"><a name="l02383"></a><span class="lineno"> 2383</span>&#160; std::vector&lt;float&gt; inputNoQuantizedValues =</div><div class="line"><a name="l02384"></a><span class="lineno"> 2384</span>&#160; {</div><div class="line"><a name="l02385"></a><span class="lineno"> 2385</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02386"></a><span class="lineno"> 2386</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02387"></a><span class="lineno"> 2387</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02388"></a><span class="lineno"> 2388</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l02389"></a><span class="lineno"> 2389</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l02390"></a><span class="lineno"> 2390</span>&#160; 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,</div><div class="line"><a name="l02391"></a><span class="lineno"> 2391</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02392"></a><span class="lineno"> 2392</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02393"></a><span class="lineno"> 2393</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l02394"></a><span class="lineno"> 2394</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</div><div class="line"><a name="l02395"></a><span class="lineno"> 2395</span>&#160; };</div><div class="line"><a name="l02396"></a><span class="lineno"> 2396</span>&#160;</div><div class="line"><a name="l02397"></a><span class="lineno"> 2397</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> kernelTensorInfo({ 1, 1, 3, 3}, ArmnnType);</div><div class="line"><a name="l02398"></a><span class="lineno"> 2398</span>&#160; std::vector&lt;float&gt; kernelNoQuantizedValues =</div><div class="line"><a name="l02399"></a><span class="lineno"> 2399</span>&#160; {</div><div class="line"><a name="l02400"></a><span class="lineno"> 2400</span>&#160; 1, 2, 3,</div><div class="line"><a name="l02401"></a><span class="lineno"> 2401</span>&#160; 4, 5, 6,</div><div class="line"><a name="l02402"></a><span class="lineno"> 2402</span>&#160; 7, 8, 9</div><div class="line"><a name="l02403"></a><span class="lineno"> 2403</span>&#160; };</div><div class="line"><a name="l02404"></a><span class="lineno"> 2404</span>&#160;</div><div class="line"><a name="l02405"></a><span class="lineno"> 2405</span>&#160; <span class="comment">// Since the dilation rate is 3 this will dilate the kernel to be like 7x7,</span></div><div class="line"><a name="l02406"></a><span class="lineno"> 2406</span>&#160; <span class="comment">// therefore the output will be 4x4: (I−K+2P)/S +1 =&gt; (10-7 +0)/1 +1</span></div><div class="line"><a name="l02407"></a><span class="lineno"> 2407</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> outputTensorInfo({ 1, 1, 4, 4}, ArmnnType);</div><div class="line"><a name="l02408"></a><span class="lineno"> 2408</span>&#160; std::vector&lt;float&gt; outputExpectedNoQuantizedValues =</div><div class="line"><a name="l02409"></a><span class="lineno"> 2409</span>&#160; {</div><div class="line"><a name="l02410"></a><span class="lineno"> 2410</span>&#160; 6., 5., 5., 5.,</div><div class="line"><a name="l02411"></a><span class="lineno"> 2411</span>&#160; 6., 5., 5., 5.,</div><div class="line"><a name="l02412"></a><span class="lineno"> 2412</span>&#160; 6., 5., 5., 5.,</div><div class="line"><a name="l02413"></a><span class="lineno"> 2413</span>&#160; 3., 2., 2., 2.</div><div class="line"><a name="l02414"></a><span class="lineno"> 2414</span>&#160; };</div><div class="line"><a name="l02415"></a><span class="lineno"> 2415</span>&#160;</div><div class="line"><a name="l02416"></a><span class="lineno"> 2416</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2d3x3DilationTestCommon&lt;ArmnnType, ArmnnBType&gt;(</div><div class="line"><a name="l02417"></a><span class="lineno"> 2417</span>&#160; workloadFactory,</div><div class="line"><a name="l02418"></a><span class="lineno"> 2418</span>&#160; memoryManager,</div><div class="line"><a name="l02419"></a><span class="lineno"> 2419</span>&#160; inputNoQuantizedValues,</div><div class="line"><a name="l02420"></a><span class="lineno"> 2420</span>&#160; inputTensorInfo,</div><div class="line"><a name="l02421"></a><span class="lineno"> 2421</span>&#160; kernelNoQuantizedValues,</div><div class="line"><a name="l02422"></a><span class="lineno"> 2422</span>&#160; kernelTensorInfo,</div><div class="line"><a name="l02423"></a><span class="lineno"> 2423</span>&#160; outputExpectedNoQuantizedValues,</div><div class="line"><a name="l02424"></a><span class="lineno"> 2424</span>&#160; outputTensorInfo,</div><div class="line"><a name="l02425"></a><span class="lineno"> 2425</span>&#160; 3,</div><div class="line"><a name="l02426"></a><span class="lineno"> 2426</span>&#160; 3,</div><div class="line"><a name="l02427"></a><span class="lineno"> 2427</span>&#160; layout,</div><div class="line"><a name="l02428"></a><span class="lineno"> 2428</span>&#160; biasEnabled);</div><div class="line"><a name="l02429"></a><span class="lineno"> 2429</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_tensor_info_html"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00053">Tensor.hpp:53</a></div></div>
764</div><!-- fragment -->
765</div>
766</div>
767<a id="abf326cbf49ec19c6272fe7c244b7817c"></a>
768<h2 class="memtitle"><span class="permalink"><a href="#abf326cbf49ec19c6272fe7c244b7817c">&#9670;&nbsp;</a></span>DepthwiseConvolution2dAsymmetricTest()</h2>
769
770<div class="memitem">
771<div class="memproto">
772 <table class="memname">
773 <tr>
774 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;float, 4&gt; DepthwiseConvolution2dAsymmetricTest </td>
775 <td>(</td>
776 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
777 <td class="paramname"><em>workloadFactory</em>, </td>
778 </tr>
779 <tr>
780 <td class="paramkey"></td>
781 <td></td>
782 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
783 <td class="paramname"><em>memoryManager</em>, </td>
784 </tr>
785 <tr>
786 <td class="paramkey"></td>
787 <td></td>
788 <td class="paramtype">bool&#160;</td>
789 <td class="paramname"><em>biasEnabled</em>, </td>
790 </tr>
791 <tr>
792 <td class="paramkey"></td>
793 <td></td>
794 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
795 <td class="paramname"><em>layout</em>&#160;</td>
796 </tr>
797 <tr>
798 <td></td>
799 <td>)</td>
800 <td></td><td></td>
801 </tr>
802 </table>
803</div><div class="memdoc">
804
805<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03206">3206</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
806<div class="fragment"><div class="line"><a name="l03211"></a><span class="lineno"> 3211</span>&#160;{</div><div class="line"><a name="l03212"></a><span class="lineno"> 3212</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dAsymmetricTestCommon&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03213"></a><span class="lineno"> 3213</span>&#160; workloadFactory, memoryManager, 0.0f, 0, biasEnabled, layout);</div><div class="line"><a name="l03214"></a><span class="lineno"> 3214</span>&#160;}</div></div><!-- fragment -->
807</div>
808</div>
809<a id="a74346a72d64f7fa3463473424c3098ab"></a>
810<h2 class="memtitle"><span class="permalink"><a href="#a74346a72d64f7fa3463473424c3098ab">&#9670;&nbsp;</a></span>DepthwiseConvolution2dDepthMul1Int16Test()</h2>
811
812<div class="memitem">
813<div class="memproto">
814 <table class="memname">
815 <tr>
816 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;int16_t, 4&gt; DepthwiseConvolution2dDepthMul1Int16Test </td>
817 <td>(</td>
818 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
819 <td class="paramname"><em>workloadFactory</em>, </td>
820 </tr>
821 <tr>
822 <td class="paramkey"></td>
823 <td></td>
824 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
825 <td class="paramname"><em>memoryManager</em>, </td>
826 </tr>
827 <tr>
828 <td class="paramkey"></td>
829 <td></td>
830 <td class="paramtype">bool&#160;</td>
831 <td class="paramname"><em>biasEnabled</em>, </td>
832 </tr>
833 <tr>
834 <td class="paramkey"></td>
835 <td></td>
836 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
837 <td class="paramname"><em>layout</em>&#160;</td>
838 </tr>
839 <tr>
840 <td></td>
841 <td>)</td>
842 <td></td><td></td>
843 </tr>
844 </table>
845</div><div class="memdoc">
846
847<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03258">3258</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
848<div class="fragment"><div class="line"><a name="l03263"></a><span class="lineno"> 3263</span>&#160;{</div><div class="line"><a name="l03264"></a><span class="lineno"> 3264</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dDepthMul1TestImpl&lt;armnn::DataType::QSymmS16, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l03265"></a><span class="lineno"> 3265</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l03266"></a><span class="lineno"> 3266</span>&#160;}</div></div><!-- fragment -->
849</div>
850</div>
851<a id="a8b32d950a40903f502f5e1ec0dcab0bd"></a>
852<h2 class="memtitle"><span class="permalink"><a href="#a8b32d950a40903f502f5e1ec0dcab0bd">&#9670;&nbsp;</a></span>DepthwiseConvolution2dDepthMul1Test()</h2>
853
854<div class="memitem">
855<div class="memproto">
856 <table class="memname">
857 <tr>
858 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;float, 4&gt; DepthwiseConvolution2dDepthMul1Test </td>
859 <td>(</td>
860 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
861 <td class="paramname"><em>workloadFactory</em>, </td>
862 </tr>
863 <tr>
864 <td class="paramkey"></td>
865 <td></td>
866 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
867 <td class="paramname"><em>memoryManager</em>, </td>
868 </tr>
869 <tr>
870 <td class="paramkey"></td>
871 <td></td>
872 <td class="paramtype">bool&#160;</td>
873 <td class="paramname"><em>biasEnabled</em>, </td>
874 </tr>
875 <tr>
876 <td class="paramkey"></td>
877 <td></td>
878 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
879 <td class="paramname"><em>layout</em>&#160;</td>
880 </tr>
881 <tr>
882 <td></td>
883 <td>)</td>
884 <td></td><td></td>
885 </tr>
886 </table>
887</div><div class="memdoc">
888
889<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03164">3164</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
890<div class="fragment"><div class="line"><a name="l03169"></a><span class="lineno"> 3169</span>&#160;{</div><div class="line"><a name="l03170"></a><span class="lineno"> 3170</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dDepthMul1TestImpl&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03171"></a><span class="lineno"> 3171</span>&#160; workloadFactory, memoryManager, 0.0f, 0, biasEnabled, layout);</div><div class="line"><a name="l03172"></a><span class="lineno"> 3172</span>&#160;}</div></div><!-- fragment -->
891</div>
892</div>
893<a id="ae797be34b659db2afe183f0c762fb9b7"></a>
894<h2 class="memtitle"><span class="permalink"><a href="#ae797be34b659db2afe183f0c762fb9b7">&#9670;&nbsp;</a></span>DepthwiseConvolution2dDepthMul1Uint8Test()</h2>
895
896<div class="memitem">
897<div class="memproto">
898 <table class="memname">
899 <tr>
900 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;uint8_t, 4&gt; DepthwiseConvolution2dDepthMul1Uint8Test </td>
901 <td>(</td>
902 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
903 <td class="paramname"><em>workloadFactory</em>, </td>
904 </tr>
905 <tr>
906 <td class="paramkey"></td>
907 <td></td>
908 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
909 <td class="paramname"><em>memoryManager</em>, </td>
910 </tr>
911 <tr>
912 <td class="paramkey"></td>
913 <td></td>
914 <td class="paramtype">bool&#160;</td>
915 <td class="paramname"><em>biasEnabled</em>, </td>
916 </tr>
917 <tr>
918 <td class="paramkey"></td>
919 <td></td>
920 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
921 <td class="paramname"><em>layout</em>&#160;</td>
922 </tr>
923 <tr>
924 <td></td>
925 <td>)</td>
926 <td></td><td></td>
927 </tr>
928 </table>
929</div><div class="memdoc">
930
931<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03226">3226</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
932<div class="fragment"><div class="line"><a name="l03231"></a><span class="lineno"> 3231</span>&#160;{</div><div class="line"><a name="l03232"></a><span class="lineno"> 3232</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dDepthMul1TestImpl&lt;armnn::DataType::QAsymmU8, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l03233"></a><span class="lineno"> 3233</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l03234"></a><span class="lineno"> 3234</span>&#160;}</div></div><!-- fragment -->
933</div>
934</div>
935<a id="ab020b4a99bf905b61a1c5e03332b63a6"></a>
936<h2 class="memtitle"><span class="permalink"><a href="#ab020b4a99bf905b61a1c5e03332b63a6">&#9670;&nbsp;</a></span>DepthwiseConvolution2dDepthMul64Test()</h2>
937
938<div class="memitem">
939<div class="memproto">
940 <table class="memname">
941 <tr>
942 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;float, 4&gt; DepthwiseConvolution2dDepthMul64Test </td>
943 <td>(</td>
944 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
945 <td class="paramname"><em>workloadFactory</em>, </td>
946 </tr>
947 <tr>
948 <td class="paramkey"></td>
949 <td></td>
950 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
951 <td class="paramname"><em>memoryManager</em>&#160;</td>
952 </tr>
953 <tr>
954 <td></td>
955 <td>)</td>
956 <td></td><td></td>
957 </tr>
958 </table>
959</div><div class="memdoc">
960
961<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03174">3174</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
962
963<p class="reference">References <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::Float32</a>, and <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::NCHW</a>.</p>
964<div class="fragment"><div class="line"><a name="l03177"></a><span class="lineno"> 3177</span>&#160;{</div><div class="line"><a name="l03178"></a><span class="lineno"> 3178</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> inputTensorInfo({ 1, 1, 2, 2 }, <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a>);</div><div class="line"><a name="l03179"></a><span class="lineno"> 3179</span>&#160; <span class="keyword">auto</span> input = MakeTensor&lt;float, 4&gt;(inputTensorInfo, { 1.f, 2.f, 3.f, 4.f });</div><div class="line"><a name="l03180"></a><span class="lineno"> 3180</span>&#160;</div><div class="line"><a name="l03181"></a><span class="lineno"> 3181</span>&#160; std::vector&lt;float&gt; kernelData;</div><div class="line"><a name="l03182"></a><span class="lineno"> 3182</span>&#160; std::vector&lt;float&gt; singleDepthKernel{ 1.f, -1.f, -1.f, 1.f };</div><div class="line"><a name="l03183"></a><span class="lineno"> 3183</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; 64; ++i)</div><div class="line"><a name="l03184"></a><span class="lineno"> 3184</span>&#160; {</div><div class="line"><a name="l03185"></a><span class="lineno"> 3185</span>&#160; kernelData.insert(kernelData.end(), singleDepthKernel.begin(), singleDepthKernel.end());</div><div class="line"><a name="l03186"></a><span class="lineno"> 3186</span>&#160; }</div><div class="line"><a name="l03187"></a><span class="lineno"> 3187</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> kernelTensorInfo({ 64, 1, 2, 2 }, <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a>);</div><div class="line"><a name="l03188"></a><span class="lineno"> 3188</span>&#160; <span class="keyword">auto</span> kernel = MakeTensor&lt;float, 4&gt;(kernelTensorInfo, kernelData);</div><div class="line"><a name="l03189"></a><span class="lineno"> 3189</span>&#160;</div><div class="line"><a name="l03190"></a><span class="lineno"> 3190</span>&#160; std::vector&lt;float&gt; expectedOutputData(64, 0.f);</div><div class="line"><a name="l03191"></a><span class="lineno"> 3191</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> outputTensorInfo({ 1, 64, 1, 1 }, <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a>);</div><div class="line"><a name="l03192"></a><span class="lineno"> 3192</span>&#160; <span class="keyword">auto</span> expectedOutput = MakeTensor&lt;float, 4&gt;(outputTensorInfo, expectedOutputData);</div><div class="line"><a name="l03193"></a><span class="lineno"> 3193</span>&#160;</div><div class="line"><a name="l03194"></a><span class="lineno"> 3194</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dTestImpl&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03195"></a><span class="lineno"> 3195</span>&#160; workloadFactory,</div><div class="line"><a name="l03196"></a><span class="lineno"> 3196</span>&#160; memoryManager,</div><div class="line"><a name="l03197"></a><span class="lineno"> 3197</span>&#160; input,</div><div class="line"><a name="l03198"></a><span class="lineno"> 3198</span>&#160; kernel,</div><div class="line"><a name="l03199"></a><span class="lineno"> 3199</span>&#160; boost::multi_array&lt;float, 1&gt;(),</div><div class="line"><a name="l03200"></a><span class="lineno"> 3200</span>&#160; expectedOutput,</div><div class="line"><a name="l03201"></a><span class="lineno"> 3201</span>&#160; 0.f,</div><div class="line"><a name="l03202"></a><span class="lineno"> 3202</span>&#160; 0,</div><div class="line"><a name="l03203"></a><span class="lineno"> 3203</span>&#160; <a class="code" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::DataLayout::NCHW</a>);</div><div class="line"><a name="l03204"></a><span class="lineno"> 3204</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"><div class="ttname"><a href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::DataLayout::NCHW</a></div></div>
965<div class="ttc" id="classarmnn_1_1_tensor_info_html"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00053">Tensor.hpp:53</a></div></div>
966<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
967</div><!-- fragment -->
968</div>
969</div>
970<a id="a0cccb5cffee89004bc8d9fb309ed6636"></a>
971<h2 class="memtitle"><span class="permalink"><a href="#a0cccb5cffee89004bc8d9fb309ed6636">&#9670;&nbsp;</a></span>DepthwiseConvolution2dDepthNhwcTest()</h2>
972
973<div class="memitem">
974<div class="memproto">
975 <table class="memname">
976 <tr>
977 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;float, 4&gt; DepthwiseConvolution2dDepthNhwcTest </td>
978 <td>(</td>
979 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
980 <td class="paramname"><em>workloadFactory</em>, </td>
981 </tr>
982 <tr>
983 <td class="paramkey"></td>
984 <td></td>
985 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
986 <td class="paramname"><em>memoryManager</em>, </td>
987 </tr>
988 <tr>
989 <td class="paramkey"></td>
990 <td></td>
991 <td class="paramtype">bool&#160;</td>
992 <td class="paramname"><em>biasEnabled</em>&#160;</td>
993 </tr>
994 <tr>
995 <td></td>
996 <td>)</td>
997 <td></td><td></td>
998 </tr>
999 </table>
1000</div><div class="memdoc">
1001
1002<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03155">3155</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1003<div class="fragment"><div class="line"><a name="l03159"></a><span class="lineno"> 3159</span>&#160;{</div><div class="line"><a name="l03160"></a><span class="lineno"> 3160</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dNhwcTestCommon&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03161"></a><span class="lineno"> 3161</span>&#160; workloadFactory, memoryManager, 0.0f, 0, biasEnabled);</div><div class="line"><a name="l03162"></a><span class="lineno"> 3162</span>&#160;}</div></div><!-- fragment -->
1004</div>
1005</div>
1006<a id="a2ae97c2dd6621f4972c571cf1ec2a005"></a>
1007<h2 class="memtitle"><span class="permalink"><a href="#a2ae97c2dd6621f4972c571cf1ec2a005">&#9670;&nbsp;</a></span>DepthwiseConvolution2dInt16Test()</h2>
1008
1009<div class="memitem">
1010<div class="memproto">
1011 <table class="memname">
1012 <tr>
1013 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;int16_t, 4&gt; DepthwiseConvolution2dInt16Test </td>
1014 <td>(</td>
1015 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
1016 <td class="paramname"><em>workloadFactory</em>, </td>
1017 </tr>
1018 <tr>
1019 <td class="paramkey"></td>
1020 <td></td>
1021 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
1022 <td class="paramname"><em>memoryManager</em>, </td>
1023 </tr>
1024 <tr>
1025 <td class="paramkey"></td>
1026 <td></td>
1027 <td class="paramtype">bool&#160;</td>
1028 <td class="paramname"><em>biasEnabled</em>, </td>
1029 </tr>
1030 <tr>
1031 <td class="paramkey"></td>
1032 <td></td>
1033 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
1034 <td class="paramname"><em>layout</em>&#160;</td>
1035 </tr>
1036 <tr>
1037 <td></td>
1038 <td>)</td>
1039 <td></td><td></td>
1040 </tr>
1041 </table>
1042</div><div class="memdoc">
1043
1044<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03248">3248</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1045<div class="fragment"><div class="line"><a name="l03253"></a><span class="lineno"> 3253</span>&#160;{</div><div class="line"><a name="l03254"></a><span class="lineno"> 3254</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dTestImpl&lt;armnn::DataType::QSymmS16, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l03255"></a><span class="lineno"> 3255</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l03256"></a><span class="lineno"> 3256</span>&#160;}</div></div><!-- fragment -->
1046</div>
1047</div>
1048<a id="aaed50a372a6b59b20e38469856a3ce6b"></a>
1049<h2 class="memtitle"><span class="permalink"><a href="#aaed50a372a6b59b20e38469856a3ce6b">&#9670;&nbsp;</a></span>DepthwiseConvolution2dMult2Test()</h2>
1050
1051<div class="memitem">
1052<div class="memproto">
1053 <table class="memname">
1054 <tr>
1055 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;T, 4&gt; DepthwiseConvolution2dMult2Test </td>
1056 <td>(</td>
1057 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
1058 <td class="paramname"><em>workloadFactory</em>, </td>
1059 </tr>
1060 <tr>
1061 <td class="paramkey"></td>
1062 <td></td>
1063 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
1064 <td class="paramname"><em>memoryManager</em>, </td>
1065 </tr>
1066 <tr>
1067 <td class="paramkey"></td>
1068 <td></td>
1069 <td class="paramtype">bool&#160;</td>
1070 <td class="paramname"><em>biasEnabled</em>, </td>
1071 </tr>
1072 <tr>
1073 <td class="paramkey"></td>
1074 <td></td>
1075 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
1076 <td class="paramname"><em>layout</em>&#160;</td>
1077 </tr>
1078 <tr>
1079 <td></td>
1080 <td>)</td>
1081 <td></td><td></td>
1082 </tr>
1083 </table>
1084</div><div class="memdoc">
1085
1086<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l02600">2600</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1087<div class="fragment"><div class="line"><a name="l02605"></a><span class="lineno"> 2605</span>&#160;{</div><div class="line"><a name="l02606"></a><span class="lineno"> 2606</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> inputTensorInfo({1, 2, 3, 3}, ArmnnType);</div><div class="line"><a name="l02607"></a><span class="lineno"> 2607</span>&#160; std::vector&lt;float&gt; inputNoQuantizedValues =</div><div class="line"><a name="l02608"></a><span class="lineno"> 2608</span>&#160; {</div><div class="line"><a name="l02609"></a><span class="lineno"> 2609</span>&#160; 10.0, 10.0, 10.0,</div><div class="line"><a name="l02610"></a><span class="lineno"> 2610</span>&#160; 10.0, 10.0, 10.0,</div><div class="line"><a name="l02611"></a><span class="lineno"> 2611</span>&#160; 10.0, 10.0, 10.0,</div><div class="line"><a name="l02612"></a><span class="lineno"> 2612</span>&#160;</div><div class="line"><a name="l02613"></a><span class="lineno"> 2613</span>&#160; 21.0, 22.0, 23.0,</div><div class="line"><a name="l02614"></a><span class="lineno"> 2614</span>&#160; 24.0, 25.0, 26.0,</div><div class="line"><a name="l02615"></a><span class="lineno"> 2615</span>&#160; 27.0, 28.0, 29.0</div><div class="line"><a name="l02616"></a><span class="lineno"> 2616</span>&#160; };</div><div class="line"><a name="l02617"></a><span class="lineno"> 2617</span>&#160;</div><div class="line"><a name="l02618"></a><span class="lineno"> 2618</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> kernelTensorInfo({ 2, 2, 2, 2}, ArmnnType);</div><div class="line"><a name="l02619"></a><span class="lineno"> 2619</span>&#160;</div><div class="line"><a name="l02620"></a><span class="lineno"> 2620</span>&#160; std::vector&lt;float&gt; kernelNoQuantizedValues =</div><div class="line"><a name="l02621"></a><span class="lineno"> 2621</span>&#160; {</div><div class="line"><a name="l02622"></a><span class="lineno"> 2622</span>&#160; 0.25f, 0.25f,</div><div class="line"><a name="l02623"></a><span class="lineno"> 2623</span>&#160; 0.25f, 0.25f,</div><div class="line"><a name="l02624"></a><span class="lineno"> 2624</span>&#160;</div><div class="line"><a name="l02625"></a><span class="lineno"> 2625</span>&#160; 0.2f , 0.0f,</div><div class="line"><a name="l02626"></a><span class="lineno"> 2626</span>&#160; 0.0f , 0.0f,</div><div class="line"><a name="l02627"></a><span class="lineno"> 2627</span>&#160;</div><div class="line"><a name="l02628"></a><span class="lineno"> 2628</span>&#160; 0.0f , 0.0f,</div><div class="line"><a name="l02629"></a><span class="lineno"> 2629</span>&#160; 0.0f , 0.1f,</div><div class="line"><a name="l02630"></a><span class="lineno"> 2630</span>&#160;</div><div class="line"><a name="l02631"></a><span class="lineno"> 2631</span>&#160; 0.0f , 0.3f,</div><div class="line"><a name="l02632"></a><span class="lineno"> 2632</span>&#160; 0.0f , 0.0f</div><div class="line"><a name="l02633"></a><span class="lineno"> 2633</span>&#160;</div><div class="line"><a name="l02634"></a><span class="lineno"> 2634</span>&#160; };</div><div class="line"><a name="l02635"></a><span class="lineno"> 2635</span>&#160;</div><div class="line"><a name="l02636"></a><span class="lineno"> 2636</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> outputTensorInfo({ 1, 4, 2, 2}, ArmnnType);</div><div class="line"><a name="l02637"></a><span class="lineno"> 2637</span>&#160; std::vector&lt;float&gt; outputExpectedNoQuantizedValues =</div><div class="line"><a name="l02638"></a><span class="lineno"> 2638</span>&#160; {</div><div class="line"><a name="l02639"></a><span class="lineno"> 2639</span>&#160; 10.f, 10.f,</div><div class="line"><a name="l02640"></a><span class="lineno"> 2640</span>&#160; 10.f, 10.f,</div><div class="line"><a name="l02641"></a><span class="lineno"> 2641</span>&#160;</div><div class="line"><a name="l02642"></a><span class="lineno"> 2642</span>&#160; 1.f, 1.f,</div><div class="line"><a name="l02643"></a><span class="lineno"> 2643</span>&#160; 1.f, 1.f,</div><div class="line"><a name="l02644"></a><span class="lineno"> 2644</span>&#160;</div><div class="line"><a name="l02645"></a><span class="lineno"> 2645</span>&#160; 4.2000003f, 4.4f,</div><div class="line"><a name="l02646"></a><span class="lineno"> 2646</span>&#160; 4.8f, 5.f,</div><div class="line"><a name="l02647"></a><span class="lineno"> 2647</span>&#160;</div><div class="line"><a name="l02648"></a><span class="lineno"> 2648</span>&#160; 6.6000004f, 6.9f,</div><div class="line"><a name="l02649"></a><span class="lineno"> 2649</span>&#160; 7.5000005f, 7.8f</div><div class="line"><a name="l02650"></a><span class="lineno"> 2650</span>&#160; };</div><div class="line"><a name="l02651"></a><span class="lineno"> 2651</span>&#160;</div><div class="line"><a name="l02652"></a><span class="lineno"> 2652</span>&#160;</div><div class="line"><a name="l02653"></a><span class="lineno"> 2653</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2d3x3DilationTestCommon&lt;ArmnnType, ArmnnBType&gt;(</div><div class="line"><a name="l02654"></a><span class="lineno"> 2654</span>&#160; workloadFactory,</div><div class="line"><a name="l02655"></a><span class="lineno"> 2655</span>&#160; memoryManager,</div><div class="line"><a name="l02656"></a><span class="lineno"> 2656</span>&#160; inputNoQuantizedValues,</div><div class="line"><a name="l02657"></a><span class="lineno"> 2657</span>&#160; inputTensorInfo,</div><div class="line"><a name="l02658"></a><span class="lineno"> 2658</span>&#160; kernelNoQuantizedValues,</div><div class="line"><a name="l02659"></a><span class="lineno"> 2659</span>&#160; kernelTensorInfo,</div><div class="line"><a name="l02660"></a><span class="lineno"> 2660</span>&#160; outputExpectedNoQuantizedValues,</div><div class="line"><a name="l02661"></a><span class="lineno"> 2661</span>&#160; outputTensorInfo,</div><div class="line"><a name="l02662"></a><span class="lineno"> 2662</span>&#160; 1,</div><div class="line"><a name="l02663"></a><span class="lineno"> 2663</span>&#160; 1,</div><div class="line"><a name="l02664"></a><span class="lineno"> 2664</span>&#160; layout,</div><div class="line"><a name="l02665"></a><span class="lineno"> 2665</span>&#160; biasEnabled);</div><div class="line"><a name="l02666"></a><span class="lineno"> 2666</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_tensor_info_html"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00053">Tensor.hpp:53</a></div></div>
1088</div><!-- fragment -->
1089</div>
1090</div>
1091<a id="a0da6534b3a5d2f923dcd73553950129a"></a>
1092<h2 class="memtitle"><span class="permalink"><a href="#a0da6534b3a5d2f923dcd73553950129a">&#9670;&nbsp;</a></span>DepthwiseConvolution2dMult4Test()</h2>
1093
1094<div class="memitem">
1095<div class="memproto">
1096 <table class="memname">
1097 <tr>
1098 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;T, 4&gt; DepthwiseConvolution2dMult4Test </td>
1099 <td>(</td>
1100 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
1101 <td class="paramname"><em>workloadFactory</em>, </td>
1102 </tr>
1103 <tr>
1104 <td class="paramkey"></td>
1105 <td></td>
1106 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
1107 <td class="paramname"><em>memoryManager</em>, </td>
1108 </tr>
1109 <tr>
1110 <td class="paramkey"></td>
1111 <td></td>
1112 <td class="paramtype">bool&#160;</td>
1113 <td class="paramname"><em>biasEnabled</em>, </td>
1114 </tr>
1115 <tr>
1116 <td class="paramkey"></td>
1117 <td></td>
1118 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
1119 <td class="paramname"><em>layout</em>&#160;</td>
1120 </tr>
1121 <tr>
1122 <td></td>
1123 <td>)</td>
1124 <td></td><td></td>
1125 </tr>
1126 </table>
1127</div><div class="memdoc">
1128
1129<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l02508">2508</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1130<div class="fragment"><div class="line"><a name="l02513"></a><span class="lineno"> 2513</span>&#160;{</div><div class="line"><a name="l02514"></a><span class="lineno"> 2514</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> inputTensorInfo({1, 2, 3, 3}, ArmnnType);</div><div class="line"><a name="l02515"></a><span class="lineno"> 2515</span>&#160; std::vector&lt;float&gt; inputNoQuantizedValues =</div><div class="line"><a name="l02516"></a><span class="lineno"> 2516</span>&#160; {</div><div class="line"><a name="l02517"></a><span class="lineno"> 2517</span>&#160; 10.0, 10.0, 10.0,</div><div class="line"><a name="l02518"></a><span class="lineno"> 2518</span>&#160; 10.0, 10.0, 10.0,</div><div class="line"><a name="l02519"></a><span class="lineno"> 2519</span>&#160; 10.0, 10.0, 10.0,</div><div class="line"><a name="l02520"></a><span class="lineno"> 2520</span>&#160;</div><div class="line"><a name="l02521"></a><span class="lineno"> 2521</span>&#160; 21.0, 22.0, 23.0,</div><div class="line"><a name="l02522"></a><span class="lineno"> 2522</span>&#160; 24.0, 25.0, 26.0,</div><div class="line"><a name="l02523"></a><span class="lineno"> 2523</span>&#160; 27.0, 28.0, 29.0</div><div class="line"><a name="l02524"></a><span class="lineno"> 2524</span>&#160; };</div><div class="line"><a name="l02525"></a><span class="lineno"> 2525</span>&#160;</div><div class="line"><a name="l02526"></a><span class="lineno"> 2526</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> kernelTensorInfo({ 4, 2, 2, 2}, ArmnnType);</div><div class="line"><a name="l02527"></a><span class="lineno"> 2527</span>&#160;</div><div class="line"><a name="l02528"></a><span class="lineno"> 2528</span>&#160; std::vector&lt;float&gt; kernelNoQuantizedValues =</div><div class="line"><a name="l02529"></a><span class="lineno"> 2529</span>&#160; {</div><div class="line"><a name="l02530"></a><span class="lineno"> 2530</span>&#160; 0.25f, 0.25f,</div><div class="line"><a name="l02531"></a><span class="lineno"> 2531</span>&#160; 0.25f, 0.25f,</div><div class="line"><a name="l02532"></a><span class="lineno"> 2532</span>&#160;</div><div class="line"><a name="l02533"></a><span class="lineno"> 2533</span>&#160; 0.25f, 0.25f,</div><div class="line"><a name="l02534"></a><span class="lineno"> 2534</span>&#160; 0.25f, 0.25f,</div><div class="line"><a name="l02535"></a><span class="lineno"> 2535</span>&#160;</div><div class="line"><a name="l02536"></a><span class="lineno"> 2536</span>&#160; 0.0f , 0.0f,</div><div class="line"><a name="l02537"></a><span class="lineno"> 2537</span>&#160; 0.0f , 0.1f,</div><div class="line"><a name="l02538"></a><span class="lineno"> 2538</span>&#160;</div><div class="line"><a name="l02539"></a><span class="lineno"> 2539</span>&#160; 0.0f , 0.0f,</div><div class="line"><a name="l02540"></a><span class="lineno"> 2540</span>&#160; 0.0f , 0.1f,</div><div class="line"><a name="l02541"></a><span class="lineno"> 2541</span>&#160;</div><div class="line"><a name="l02542"></a><span class="lineno"> 2542</span>&#160; 0.2f , 0.0f,</div><div class="line"><a name="l02543"></a><span class="lineno"> 2543</span>&#160; 0.0f , 0.0f,</div><div class="line"><a name="l02544"></a><span class="lineno"> 2544</span>&#160;</div><div class="line"><a name="l02545"></a><span class="lineno"> 2545</span>&#160; 0.2f , 0.0f,</div><div class="line"><a name="l02546"></a><span class="lineno"> 2546</span>&#160; 0.0f , 0.0f,</div><div class="line"><a name="l02547"></a><span class="lineno"> 2547</span>&#160;</div><div class="line"><a name="l02548"></a><span class="lineno"> 2548</span>&#160; 0.0f , 0.3f,</div><div class="line"><a name="l02549"></a><span class="lineno"> 2549</span>&#160; 0.0f , 0.0f,</div><div class="line"><a name="l02550"></a><span class="lineno"> 2550</span>&#160;</div><div class="line"><a name="l02551"></a><span class="lineno"> 2551</span>&#160; 0.0f , 0.3f,</div><div class="line"><a name="l02552"></a><span class="lineno"> 2552</span>&#160; 0.0f , 0.0f</div><div class="line"><a name="l02553"></a><span class="lineno"> 2553</span>&#160; };</div><div class="line"><a name="l02554"></a><span class="lineno"> 2554</span>&#160;</div><div class="line"><a name="l02555"></a><span class="lineno"> 2555</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> outputTensorInfo({ 1, 8, 2, 2}, ArmnnType);</div><div class="line"><a name="l02556"></a><span class="lineno"> 2556</span>&#160; std::vector&lt;float&gt; outputExpectedNoQuantizedValues =</div><div class="line"><a name="l02557"></a><span class="lineno"> 2557</span>&#160; {</div><div class="line"><a name="l02558"></a><span class="lineno"> 2558</span>&#160; 10.f, 10.f,</div><div class="line"><a name="l02559"></a><span class="lineno"> 2559</span>&#160; 10.f, 10.f,</div><div class="line"><a name="l02560"></a><span class="lineno"> 2560</span>&#160;</div><div class="line"><a name="l02561"></a><span class="lineno"> 2561</span>&#160; 1.f, 1.f,</div><div class="line"><a name="l02562"></a><span class="lineno"> 2562</span>&#160; 1.f, 1.f,</div><div class="line"><a name="l02563"></a><span class="lineno"> 2563</span>&#160;</div><div class="line"><a name="l02564"></a><span class="lineno"> 2564</span>&#160; 2.f, 2.f,</div><div class="line"><a name="l02565"></a><span class="lineno"> 2565</span>&#160; 2.f, 2.f,</div><div class="line"><a name="l02566"></a><span class="lineno"> 2566</span>&#160;</div><div class="line"><a name="l02567"></a><span class="lineno"> 2567</span>&#160; 3.f, 3.f,</div><div class="line"><a name="l02568"></a><span class="lineno"> 2568</span>&#160; 3.f, 3.f,</div><div class="line"><a name="l02569"></a><span class="lineno"> 2569</span>&#160;</div><div class="line"><a name="l02570"></a><span class="lineno"> 2570</span>&#160; 23.f, 24.f,</div><div class="line"><a name="l02571"></a><span class="lineno"> 2571</span>&#160; 26.f, 27.f,</div><div class="line"><a name="l02572"></a><span class="lineno"> 2572</span>&#160;</div><div class="line"><a name="l02573"></a><span class="lineno"> 2573</span>&#160; 2.5f, 2.6000001f,</div><div class="line"><a name="l02574"></a><span class="lineno"> 2574</span>&#160; 2.8f, 2.9f,</div><div class="line"><a name="l02575"></a><span class="lineno"> 2575</span>&#160;</div><div class="line"><a name="l02576"></a><span class="lineno"> 2576</span>&#160; 4.2000003f, 4.4f,</div><div class="line"><a name="l02577"></a><span class="lineno"> 2577</span>&#160; 4.8f, 5.f,</div><div class="line"><a name="l02578"></a><span class="lineno"> 2578</span>&#160;</div><div class="line"><a name="l02579"></a><span class="lineno"> 2579</span>&#160; 6.6000004f, 6.9f,</div><div class="line"><a name="l02580"></a><span class="lineno"> 2580</span>&#160; 7.5000005f, 7.8f</div><div class="line"><a name="l02581"></a><span class="lineno"> 2581</span>&#160; };</div><div class="line"><a name="l02582"></a><span class="lineno"> 2582</span>&#160;</div><div class="line"><a name="l02583"></a><span class="lineno"> 2583</span>&#160;</div><div class="line"><a name="l02584"></a><span class="lineno"> 2584</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2d3x3DilationTestCommon&lt;ArmnnType, ArmnnBType&gt;(</div><div class="line"><a name="l02585"></a><span class="lineno"> 2585</span>&#160; workloadFactory,</div><div class="line"><a name="l02586"></a><span class="lineno"> 2586</span>&#160; memoryManager,</div><div class="line"><a name="l02587"></a><span class="lineno"> 2587</span>&#160; inputNoQuantizedValues,</div><div class="line"><a name="l02588"></a><span class="lineno"> 2588</span>&#160; inputTensorInfo,</div><div class="line"><a name="l02589"></a><span class="lineno"> 2589</span>&#160; kernelNoQuantizedValues,</div><div class="line"><a name="l02590"></a><span class="lineno"> 2590</span>&#160; kernelTensorInfo,</div><div class="line"><a name="l02591"></a><span class="lineno"> 2591</span>&#160; outputExpectedNoQuantizedValues,</div><div class="line"><a name="l02592"></a><span class="lineno"> 2592</span>&#160; outputTensorInfo,</div><div class="line"><a name="l02593"></a><span class="lineno"> 2593</span>&#160; 1,</div><div class="line"><a name="l02594"></a><span class="lineno"> 2594</span>&#160; 1,</div><div class="line"><a name="l02595"></a><span class="lineno"> 2595</span>&#160; layout,</div><div class="line"><a name="l02596"></a><span class="lineno"> 2596</span>&#160; biasEnabled);</div><div class="line"><a name="l02597"></a><span class="lineno"> 2597</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_tensor_info_html"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00053">Tensor.hpp:53</a></div></div>
1131</div><!-- fragment -->
1132</div>
1133</div>
1134<a id="a8a51827c480f827c1e29f9347d7433c3"></a>
1135<h2 class="memtitle"><span class="permalink"><a href="#a8a51827c480f827c1e29f9347d7433c3">&#9670;&nbsp;</a></span>DepthwiseConvolution2dPerAxisQuantTest()</h2>
1136
1137<div class="memitem">
1138<div class="memproto">
1139 <table class="memname">
1140 <tr>
1141 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;uint8_t, 4&gt; DepthwiseConvolution2dPerAxisQuantTest </td>
1142 <td>(</td>
1143 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
1144 <td class="paramname"><em>workloadFactory</em>, </td>
1145 </tr>
1146 <tr>
1147 <td class="paramkey"></td>
1148 <td></td>
1149 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
1150 <td class="paramname"><em>memoryManager</em>, </td>
1151 </tr>
1152 <tr>
1153 <td class="paramkey"></td>
1154 <td></td>
1155 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
1156 <td class="paramname"><em>layout</em>&#160;</td>
1157 </tr>
1158 <tr>
1159 <td></td>
1160 <td>)</td>
1161 <td></td><td></td>
1162 </tr>
1163 </table>
1164</div><div class="memdoc">
1165
1166<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03268">3268</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1167
1168<p class="reference">References <a class="el" href="_tensor_copy_utils_8cpp_source.html#l00019">AllocateAndCopyDataToITensorHandle()</a>, <a class="el" href="_tensor_copy_utils_8cpp_source.html#l00014">CopyDataFromITensorHandle()</a>, <a class="el" href="_tensor_copy_utils_8cpp_source.html#l00009">CopyDataToITensorHandle()</a>, <a class="el" href="_workload_factory_8cpp_source.html#l01160">IWorkloadFactory::CreateDepthwiseConvolution2d()</a>, <a class="el" href="classarmnn_1_1_i_workload_factory.html#a15c140be4ddceffee16436f009d3ed94">IWorkloadFactory::CreateTensorHandle()</a>, <a class="el" href="_descriptors_8hpp_source.html#l00490">DepthwiseConvolution2dDescriptor::m_BiasEnabled</a>, <a class="el" href="_descriptors_8hpp_source.html#l00492">DepthwiseConvolution2dDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.html#l00486">DepthwiseConvolution2dDescriptor::m_DilationX</a>, <a class="el" href="_descriptors_8hpp_source.html#l00488">DepthwiseConvolution2dDescriptor::m_DilationY</a>, <a class="el" href="_descriptors_8hpp_source.html#l00480">DepthwiseConvolution2dDescriptor::m_PadBottom</a>, <a class="el" href="_descriptors_8hpp_source.html#l00474">DepthwiseConvolution2dDescriptor::m_PadLeft</a>, <a class="el" href="_descriptors_8hpp_source.html#l00476">DepthwiseConvolution2dDescriptor::m_PadRight</a>, <a class="el" href="_descriptors_8hpp_source.html#l00478">DepthwiseConvolution2dDescriptor::m_PadTop</a>, <a class="el" href="_workload_data_8hpp_source.html#l00049">QueueDescriptorWithParameters&lt; LayerDescriptor &gt;::m_Parameters</a>, <a class="el" href="_descriptors_8hpp_source.html#l00482">DepthwiseConvolution2dDescriptor::m_StrideX</a>, <a class="el" href="_descriptors_8hpp_source.html#l00484">DepthwiseConvolution2dDescriptor::m_StrideY</a>, <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::NCHW</a>, <a class="el" href="_layer_test_result_8hpp_source.html#l00040">LayerTestResult&lt; T, n &gt;::output</a>, <a class="el" href="_layer_test_result_8hpp_source.html#l00041">LayerTestResult&lt; T, n &gt;::outputExpected</a>, and <a class="el" href="_data_layout_utils_8hpp_source.html#l00026">PermuteTensorNhwcToNchw()</a>.</p>
1169<div class="fragment"><div class="line"><a name="l03272"></a><span class="lineno"> 3272</span>&#160;{</div><div class="line"><a name="l03273"></a><span class="lineno"> 3273</span>&#160; <span class="keyword">using namespace </span><a class="code" href="namespacearmnn.html">armnn</a>;</div><div class="line"><a name="l03274"></a><span class="lineno"> 3274</span>&#160;</div><div class="line"><a name="l03275"></a><span class="lineno"> 3275</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> inputType = <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>;</div><div class="line"><a name="l03276"></a><span class="lineno"> 3276</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> kernelType = <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>;</div><div class="line"><a name="l03277"></a><span class="lineno"> 3277</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> biasType = <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a>;</div><div class="line"><a name="l03278"></a><span class="lineno"> 3278</span>&#160;</div><div class="line"><a name="l03279"></a><span class="lineno"> 3279</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> inputInfo ({ 1, 3, 3, 2 }, inputType, 0.5f, 128); <span class="comment">// N H W C</span></div><div class="line"><a name="l03280"></a><span class="lineno"> 3280</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> outputInfo({ 1, 2, 2, 4 }, inputType, 1.0f, 128); <span class="comment">// N H W C</span></div><div class="line"><a name="l03281"></a><span class="lineno"> 3281</span>&#160;</div><div class="line"><a name="l03282"></a><span class="lineno"> 3282</span>&#160; <span class="keyword">const</span> std::vector&lt;float&gt; quantScales{ 1.0f, 0.5f, 1.0f, 0.5f };</div><div class="line"><a name="l03283"></a><span class="lineno"> 3283</span>&#160; <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> quantDimension = 0;</div><div class="line"><a name="l03284"></a><span class="lineno"> 3284</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> kernelInfo({ 2, 2, 2, 2 }, kernelType, quantScales, quantDimension); <span class="comment">// M I H W</span></div><div class="line"><a name="l03285"></a><span class="lineno"> 3285</span>&#160;</div><div class="line"><a name="l03286"></a><span class="lineno"> 3286</span>&#160; <span class="keyword">const</span> std::vector&lt;float&gt; biasQuantScales{ 0.5f, 0.25f, 0.5f, 0.25f };</div><div class="line"><a name="l03287"></a><span class="lineno"> 3287</span>&#160; constexpr <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> biasQuantDimension = 0;</div><div class="line"><a name="l03288"></a><span class="lineno"> 3288</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> biasInfo({ 4 }, biasType, biasQuantScales, biasQuantDimension);</div><div class="line"><a name="l03289"></a><span class="lineno"> 3289</span>&#160;</div><div class="line"><a name="l03290"></a><span class="lineno"> 3290</span>&#160; std::vector&lt;uint8_t&gt; inputData =</div><div class="line"><a name="l03291"></a><span class="lineno"> 3291</span>&#160; {</div><div class="line"><a name="l03292"></a><span class="lineno"> 3292</span>&#160; 129, 130,</div><div class="line"><a name="l03293"></a><span class="lineno"> 3293</span>&#160; 129, 130,</div><div class="line"><a name="l03294"></a><span class="lineno"> 3294</span>&#160; 129, 130,</div><div class="line"><a name="l03295"></a><span class="lineno"> 3295</span>&#160; 129, 130,</div><div class="line"><a name="l03296"></a><span class="lineno"> 3296</span>&#160; 129, 130,</div><div class="line"><a name="l03297"></a><span class="lineno"> 3297</span>&#160; 129, 130,</div><div class="line"><a name="l03298"></a><span class="lineno"> 3298</span>&#160; 129, 130,</div><div class="line"><a name="l03299"></a><span class="lineno"> 3299</span>&#160; 129, 130,</div><div class="line"><a name="l03300"></a><span class="lineno"> 3300</span>&#160; 129, 130</div><div class="line"><a name="l03301"></a><span class="lineno"> 3301</span>&#160; };</div><div class="line"><a name="l03302"></a><span class="lineno"> 3302</span>&#160;</div><div class="line"><a name="l03303"></a><span class="lineno"> 3303</span>&#160; std::vector&lt;int8_t&gt; kernelData =</div><div class="line"><a name="l03304"></a><span class="lineno"> 3304</span>&#160; {</div><div class="line"><a name="l03305"></a><span class="lineno"> 3305</span>&#160; 1, 1, 1, 1,</div><div class="line"><a name="l03306"></a><span class="lineno"> 3306</span>&#160; 1, 1, 1, 1,</div><div class="line"><a name="l03307"></a><span class="lineno"> 3307</span>&#160; 1, 1, 1, 1,</div><div class="line"><a name="l03308"></a><span class="lineno"> 3308</span>&#160; 1, 1, 1, 1</div><div class="line"><a name="l03309"></a><span class="lineno"> 3309</span>&#160; };</div><div class="line"><a name="l03310"></a><span class="lineno"> 3310</span>&#160;</div><div class="line"><a name="l03311"></a><span class="lineno"> 3311</span>&#160; std::vector&lt;int32_t&gt; biasData =</div><div class="line"><a name="l03312"></a><span class="lineno"> 3312</span>&#160; {</div><div class="line"><a name="l03313"></a><span class="lineno"> 3313</span>&#160; 4, 4, 4, 4</div><div class="line"><a name="l03314"></a><span class="lineno"> 3314</span>&#160; };</div><div class="line"><a name="l03315"></a><span class="lineno"> 3315</span>&#160;</div><div class="line"><a name="l03316"></a><span class="lineno"> 3316</span>&#160; std::vector&lt;uint8_t&gt; expectedOutputData =</div><div class="line"><a name="l03317"></a><span class="lineno"> 3317</span>&#160; {</div><div class="line"><a name="l03318"></a><span class="lineno"> 3318</span>&#160; 132, 130, 134, 131,</div><div class="line"><a name="l03319"></a><span class="lineno"> 3319</span>&#160; 132, 130, 134, 131,</div><div class="line"><a name="l03320"></a><span class="lineno"> 3320</span>&#160; 132, 130, 134, 131,</div><div class="line"><a name="l03321"></a><span class="lineno"> 3321</span>&#160; 132, 130, 134, 131</div><div class="line"><a name="l03322"></a><span class="lineno"> 3322</span>&#160; };</div><div class="line"><a name="l03323"></a><span class="lineno"> 3323</span>&#160;</div><div class="line"><a name="l03324"></a><span class="lineno"> 3324</span>&#160; <span class="keywordflow">if</span> (layout == <a class="code" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a>)</div><div class="line"><a name="l03325"></a><span class="lineno"> 3325</span>&#160; {</div><div class="line"><a name="l03326"></a><span class="lineno"> 3326</span>&#160; <a class="code" href="_data_layout_utils_8hpp.html#a1452f049aef30409b3b649af2be7ff82">PermuteTensorNhwcToNchw</a>(inputInfo, inputData);</div><div class="line"><a name="l03327"></a><span class="lineno"> 3327</span>&#160; <a class="code" href="_data_layout_utils_8hpp.html#a1452f049aef30409b3b649af2be7ff82">PermuteTensorNhwcToNchw</a>(outputInfo, expectedOutputData);</div><div class="line"><a name="l03328"></a><span class="lineno"> 3328</span>&#160; }</div><div class="line"><a name="l03329"></a><span class="lineno"> 3329</span>&#160;</div><div class="line"><a name="l03330"></a><span class="lineno"> 3330</span>&#160; <a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html">DepthwiseConvolution2dDescriptor</a> descriptor;</div><div class="line"><a name="l03331"></a><span class="lineno"> 3331</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#afe6a3377c4531315354def9023c8fdda">m_StrideX</a> = 1;</div><div class="line"><a name="l03332"></a><span class="lineno"> 3332</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#ac1fe174bbadfb39a2b636940c2e647c8">m_StrideY</a> = 1;</div><div class="line"><a name="l03333"></a><span class="lineno"> 3333</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#ac18546ebbebbb32fe0a03baa9bf2c600">m_PadLeft</a> = 0;</div><div class="line"><a name="l03334"></a><span class="lineno"> 3334</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#a002bc30e590d78cbb4f4d12171055ca7">m_PadRight</a> = 0;</div><div class="line"><a name="l03335"></a><span class="lineno"> 3335</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#a56b51f56cef50cdfa554258eecdab046">m_PadTop</a> = 0;</div><div class="line"><a name="l03336"></a><span class="lineno"> 3336</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#aa9e49717ebdb741e8c767741647fc618">m_PadBottom</a> = 0;</div><div class="line"><a name="l03337"></a><span class="lineno"> 3337</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#aa3c6a77a963a98ccb8ea7b8fd008a8c1">m_DilationX</a> = 1;</div><div class="line"><a name="l03338"></a><span class="lineno"> 3338</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#a302b688d88dd73cde0fb1faef6679907">m_DilationY</a> = 1;</div><div class="line"><a name="l03339"></a><span class="lineno"> 3339</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#aea202e14d8874cefd9a0f778022b7e25">m_BiasEnabled</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l03340"></a><span class="lineno"> 3340</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#a6089e1ca91914015777ea780a513131a">m_DataLayout</a> = layout;</div><div class="line"><a name="l03341"></a><span class="lineno"> 3341</span>&#160;</div><div class="line"><a name="l03342"></a><span class="lineno"> 3342</span>&#160; std::unique_ptr&lt;ITensorHandle&gt; inputHandle = workloadFactory.<a class="code" href="classarmnn_1_1_i_workload_factory.html#a15c140be4ddceffee16436f009d3ed94">CreateTensorHandle</a>(inputInfo);</div><div class="line"><a name="l03343"></a><span class="lineno"> 3343</span>&#160; std::unique_ptr&lt;ITensorHandle&gt; outputHandle = workloadFactory.<a class="code" href="classarmnn_1_1_i_workload_factory.html#a15c140be4ddceffee16436f009d3ed94">CreateTensorHandle</a>(outputInfo);</div><div class="line"><a name="l03344"></a><span class="lineno"> 3344</span>&#160;</div><div class="line"><a name="l03345"></a><span class="lineno"> 3345</span>&#160; <a class="code" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a> workloadInfo;</div><div class="line"><a name="l03346"></a><span class="lineno"> 3346</span>&#160; <a class="code" href="classarmnn_1_1_scoped_cpu_tensor_handle.html">ScopedCpuTensorHandle</a> weightTensor(kernelInfo);</div><div class="line"><a name="l03347"></a><span class="lineno"> 3347</span>&#160; <a class="code" href="classarmnn_1_1_scoped_cpu_tensor_handle.html">ScopedCpuTensorHandle</a> biasTensor(biasInfo);</div><div class="line"><a name="l03348"></a><span class="lineno"> 3348</span>&#160;</div><div class="line"><a name="l03349"></a><span class="lineno"> 3349</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.html#afaaca8c3f3a467d124bba44067d2afa8">AllocateAndCopyDataToITensorHandle</a>(&amp;weightTensor, kernelData.data());</div><div class="line"><a name="l03350"></a><span class="lineno"> 3350</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.html#afaaca8c3f3a467d124bba44067d2afa8">AllocateAndCopyDataToITensorHandle</a>(&amp;biasTensor, biasData.data());</div><div class="line"><a name="l03351"></a><span class="lineno"> 3351</span>&#160;</div><div class="line"><a name="l03352"></a><span class="lineno"> 3352</span>&#160; <a class="code" href="structarmnn_1_1_depthwise_convolution2d_queue_descriptor.html">DepthwiseConvolution2dQueueDescriptor</a> queueDescriptor;</div><div class="line"><a name="l03353"></a><span class="lineno"> 3353</span>&#160; queueDescriptor.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a> = descriptor;</div><div class="line"><a name="l03354"></a><span class="lineno"> 3354</span>&#160; queueDescriptor.m_Weight = &amp;weightTensor;</div><div class="line"><a name="l03355"></a><span class="lineno"> 3355</span>&#160; queueDescriptor.m_Bias = &amp;biasTensor;</div><div class="line"><a name="l03356"></a><span class="lineno"> 3356</span>&#160;</div><div class="line"><a name="l03357"></a><span class="lineno"> 3357</span>&#160; AddInputToWorkload(queueDescriptor, workloadInfo, inputInfo, inputHandle.get());</div><div class="line"><a name="l03358"></a><span class="lineno"> 3358</span>&#160; AddOutputToWorkload(queueDescriptor, workloadInfo, outputInfo, outputHandle.get());</div><div class="line"><a name="l03359"></a><span class="lineno"> 3359</span>&#160;</div><div class="line"><a name="l03360"></a><span class="lineno"> 3360</span>&#160; std::unique_ptr&lt;IWorkload&gt; workload = workloadFactory.<a class="code" href="classarmnn_1_1_i_workload_factory.html#accb9759dfd2880efe0f8d2705ddee448">CreateDepthwiseConvolution2d</a>(queueDescriptor, workloadInfo);</div><div class="line"><a name="l03361"></a><span class="lineno"> 3361</span>&#160; inputHandle-&gt;Allocate();</div><div class="line"><a name="l03362"></a><span class="lineno"> 3362</span>&#160; outputHandle-&gt;Allocate();</div><div class="line"><a name="l03363"></a><span class="lineno"> 3363</span>&#160;</div><div class="line"><a name="l03364"></a><span class="lineno"> 3364</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.html#ae15f1a3c55d2db87683577de9fa4437c">CopyDataToITensorHandle</a>(inputHandle.get(), inputData.data());</div><div class="line"><a name="l03365"></a><span class="lineno"> 3365</span>&#160;</div><div class="line"><a name="l03366"></a><span class="lineno"> 3366</span>&#160; ExecuteWorkload(*workload, memoryManager);</div><div class="line"><a name="l03367"></a><span class="lineno"> 3367</span>&#160;</div><div class="line"><a name="l03368"></a><span class="lineno"> 3368</span>&#160; <a class="code" href="struct_layer_test_result.html">LayerTestResult&lt;uint8_t, 4&gt;</a> ret(outputInfo);</div><div class="line"><a name="l03369"></a><span class="lineno"> 3369</span>&#160;</div><div class="line"><a name="l03370"></a><span class="lineno"> 3370</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.html#a99b626c58a926dc7d6df78d22ec186c8">CopyDataFromITensorHandle</a>(ret.output.origin(), outputHandle.get());</div><div class="line"><a name="l03371"></a><span class="lineno"> 3371</span>&#160; ret.outputExpected = MakeTensor&lt;uint8_t, 4&gt;(outputInfo, expectedOutputData);</div><div class="line"><a name="l03372"></a><span class="lineno"> 3372</span>&#160;</div><div class="line"><a name="l03373"></a><span class="lineno"> 3373</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l03374"></a><span class="lineno"> 3374</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_i_workload_factory_html_accb9759dfd2880efe0f8d2705ddee448"><div class="ttname"><a href="classarmnn_1_1_i_workload_factory.html#accb9759dfd2880efe0f8d2705ddee448">armnn::IWorkloadFactory::CreateDepthwiseConvolution2d</a></div><div class="ttdeci">virtual std::unique_ptr&lt; IWorkload &gt; CreateDepthwiseConvolution2d(const DepthwiseConvolution2dQueueDescriptor &amp;descriptor, const WorkloadInfo &amp;info) const</div><div class="ttdef"><b>Definition:</b> <a href="_workload_factory_8cpp_source.html#l01160">WorkloadFactory.cpp:1160</a></div></div>
1170<div class="ttc" id="_tensor_copy_utils_8cpp_html_afaaca8c3f3a467d124bba44067d2afa8"><div class="ttname"><a href="_tensor_copy_utils_8cpp.html#afaaca8c3f3a467d124bba44067d2afa8">AllocateAndCopyDataToITensorHandle</a></div><div class="ttdeci">void AllocateAndCopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_copy_utils_8cpp_source.html#l00019">TensorCopyUtils.cpp:19</a></div></div>
1171<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_html_afe6a3377c4531315354def9023c8fdda"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#afe6a3377c4531315354def9023c8fdda">armnn::DepthwiseConvolution2dDescriptor::m_StrideX</a></div><div class="ttdeci">uint32_t m_StrideX</div><div class="ttdoc">Stride value when proceeding through input for the width dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00482">Descriptors.hpp:482</a></div></div>
1172<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_html_aa9e49717ebdb741e8c767741647fc618"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#aa9e49717ebdb741e8c767741647fc618">armnn::DepthwiseConvolution2dDescriptor::m_PadBottom</a></div><div class="ttdeci">uint32_t m_PadBottom</div><div class="ttdoc">Padding bottom value in the height dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00480">Descriptors.hpp:480</a></div></div>
1173<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
1174<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_html_aa3c6a77a963a98ccb8ea7b8fd008a8c1"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#aa3c6a77a963a98ccb8ea7b8fd008a8c1">armnn::DepthwiseConvolution2dDescriptor::m_DilationX</a></div><div class="ttdeci">uint32_t m_DilationX</div><div class="ttdoc">Dilation factor value for width dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00486">Descriptors.hpp:486</a></div></div>
1175<div class="ttc" id="_tensor_copy_utils_8cpp_html_ae15f1a3c55d2db87683577de9fa4437c"><div class="ttname"><a href="_tensor_copy_utils_8cpp.html#ae15f1a3c55d2db87683577de9fa4437c">CopyDataToITensorHandle</a></div><div class="ttdeci">void CopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_copy_utils_8cpp_source.html#l00009">TensorCopyUtils.cpp:9</a></div></div>
1176<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1177<div class="ttc" id="namespacearmnn_html_ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"><div class="ttname"><a href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::DataLayout::NCHW</a></div></div>
1178<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_html_ac18546ebbebbb32fe0a03baa9bf2c600"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#ac18546ebbebbb32fe0a03baa9bf2c600">armnn::DepthwiseConvolution2dDescriptor::m_PadLeft</a></div><div class="ttdeci">uint32_t m_PadLeft</div><div class="ttdoc">Padding left value in the width dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00474">Descriptors.hpp:474</a></div></div>
1179<div class="ttc" id="structarmnn_1_1_queue_descriptor_with_parameters_html_aad91b9bbf7aa365d304febe79a3d1333"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">armnn::QueueDescriptorWithParameters::m_Parameters</a></div><div class="ttdeci">LayerDescriptor m_Parameters</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.html#l00049">WorkloadData.hpp:49</a></div></div>
1180<div class="ttc" id="classarmnn_1_1_tensor_info_html"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00053">Tensor.hpp:53</a></div></div>
1181<div class="ttc" id="classarmnn_1_1_i_workload_factory_html_a15c140be4ddceffee16436f009d3ed94"><div class="ttname"><a href="classarmnn_1_1_i_workload_factory.html#a15c140be4ddceffee16436f009d3ed94">armnn::IWorkloadFactory::CreateTensorHandle</a></div><div class="ttdeci">virtual std::unique_ptr&lt; ITensorHandle &gt; CreateTensorHandle(const TensorInfo &amp;tensorInfo, const bool IsMemoryManaged=true) const =0</div></div>
1182<div class="ttc" id="struct_layer_test_result_html"><div class="ttname"><a href="struct_layer_test_result.html">LayerTestResult</a></div><div class="ttdef"><b>Definition:</b> <a href="_layer_test_result_8hpp_source.html#l00029">LayerTestResult.hpp:29</a></div></div>
1183<div class="ttc" id="_tensor_copy_utils_8cpp_html_a99b626c58a926dc7d6df78d22ec186c8"><div class="ttname"><a href="_tensor_copy_utils_8cpp.html#a99b626c58a926dc7d6df78d22ec186c8">CopyDataFromITensorHandle</a></div><div class="ttdeci">void CopyDataFromITensorHandle(void *memory, const armnn::ITensorHandle *tensorHandle)</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_copy_utils_8cpp_source.html#l00014">TensorCopyUtils.cpp:14</a></div></div>
1184<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_html_a6089e1ca91914015777ea780a513131a"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#a6089e1ca91914015777ea780a513131a">armnn::DepthwiseConvolution2dDescriptor::m_DataLayout</a></div><div class="ttdeci">DataLayout m_DataLayout</div><div class="ttdoc">The data layout to be used (NCHW, NHWC). </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00492">Descriptors.hpp:492</a></div></div>
1185<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_html_a56b51f56cef50cdfa554258eecdab046"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#a56b51f56cef50cdfa554258eecdab046">armnn::DepthwiseConvolution2dDescriptor::m_PadTop</a></div><div class="ttdeci">uint32_t m_PadTop</div><div class="ttdoc">Padding top value in the height dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00478">Descriptors.hpp:478</a></div></div>
1186<div class="ttc" id="structarmnn_1_1_workload_info_html"><div class="ttname"><a href="structarmnn_1_1_workload_info.html">armnn::WorkloadInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="include_2armnn_2backends_2_workload_info_8hpp_source.html#l00016">WorkloadInfo.hpp:16</a></div></div>
1187<div class="ttc" id="_data_layout_utils_8hpp_html_a1452f049aef30409b3b649af2be7ff82"><div class="ttname"><a href="_data_layout_utils_8hpp.html#a1452f049aef30409b3b649af2be7ff82">PermuteTensorNhwcToNchw</a></div><div class="ttdeci">void PermuteTensorNhwcToNchw(armnn::TensorInfo &amp;tensorInfo, std::vector&lt; T &gt; &amp;tensorData)</div><div class="ttdef"><b>Definition:</b> <a href="_data_layout_utils_8hpp_source.html#l00026">DataLayoutUtils.hpp:26</a></div></div>
1188<div class="ttc" id="namespacearmnn_html"><div class="ttname"><a href="namespacearmnn.html">armnn</a></div><div class="ttdef"><b>Definition:</b> <a href="_backend_helper_8hpp_source.html#l00011">BackendHelper.hpp:11</a></div></div>
1189<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
1190<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_html_aea202e14d8874cefd9a0f778022b7e25"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#aea202e14d8874cefd9a0f778022b7e25">armnn::DepthwiseConvolution2dDescriptor::m_BiasEnabled</a></div><div class="ttdeci">bool m_BiasEnabled</div><div class="ttdoc">Enable/disable bias. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00490">Descriptors.hpp:490</a></div></div>
1191<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_queue_descriptor_html"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_queue_descriptor.html">armnn::DepthwiseConvolution2dQueueDescriptor</a></div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.html#l00183">WorkloadData.hpp:183</a></div></div>
1192<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">armnn::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.html#l00032">Types.hpp:32</a></div></div>
1193<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_html"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.html">armnn::DepthwiseConvolution2dDescriptor</a></div><div class="ttdoc">A DepthwiseConvolution2dDescriptor for the DepthwiseConvolution2dLayer. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00444">Descriptors.hpp:444</a></div></div>
1194<div class="ttc" id="classarmnn_1_1_scoped_cpu_tensor_handle_html"><div class="ttname"><a href="classarmnn_1_1_scoped_cpu_tensor_handle.html">armnn::ScopedCpuTensorHandle</a></div><div class="ttdef"><b>Definition:</b> <a href="_cpu_tensor_handle_8hpp_source.html#l00106">CpuTensorHandle.hpp:106</a></div></div>
1195<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_html_ac1fe174bbadfb39a2b636940c2e647c8"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#ac1fe174bbadfb39a2b636940c2e647c8">armnn::DepthwiseConvolution2dDescriptor::m_StrideY</a></div><div class="ttdeci">uint32_t m_StrideY</div><div class="ttdoc">Stride value when proceeding through input for the height dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00484">Descriptors.hpp:484</a></div></div>
1196<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_html_a302b688d88dd73cde0fb1faef6679907"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#a302b688d88dd73cde0fb1faef6679907">armnn::DepthwiseConvolution2dDescriptor::m_DilationY</a></div><div class="ttdeci">uint32_t m_DilationY</div><div class="ttdoc">Dilation factor value for height dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00488">Descriptors.hpp:488</a></div></div>
1197<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_html_a002bc30e590d78cbb4f4d12171055ca7"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.html#a002bc30e590d78cbb4f4d12171055ca7">armnn::DepthwiseConvolution2dDescriptor::m_PadRight</a></div><div class="ttdeci">uint32_t m_PadRight</div><div class="ttdoc">Padding right value in the width dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00476">Descriptors.hpp:476</a></div></div>
1198</div><!-- fragment -->
1199</div>
1200</div>
1201<a id="a11fbd94028ab646528b42d0c8c55eee1"></a>
1202<h2 class="memtitle"><span class="permalink"><a href="#a11fbd94028ab646528b42d0c8c55eee1">&#9670;&nbsp;</a></span>DepthwiseConvolution2dTest()</h2>
1203
1204<div class="memitem">
1205<div class="memproto">
1206 <table class="memname">
1207 <tr>
1208 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;float, 4&gt; DepthwiseConvolution2dTest </td>
1209 <td>(</td>
1210 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
1211 <td class="paramname"><em>workloadFactory</em>, </td>
1212 </tr>
1213 <tr>
1214 <td class="paramkey"></td>
1215 <td></td>
1216 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
1217 <td class="paramname"><em>memoryManager</em>, </td>
1218 </tr>
1219 <tr>
1220 <td class="paramkey"></td>
1221 <td></td>
1222 <td class="paramtype">bool&#160;</td>
1223 <td class="paramname"><em>biasEnabled</em>, </td>
1224 </tr>
1225 <tr>
1226 <td class="paramkey"></td>
1227 <td></td>
1228 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
1229 <td class="paramname"><em>layout</em>&#160;</td>
1230 </tr>
1231 <tr>
1232 <td></td>
1233 <td>)</td>
1234 <td></td><td></td>
1235 </tr>
1236 </table>
1237</div><div class="memdoc">
1238
1239<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03145">3145</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1240<div class="fragment"><div class="line"><a name="l03150"></a><span class="lineno"> 3150</span>&#160;{</div><div class="line"><a name="l03151"></a><span class="lineno"> 3151</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dTestImpl&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03152"></a><span class="lineno"> 3152</span>&#160; workloadFactory, memoryManager, 0.0f, 0, biasEnabled, layout);</div><div class="line"><a name="l03153"></a><span class="lineno"> 3153</span>&#160;}</div></div><!-- fragment -->
1241</div>
1242</div>
1243<a id="a8076c31bd6e9eae629994a89a5fa18c3"></a>
1244<h2 class="memtitle"><span class="permalink"><a href="#a8076c31bd6e9eae629994a89a5fa18c3">&#9670;&nbsp;</a></span>DepthwiseConvolution2dUint8Test()</h2>
1245
1246<div class="memitem">
1247<div class="memproto">
1248 <table class="memname">
1249 <tr>
1250 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;uint8_t, 4&gt; DepthwiseConvolution2dUint8Test </td>
1251 <td>(</td>
1252 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
1253 <td class="paramname"><em>workloadFactory</em>, </td>
1254 </tr>
1255 <tr>
1256 <td class="paramkey"></td>
1257 <td></td>
1258 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
1259 <td class="paramname"><em>memoryManager</em>, </td>
1260 </tr>
1261 <tr>
1262 <td class="paramkey"></td>
1263 <td></td>
1264 <td class="paramtype">bool&#160;</td>
1265 <td class="paramname"><em>biasEnabled</em>, </td>
1266 </tr>
1267 <tr>
1268 <td class="paramkey"></td>
1269 <td></td>
1270 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
1271 <td class="paramname"><em>layout</em>&#160;</td>
1272 </tr>
1273 <tr>
1274 <td></td>
1275 <td>)</td>
1276 <td></td><td></td>
1277 </tr>
1278 </table>
1279</div><div class="memdoc">
1280
1281<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03216">3216</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1282<div class="fragment"><div class="line"><a name="l03221"></a><span class="lineno"> 3221</span>&#160;{</div><div class="line"><a name="l03222"></a><span class="lineno"> 3222</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dTestImpl&lt;armnn::DataType::QAsymmU8, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l03223"></a><span class="lineno"> 3223</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l03224"></a><span class="lineno"> 3224</span>&#160;}</div></div><!-- fragment -->
1283</div>
1284</div>
1285<a id="ac7bae01fdca8edac70cc9bc722426b17"></a>
1286<h2 class="memtitle"><span class="permalink"><a href="#ac7bae01fdca8edac70cc9bc722426b17">&#9670;&nbsp;</a></span>SimpleConvolution2d3x3NhwcTest()</h2>
1287
1288<div class="memitem">
1289<div class="memproto">
1290 <table class="memname">
1291 <tr>
1292 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;float, 4&gt; SimpleConvolution2d3x3NhwcTest </td>
1293 <td>(</td>
1294 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
1295 <td class="paramname"><em>workloadFactory</em>, </td>
1296 </tr>
1297 <tr>
1298 <td class="paramkey"></td>
1299 <td></td>
1300 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
1301 <td class="paramname"><em>memoryManager</em>, </td>
1302 </tr>
1303 <tr>
1304 <td class="paramkey"></td>
1305 <td></td>
1306 <td class="paramtype">bool&#160;</td>
1307 <td class="paramname"><em>biasEnabled</em>&#160;</td>
1308 </tr>
1309 <tr>
1310 <td></td>
1311 <td>)</td>
1312 <td></td><td></td>
1313 </tr>
1314 </table>
1315</div><div class="memdoc">
1316
1317<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l02948">2948</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1318
1319<p class="reference">References <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">armnn::NHWC</a>.</p>
1320<div class="fragment"><div class="line"><a name="l02952"></a><span class="lineno"> 2952</span>&#160;{</div><div class="line"><a name="l02953"></a><span class="lineno"> 2953</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2d3x3NhwcTestCommon&lt;armnn::DataType::Float32&gt;(</div><div class="line"><a name="l02954"></a><span class="lineno"> 2954</span>&#160; workloadFactory,</div><div class="line"><a name="l02955"></a><span class="lineno"> 2955</span>&#160; memoryManager,</div><div class="line"><a name="l02956"></a><span class="lineno"> 2956</span>&#160; 0.f,</div><div class="line"><a name="l02957"></a><span class="lineno"> 2957</span>&#160; 0,</div><div class="line"><a name="l02958"></a><span class="lineno"> 2958</span>&#160; biasEnabled,</div><div class="line"><a name="l02959"></a><span class="lineno"> 2959</span>&#160; <a class="code" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">armnn::DataLayout::NHWC</a>);</div><div class="line"><a name="l02960"></a><span class="lineno"> 2960</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51"><div class="ttname"><a href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">armnn::DataLayout::NHWC</a></div></div>
1321</div><!-- fragment -->
1322</div>
1323</div>
1324<a id="abac8f73ae590a93fe91115371ae4ced3"></a>
1325<h2 class="memtitle"><span class="permalink"><a href="#abac8f73ae590a93fe91115371ae4ced3">&#9670;&nbsp;</a></span>SimpleConvolution2d3x3QSymm16Test()</h2>
1326
1327<div class="memitem">
1328<div class="memproto">
1329 <table class="memname">
1330 <tr>
1331 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;int16_t, 4&gt; SimpleConvolution2d3x3QSymm16Test </td>
1332 <td>(</td>
1333 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
1334 <td class="paramname"><em>workloadFactory</em>, </td>
1335 </tr>
1336 <tr>
1337 <td class="paramkey"></td>
1338 <td></td>
1339 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
1340 <td class="paramname"><em>memoryManager</em>, </td>
1341 </tr>
1342 <tr>
1343 <td class="paramkey"></td>
1344 <td></td>
1345 <td class="paramtype">bool&#160;</td>
1346 <td class="paramname"><em>biasEnabled</em>, </td>
1347 </tr>
1348 <tr>
1349 <td class="paramkey"></td>
1350 <td></td>
1351 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
1352 <td class="paramname"><em>layout</em>&#160;</td>
1353 </tr>
1354 <tr>
1355 <td></td>
1356 <td>)</td>
1357 <td></td><td></td>
1358 </tr>
1359 </table>
1360</div><div class="memdoc">
1361
1362<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l02997">2997</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1363<div class="fragment"><div class="line"><a name="l03002"></a><span class="lineno"> 3002</span>&#160;{</div><div class="line"><a name="l03003"></a><span class="lineno"> 3003</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2d3x3TestCommon&lt;armnn::DataType::QSymmS16, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l03004"></a><span class="lineno"> 3004</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l03005"></a><span class="lineno"> 3005</span>&#160;}</div></div><!-- fragment -->
1364</div>
1365</div>
1366<a id="af4ac6874d18e1cb59873a17073512873"></a>
1367<h2 class="memtitle"><span class="permalink"><a href="#af4ac6874d18e1cb59873a17073512873">&#9670;&nbsp;</a></span>SimpleConvolution2d3x3Stride2x2Test()</h2>
1368
1369<div class="memitem">
1370<div class="memproto">
1371 <table class="memname">
1372 <tr>
1373 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;float, 4&gt; SimpleConvolution2d3x3Stride2x2Test </td>
1374 <td>(</td>
1375 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
1376 <td class="paramname"><em>workloadFactory</em>, </td>
1377 </tr>
1378 <tr>
1379 <td class="paramkey"></td>
1380 <td></td>
1381 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
1382 <td class="paramname"><em>memoryManager</em>, </td>
1383 </tr>
1384 <tr>
1385 <td class="paramkey"></td>
1386 <td></td>
1387 <td class="paramtype">bool&#160;</td>
1388 <td class="paramname"><em>biasEnabled</em>, </td>
1389 </tr>
1390 <tr>
1391 <td class="paramkey"></td>
1392 <td></td>
1393 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
1394 <td class="paramname"><em>layout</em>&#160;</td>
1395 </tr>
1396 <tr>
1397 <td></td>
1398 <td>)</td>
1399 <td></td><td></td>
1400 </tr>
1401 </table>
1402</div><div class="memdoc">
1403
1404<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l02962">2962</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1405<div class="fragment"><div class="line"><a name="l02967"></a><span class="lineno"> 2967</span>&#160;{</div><div class="line"><a name="l02968"></a><span class="lineno"> 2968</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2d3x3Stride2x2TestCommon&lt;armnn::DataType::Float32&gt;(</div><div class="line"><a name="l02969"></a><span class="lineno"> 2969</span>&#160; workloadFactory,</div><div class="line"><a name="l02970"></a><span class="lineno"> 2970</span>&#160; memoryManager,</div><div class="line"><a name="l02971"></a><span class="lineno"> 2971</span>&#160; 0.f,</div><div class="line"><a name="l02972"></a><span class="lineno"> 2972</span>&#160; 0,</div><div class="line"><a name="l02973"></a><span class="lineno"> 2973</span>&#160; biasEnabled,</div><div class="line"><a name="l02974"></a><span class="lineno"> 2974</span>&#160; layout);</div><div class="line"><a name="l02975"></a><span class="lineno"> 2975</span>&#160;}</div></div><!-- fragment -->
1406</div>
1407</div>
1408<a id="acbe1a2adccd9e0aad14fc0ccb9266b0d"></a>
1409<h2 class="memtitle"><span class="permalink"><a href="#acbe1a2adccd9e0aad14fc0ccb9266b0d">&#9670;&nbsp;</a></span>SimpleConvolution2d3x3Test()</h2>
1410
1411<div class="memitem">
1412<div class="memproto">
1413 <table class="memname">
1414 <tr>
1415 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;float, 4&gt; SimpleConvolution2d3x3Test </td>
1416 <td>(</td>
1417 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
1418 <td class="paramname"><em>workloadFactory</em>, </td>
1419 </tr>
1420 <tr>
1421 <td class="paramkey"></td>
1422 <td></td>
1423 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
1424 <td class="paramname"><em>memoryManager</em>, </td>
1425 </tr>
1426 <tr>
1427 <td class="paramkey"></td>
1428 <td></td>
1429 <td class="paramtype">bool&#160;</td>
1430 <td class="paramname"><em>biasEnabled</em>, </td>
1431 </tr>
1432 <tr>
1433 <td class="paramkey"></td>
1434 <td></td>
1435 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
1436 <td class="paramname"><em>layout</em>&#160;</td>
1437 </tr>
1438 <tr>
1439 <td></td>
1440 <td>)</td>
1441 <td></td><td></td>
1442 </tr>
1443 </table>
1444</div><div class="memdoc">
1445
1446<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l02938">2938</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1447<div class="fragment"><div class="line"><a name="l02943"></a><span class="lineno"> 2943</span>&#160;{</div><div class="line"><a name="l02944"></a><span class="lineno"> 2944</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2d3x3TestCommon&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l02945"></a><span class="lineno"> 2945</span>&#160; workloadFactory, memoryManager, 0.f, 0, biasEnabled, layout);</div><div class="line"><a name="l02946"></a><span class="lineno"> 2946</span>&#160;}</div></div><!-- fragment -->
1448</div>
1449</div>
1450<a id="ad45f359d9d4bee360bee857faa79d292"></a>
1451<h2 class="memtitle"><span class="permalink"><a href="#ad45f359d9d4bee360bee857faa79d292">&#9670;&nbsp;</a></span>SimpleConvolution2d3x3Uint8Test()</h2>
1452
1453<div class="memitem">
1454<div class="memproto">
1455 <table class="memname">
1456 <tr>
1457 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;uint8_t, 4&gt; SimpleConvolution2d3x3Uint8Test </td>
1458 <td>(</td>
1459 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
1460 <td class="paramname"><em>workloadFactory</em>, </td>
1461 </tr>
1462 <tr>
1463 <td class="paramkey"></td>
1464 <td></td>
1465 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
1466 <td class="paramname"><em>memoryManager</em>, </td>
1467 </tr>
1468 <tr>
1469 <td class="paramkey"></td>
1470 <td></td>
1471 <td class="paramtype">bool&#160;</td>
1472 <td class="paramname"><em>biasEnabled</em>, </td>
1473 </tr>
1474 <tr>
1475 <td class="paramkey"></td>
1476 <td></td>
1477 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
1478 <td class="paramname"><em>layout</em>&#160;</td>
1479 </tr>
1480 <tr>
1481 <td></td>
1482 <td>)</td>
1483 <td></td><td></td>
1484 </tr>
1485 </table>
1486</div><div class="memdoc">
1487
1488<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l02977">2977</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1489<div class="fragment"><div class="line"><a name="l02982"></a><span class="lineno"> 2982</span>&#160;{</div><div class="line"><a name="l02983"></a><span class="lineno"> 2983</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2d3x3TestCommon&lt;armnn::DataType::QAsymmU8, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l02984"></a><span class="lineno"> 2984</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l02985"></a><span class="lineno"> 2985</span>&#160;}</div></div><!-- fragment -->
1490</div>
1491</div>
1492<a id="a9dcd2fb98f5c3284c74f65a7c7a69da1"></a>
1493<h2 class="memtitle"><span class="permalink"><a href="#a9dcd2fb98f5c3284c74f65a7c7a69da1">&#9670;&nbsp;</a></span>SimpleConvolution2d3x5QSymm16Test()</h2>
1494
1495<div class="memitem">
1496<div class="memproto">
1497 <table class="memname">
1498 <tr>
1499 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;int16_t, 4&gt; SimpleConvolution2d3x5QSymm16Test </td>
1500 <td>(</td>
1501 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
1502 <td class="paramname"><em>workloadFactory</em>, </td>
1503 </tr>
1504 <tr>
1505 <td class="paramkey"></td>
1506 <td></td>
1507 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
1508 <td class="paramname"><em>memoryManager</em>, </td>
1509 </tr>
1510 <tr>
1511 <td class="paramkey"></td>
1512 <td></td>
1513 <td class="paramtype">bool&#160;</td>
1514 <td class="paramname"><em>biasEnabled</em>, </td>
1515 </tr>
1516 <tr>
1517 <td class="paramkey"></td>
1518 <td></td>
1519 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
1520 <td class="paramname"><em>layout</em>&#160;</td>
1521 </tr>
1522 <tr>
1523 <td></td>
1524 <td>)</td>
1525 <td></td><td></td>
1526 </tr>
1527 </table>
1528</div><div class="memdoc">
1529
1530<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l02987">2987</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1531<div class="fragment"><div class="line"><a name="l02992"></a><span class="lineno"> 2992</span>&#160;{</div><div class="line"><a name="l02993"></a><span class="lineno"> 2993</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2d3x5TestCommon&lt;armnn::DataType::QSymmS16, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l02994"></a><span class="lineno"> 2994</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l02995"></a><span class="lineno"> 2995</span>&#160;}</div></div><!-- fragment -->
1532</div>
1533</div>
1534<a id="afb5e7d86e241292d9cb899b960da54af"></a>
1535<h2 class="memtitle"><span class="permalink"><a href="#afb5e7d86e241292d9cb899b960da54af">&#9670;&nbsp;</a></span>SimpleConvolution2d3x5Test()</h2>
1536
1537<div class="memitem">
1538<div class="memproto">
1539 <table class="memname">
1540 <tr>
1541 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;float, 4&gt; SimpleConvolution2d3x5Test </td>
1542 <td>(</td>
1543 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
1544 <td class="paramname"><em>workloadFactory</em>, </td>
1545 </tr>
1546 <tr>
1547 <td class="paramkey"></td>
1548 <td></td>
1549 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
1550 <td class="paramname"><em>memoryManager</em>, </td>
1551 </tr>
1552 <tr>
1553 <td class="paramkey"></td>
1554 <td></td>
1555 <td class="paramtype">bool&#160;</td>
1556 <td class="paramname"><em>biasEnabled</em>, </td>
1557 </tr>
1558 <tr>
1559 <td class="paramkey"></td>
1560 <td></td>
1561 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
1562 <td class="paramname"><em>layout</em>&#160;</td>
1563 </tr>
1564 <tr>
1565 <td></td>
1566 <td>)</td>
1567 <td></td><td></td>
1568 </tr>
1569 </table>
1570</div><div class="memdoc">
1571
1572<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l02918">2918</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1573<div class="fragment"><div class="line"><a name="l02923"></a><span class="lineno"> 2923</span>&#160;{</div><div class="line"><a name="l02924"></a><span class="lineno"> 2924</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2d3x5TestCommon&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l02925"></a><span class="lineno"> 2925</span>&#160; workloadFactory, memoryManager, 0.f, 0, biasEnabled, layout);</div><div class="line"><a name="l02926"></a><span class="lineno"> 2926</span>&#160;}</div></div><!-- fragment -->
1574</div>
1575</div>
1576<a id="a8ffca1c4b38a68b10ba06f4f1416660f"></a>
1577<h2 class="memtitle"><span class="permalink"><a href="#a8ffca1c4b38a68b10ba06f4f1416660f">&#9670;&nbsp;</a></span>SimpleConvolution2d3x5Uint8Test()</h2>
1578
1579<div class="memitem">
1580<div class="memproto">
1581 <table class="memname">
1582 <tr>
1583 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;uint8_t, 4&gt; SimpleConvolution2d3x5Uint8Test </td>
1584 <td>(</td>
1585 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
1586 <td class="paramname"><em>workloadFactory</em>, </td>
1587 </tr>
1588 <tr>
1589 <td class="paramkey"></td>
1590 <td></td>
1591 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
1592 <td class="paramname"><em>memoryManager</em>, </td>
1593 </tr>
1594 <tr>
1595 <td class="paramkey"></td>
1596 <td></td>
1597 <td class="paramtype">bool&#160;</td>
1598 <td class="paramname"><em>biasEnabled</em>, </td>
1599 </tr>
1600 <tr>
1601 <td class="paramkey"></td>
1602 <td></td>
1603 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
1604 <td class="paramname"><em>layout</em>&#160;</td>
1605 </tr>
1606 <tr>
1607 <td></td>
1608 <td>)</td>
1609 <td></td><td></td>
1610 </tr>
1611 </table>
1612</div><div class="memdoc">
1613
1614<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l02928">2928</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1615<div class="fragment"><div class="line"><a name="l02933"></a><span class="lineno"> 2933</span>&#160;{</div><div class="line"><a name="l02934"></a><span class="lineno"> 2934</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2d3x5TestCommon&lt;armnn::DataType::QAsymmU8, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l02935"></a><span class="lineno"> 2935</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l02936"></a><span class="lineno"> 2936</span>&#160;}</div></div><!-- fragment -->
1616</div>
1617</div>
1618<a id="a77a29527216d36bce78e88354462ede8"></a>
1619<h2 class="memtitle"><span class="permalink"><a href="#a77a29527216d36bce78e88354462ede8">&#9670;&nbsp;</a></span>SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTest()</h2>
1620
1621<div class="memitem">
1622<div class="memproto">
1623 <table class="memname">
1624 <tr>
1625 <td class="memname"><a class="el" href="struct_layer_test_result.html">LayerTestResult</a>&lt;float, 4&gt; SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTest </td>
1626 <td>(</td>
1627 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a> &amp;&#160;</td>
1628 <td class="paramname"><em>workloadFactory</em>, </td>
1629 </tr>
1630 <tr>
1631 <td class="paramkey"></td>
1632 <td></td>
1633 <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.html#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
1634 <td class="paramname"><em>memoryManager</em>&#160;</td>
1635 </tr>
1636 <tr>
1637 <td></td>
1638 <td>)</td>
1639 <td></td><td></td>
1640 </tr>
1641 </table>
1642</div><div class="memdoc">
1643
1644<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.html#l03236">3236</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.html">Conv2dTestImpl.cpp</a>.</p>
1645<div class="fragment"><div class="line"><a name="l03239"></a><span class="lineno"> 3239</span>&#160;{</div><div class="line"><a name="l03240"></a><span class="lineno"> 3240</span>&#160; <span class="keywordflow">return</span> SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTestCommon&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03241"></a><span class="lineno"> 3241</span>&#160; workloadFactory,</div><div class="line"><a name="l03242"></a><span class="lineno"> 3242</span>&#160; memoryManager,</div><div class="line"><a name="l03243"></a><span class="lineno"> 3243</span>&#160; 0.f,</div><div class="line"><a name="l03244"></a><span class="lineno"> 3244</span>&#160; 0,</div><div class="line"><a name="l03245"></a><span class="lineno"> 3245</span>&#160; <span class="keyword">false</span>);</div><div class="line"><a name="l03246"></a><span class="lineno"> 3246</span>&#160;}</div></div><!-- fragment -->
1646</div>
1647</div>
1648</div><!-- contents -->
1649</div><!-- doc-content -->
1650<!-- start footer part -->
1651<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1652 <ul>
1653 <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_0f3cdec46afbc61a1ded8e1687c9c9a0.html">backends</a></li><li class="navelem"><a class="el" href="dir_797a213d7d01b98ef12d53b0820ea64e.html">backendsCommon</a></li><li class="navelem"><a class="el" href="dir_28bfe507f7e135bdae07c2a6b7f66696.html">test</a></li><li class="navelem"><a class="el" href="dir_99a30439342d160875b21dac3498ad7f.html">layerTests</a></li><li class="navelem"><a class="el" href="_conv2d_test_impl_8hpp.html">Conv2dTestImpl.hpp</a></li>
1654 <li class="footer">Generated on Fri Mar 13 2020 16:07:00 for ArmNN by
1655 <a href="http://www.doxygen.org/index.html">
1656 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
1657 </ul>
1658</div>
1659</body>
1660</html>