aboutsummaryrefslogtreecommitdiff
path: root/20.02/_conv2d_test_impl_8hpp.xhtml
diff options
context:
space:
mode:
Diffstat (limited to '20.02/_conv2d_test_impl_8hpp.xhtml')
-rw-r--r--20.02/_conv2d_test_impl_8hpp.xhtml1674
1 files changed, 1674 insertions, 0 deletions
diff --git a/20.02/_conv2d_test_impl_8hpp.xhtml b/20.02/_conv2d_test_impl_8hpp.xhtml
new file mode 100644
index 0000000000..251ee0ce60
--- /dev/null
+++ b/20.02/_conv2d_test_impl_8hpp.xhtml
@@ -0,0 +1,1674 @@
+<!-- Copyright (c) 2020 ARM Limited. -->
+<!-- -->
+<!-- SPDX-License-Identifier: MIT -->
+<!-- -->
+<!-- HTML header for doxygen 1.8.13-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="robots" content="NOINDEX, NOFOLLOW" />
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>ArmNN: src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ extensions: ["tex2jax.js"],
+ jax: ["input/TeX","output/HTML-CSS"],
+});
+</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">
+ &#160;<span id="projectnumber">20.02</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('_conv2d_test_impl_8hpp.xhtml','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Conv2dTestImpl.hpp File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="_layer_test_result_8hpp_source.xhtml">LayerTestResult.hpp</a>&quot;</code><br />
+<code>#include &lt;<a class="el" href="_resolve_type_8hpp_source.xhtml">ResolveType.hpp</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="_types_8hpp_source.xhtml">armnn/Types.hpp</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="include_2armnn_2backends_2_i_backend_internal_8hpp_source.xhtml">armnn/backends/IBackendInternal.hpp</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="_workload_factory_8hpp_source.xhtml">backendsCommon/WorkloadFactory.hpp</a>&gt;</code><br />
+</div>
+<p><a href="_conv2d_test_impl_8hpp_source.xhtml">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<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>
+<tr class="memitem:a90abce368d7f16012bef5ee461329484"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a90abce368d7f16012bef5ee461329484">Convolution2d3x3Dilation3x3Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a90abce368d7f16012bef5ee461329484"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<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>
+<tr class="memitem:a99ef3f48cbd057e0169bc80dc77331ef"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a99ef3f48cbd057e0169bc80dc77331ef">Convolution2d2x3x3Dilation3x3Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a99ef3f48cbd057e0169bc80dc77331ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<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>
+<tr class="memitem:acf553288e3b5060768fb91e064993678"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#acf553288e3b5060768fb91e064993678">Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:acf553288e3b5060768fb91e064993678"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb5e7d86e241292d9cb899b960da54af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#afb5e7d86e241292d9cb899b960da54af">SimpleConvolution2d3x5Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:afb5e7d86e241292d9cb899b960da54af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbe1a2adccd9e0aad14fc0ccb9266b0d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#acbe1a2adccd9e0aad14fc0ccb9266b0d">SimpleConvolution2d3x3Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:acbe1a2adccd9e0aad14fc0ccb9266b0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af4ac6874d18e1cb59873a17073512873"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#af4ac6874d18e1cb59873a17073512873">SimpleConvolution2d3x3Stride2x2Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:af4ac6874d18e1cb59873a17073512873"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7bae01fdca8edac70cc9bc722426b17"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#ac7bae01fdca8edac70cc9bc722426b17">SimpleConvolution2d3x3NhwcTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled)</td></tr>
+<tr class="separator:ac7bae01fdca8edac70cc9bc722426b17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ffca1c4b38a68b10ba06f4f1416660f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a8ffca1c4b38a68b10ba06f4f1416660f">SimpleConvolution2d3x5Uint8Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a8ffca1c4b38a68b10ba06f4f1416660f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad45f359d9d4bee360bee857faa79d292"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#ad45f359d9d4bee360bee857faa79d292">SimpleConvolution2d3x3Uint8Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:ad45f359d9d4bee360bee857faa79d292"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9dcd2fb98f5c3284c74f65a7c7a69da1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; int16_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a9dcd2fb98f5c3284c74f65a7c7a69da1">SimpleConvolution2d3x5QSymm16Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a9dcd2fb98f5c3284c74f65a7c7a69da1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abac8f73ae590a93fe91115371ae4ced3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; int16_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#abac8f73ae590a93fe91115371ae4ced3">SimpleConvolution2d3x3QSymm16Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:abac8f73ae590a93fe91115371ae4ced3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a48884a37a6b783185c608a68cfce752f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a48884a37a6b783185c608a68cfce752f">Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a48884a37a6b783185c608a68cfce752f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af7f2cd23423130ebdd916de12bc0eb1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#af7f2cd23423130ebdd916de12bc0eb1d">Convolution2dAsymmetricPaddingTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:af7f2cd23423130ebdd916de12bc0eb1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7fac5767dabd650d3d8829572717064"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#ac7fac5767dabd650d3d8829572717064">Convolution1dTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled)</td></tr>
+<tr class="separator:ac7fac5767dabd650d3d8829572717064"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a40bc412ed2a6d2f764655070c02c036b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a40bc412ed2a6d2f764655070c02c036b">Convolution1dUint8Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled)</td></tr>
+<tr class="separator:a40bc412ed2a6d2f764655070c02c036b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15fe73bad57133008945807f7a5b4783"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a15fe73bad57133008945807f7a5b4783">CompareConvolution2dTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, <a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;refWorkloadFactory)</td></tr>
+<tr class="separator:a15fe73bad57133008945807f7a5b4783"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a370a5216668b507284677234264a22a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a370a5216668b507284677234264a22a2">Convolution2dPerAxisQuantTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a370a5216668b507284677234264a22a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<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>
+<tr class="memitem:a1c3398bdb48e4ce4643a1eeaf3e054a3"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a1c3398bdb48e4ce4643a1eeaf3e054a3">DepthwiseConvolution2d3x3Dilation3x3Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a1c3398bdb48e4ce4643a1eeaf3e054a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<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>
+<tr class="memitem:acffa50ae3185e3e5302909f27e7e9a02"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#acffa50ae3185e3e5302909f27e7e9a02">DepthwiseConvolution2d2x3x3Dilation3x3Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:acffa50ae3185e3e5302909f27e7e9a02"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<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>
+<tr class="memitem:a0da6534b3a5d2f923dcd73553950129a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a0da6534b3a5d2f923dcd73553950129a">DepthwiseConvolution2dMult4Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a0da6534b3a5d2f923dcd73553950129a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<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>
+<tr class="memitem:aaed50a372a6b59b20e38469856a3ce6b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#aaed50a372a6b59b20e38469856a3ce6b">DepthwiseConvolution2dMult2Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:aaed50a372a6b59b20e38469856a3ce6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12fec2055d0e4a18d1e0db589a969e41"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a12fec2055d0e4a18d1e0db589a969e41"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; T, 4 &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a12fec2055d0e4a18d1e0db589a969e41">CompareDepthwiseConvolution2dTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, <a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;refWorkloadFactory, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a12fec2055d0e4a18d1e0db589a969e41"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11fbd94028ab646528b42d0c8c55eee1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a11fbd94028ab646528b42d0c8c55eee1">DepthwiseConvolution2dTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a11fbd94028ab646528b42d0c8c55eee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0cccb5cffee89004bc8d9fb309ed6636"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a0cccb5cffee89004bc8d9fb309ed6636">DepthwiseConvolution2dDepthNhwcTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled)</td></tr>
+<tr class="separator:a0cccb5cffee89004bc8d9fb309ed6636"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b32d950a40903f502f5e1ec0dcab0bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a8b32d950a40903f502f5e1ec0dcab0bd">DepthwiseConvolution2dDepthMul1Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a8b32d950a40903f502f5e1ec0dcab0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab020b4a99bf905b61a1c5e03332b63a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#ab020b4a99bf905b61a1c5e03332b63a6">DepthwiseConvolution2dDepthMul64Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager)</td></tr>
+<tr class="separator:ab020b4a99bf905b61a1c5e03332b63a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf326cbf49ec19c6272fe7c244b7817c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#abf326cbf49ec19c6272fe7c244b7817c">DepthwiseConvolution2dAsymmetricTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:abf326cbf49ec19c6272fe7c244b7817c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77a29527216d36bce78e88354462ede8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a77a29527216d36bce78e88354462ede8">SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager)</td></tr>
+<tr class="separator:a77a29527216d36bce78e88354462ede8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8076c31bd6e9eae629994a89a5fa18c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a8076c31bd6e9eae629994a89a5fa18c3">DepthwiseConvolution2dUint8Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a8076c31bd6e9eae629994a89a5fa18c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae797be34b659db2afe183f0c762fb9b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#ae797be34b659db2afe183f0c762fb9b7">DepthwiseConvolution2dDepthMul1Uint8Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:ae797be34b659db2afe183f0c762fb9b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ae97c2dd6621f4972c571cf1ec2a005"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; int16_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a2ae97c2dd6621f4972c571cf1ec2a005">DepthwiseConvolution2dInt16Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a2ae97c2dd6621f4972c571cf1ec2a005"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74346a72d64f7fa3463473424c3098ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; int16_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a74346a72d64f7fa3463473424c3098ab">DepthwiseConvolution2dDepthMul1Int16Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, bool biasEnabled, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a74346a72d64f7fa3463473424c3098ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8a51827c480f827c1e29f9347d7433c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a8a51827c480f827c1e29f9347d7433c3">DepthwiseConvolution2dPerAxisQuantTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a8a51827c480f827c1e29f9347d7433c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a09705f5e38cfc0d5bccc64791eb4f231"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; float, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a09705f5e38cfc0d5bccc64791eb4f231">CompareDepthwiseConvolution2dFloatTest</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, <a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;refWorkloadFactory, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a09705f5e38cfc0d5bccc64791eb4f231"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a21af5850bca4df2ea0315afb407e7900"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; uint8_t, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_conv2d_test_impl_8hpp.xhtml#a21af5850bca4df2ea0315afb407e7900">CompareDepthwiseConvolution2dUint8Test</a> (<a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;workloadFactory, const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;memoryManager, <a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;refWorkloadFactory, const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a> layout)</td></tr>
+<tr class="separator:a21af5850bca4df2ea0315afb407e7900"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a15fe73bad57133008945807f7a5b4783"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a15fe73bad57133008945807f7a5b4783">&#9670;&nbsp;</a></span>CompareConvolution2dTest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;float, 4&gt; CompareConvolution2dTest </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>refWorkloadFactory</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03184">3184</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l03188"></a><span class="lineno"> 3188</span>&#160;{</div><div class="line"><a name="l03189"></a><span class="lineno"> 3189</span>&#160; <span class="keywordflow">return</span> CompareConvolution2dTestImpl&lt;armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03190"></a><span class="lineno"> 3190</span>&#160; workloadFactory, memoryManager, refWorkloadFactory);</div><div class="line"><a name="l03191"></a><span class="lineno"> 3191</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a09705f5e38cfc0d5bccc64791eb4f231"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a09705f5e38cfc0d5bccc64791eb4f231">&#9670;&nbsp;</a></span>CompareDepthwiseConvolution2dFloatTest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;float, 4&gt; CompareDepthwiseConvolution2dFloatTest </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>refWorkloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03424">3424</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l03429"></a><span class="lineno"> 3429</span>&#160;{</div><div class="line"><a name="l03430"></a><span class="lineno"> 3430</span>&#160; <span class="keywordflow">return</span> CompareDepthwiseConvolution2dTestImpl&lt;armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03431"></a><span class="lineno"> 3431</span>&#160; workloadFactory, memoryManager, refWorkloadFactory, layout);</div><div class="line"><a name="l03432"></a><span class="lineno"> 3432</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a12fec2055d0e4a18d1e0db589a969e41"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a12fec2055d0e4a18d1e0db589a969e41">&#9670;&nbsp;</a></span>CompareDepthwiseConvolution2dTest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;T, 4&gt; CompareDepthwiseConvolution2dTest </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>refWorkloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a21af5850bca4df2ea0315afb407e7900"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a21af5850bca4df2ea0315afb407e7900">&#9670;&nbsp;</a></span>CompareDepthwiseConvolution2dUint8Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;uint8_t, 4&gt; CompareDepthwiseConvolution2dUint8Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>refWorkloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03434">3434</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l03439"></a><span class="lineno"> 3439</span>&#160;{</div><div class="line"><a name="l03440"></a><span class="lineno"> 3440</span>&#160; <span class="keywordflow">return</span> CompareDepthwiseConvolution2dTestImpl&lt;armnn::DataType::QAsymmU8&gt;(</div><div class="line"><a name="l03441"></a><span class="lineno"> 3441</span>&#160; workloadFactory, memoryManager, refWorkloadFactory, layout);</div><div class="line"><a name="l03442"></a><span class="lineno"> 3442</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="ac7fac5767dabd650d3d8829572717064"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac7fac5767dabd650d3d8829572717064">&#9670;&nbsp;</a></span>Convolution1dTest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;float, 4&gt; Convolution1dTest </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03074">3074</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l03078"></a><span class="lineno"> 3078</span>&#160;{</div><div class="line"><a name="l03079"></a><span class="lineno"> 3079</span>&#160; <span class="keywordflow">return</span> Convolution1dTestImpl&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03080"></a><span class="lineno"> 3080</span>&#160; workloadFactory, memoryManager, 0.0f, 0, biasEnabled);</div><div class="line"><a name="l03081"></a><span class="lineno"> 3081</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a40bc412ed2a6d2f764655070c02c036b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a40bc412ed2a6d2f764655070c02c036b">&#9670;&nbsp;</a></span>Convolution1dUint8Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;uint8_t, 4&gt; Convolution1dUint8Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03083">3083</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><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; <span class="keywordflow">return</span> Convolution1dTestImpl&lt;armnn::DataType::QAsymmU8, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l03089"></a><span class="lineno"> 3089</span>&#160; workloadFactory, memoryManager, 0.1f, 128, biasEnabled);</div><div class="line"><a name="l03090"></a><span class="lineno"> 3090</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="acf553288e3b5060768fb91e064993678"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acf553288e3b5060768fb91e064993678">&#9670;&nbsp;</a></span>Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;T, 4&gt; Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l01210">1210</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<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.xhtml">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.xhtml">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.xhtml">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_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00053">Tensor.hpp:53</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a99ef3f48cbd057e0169bc80dc77331ef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a99ef3f48cbd057e0169bc80dc77331ef">&#9670;&nbsp;</a></span>Convolution2d2x3x3Dilation3x3Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;T, 4&gt; Convolution2d2x3x3Dilation3x3Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l01139">1139</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<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.xhtml">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.xhtml">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.xhtml">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_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00053">Tensor.hpp:53</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a90abce368d7f16012bef5ee461329484"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a90abce368d7f16012bef5ee461329484">&#9670;&nbsp;</a></span>Convolution2d3x3Dilation3x3Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;T, 4&gt; Convolution2d3x3Dilation3x3Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l01083">1083</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<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.xhtml">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.xhtml">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.xhtml">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_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00053">Tensor.hpp:53</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a48884a37a6b783185c608a68cfce752f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a48884a37a6b783185c608a68cfce752f">&#9670;&nbsp;</a></span>Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;float, 4&gt; Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTest </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03064">3064</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l00869">Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTestCommon()</a>, and <a class="el" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::Float32</a>.</p>
+<div class="fragment"><div class="line"><a name="l03068"></a><span class="lineno"> 3068</span>&#160;{</div><div class="line"><a name="l03069"></a><span class="lineno"> 3069</span>&#160; <span class="keywordflow">return</span> <a class="code" href="_conv2d_test_impl_8cpp.xhtml#a35ad1225c524b4594b461e613695ee4a">Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTestCommon</a></div><div class="line"><a name="l03070"></a><span class="lineno"> 3070</span>&#160; &lt;<a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a>, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03071"></a><span class="lineno"> 3071</span>&#160; workloadFactory, memoryManager, layout, 0.0f, 0);</div><div class="line"><a name="l03072"></a><span class="lineno"> 3072</span>&#160;}</div><div class="ttc" id="_conv2d_test_impl_8cpp_xhtml_a35ad1225c524b4594b461e613695ee4a"><div class="ttname"><a href="_conv2d_test_impl_8cpp.xhtml#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.xhtml#l00869">Conv2dTestImpl.cpp:869</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="af7f2cd23423130ebdd916de12bc0eb1d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af7f2cd23423130ebdd916de12bc0eb1d">&#9670;&nbsp;</a></span>Convolution2dAsymmetricPaddingTest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;float, 4&gt; Convolution2dAsymmetricPaddingTest </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03055">3055</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l03059"></a><span class="lineno"> 3059</span>&#160;{</div><div class="line"><a name="l03060"></a><span class="lineno"> 3060</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2dAsymmetricPaddingTestCommon&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03061"></a><span class="lineno"> 3061</span>&#160; workloadFactory, memoryManager, layout, 0.0f, 0);</div><div class="line"><a name="l03062"></a><span class="lineno"> 3062</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a370a5216668b507284677234264a22a2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a370a5216668b507284677234264a22a2">&#9670;&nbsp;</a></span>Convolution2dPerAxisQuantTest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;uint8_t, 4&gt; Convolution2dPerAxisQuantTest </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03092">3092</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="_tensor_copy_utils_8cpp_source.xhtml#l00019">AllocateAndCopyDataToITensorHandle()</a>, <a class="el" href="_tensor_copy_utils_8cpp_source.xhtml#l00014">CopyDataFromITensorHandle()</a>, <a class="el" href="_tensor_copy_utils_8cpp_source.xhtml#l00009">CopyDataToITensorHandle()</a>, <a class="el" href="_workload_factory_8cpp_source.xhtml#l01159">IWorkloadFactory::CreateConvolution2d()</a>, <a class="el" href="classarmnn_1_1_i_workload_factory.xhtml#a15c140be4ddceffee16436f009d3ed94">IWorkloadFactory::CreateTensorHandle()</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00438">Convolution2dDescriptor::m_BiasEnabled</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00440">Convolution2dDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00428">Convolution2dDescriptor::m_PadBottom</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00422">Convolution2dDescriptor::m_PadLeft</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00424">Convolution2dDescriptor::m_PadRight</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00426">Convolution2dDescriptor::m_PadTop</a>, <a class="el" href="_workload_data_8hpp_source.xhtml#l00049">QueueDescriptorWithParameters&lt; LayerDescriptor &gt;::m_Parameters</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00430">Convolution2dDescriptor::m_StrideX</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00432">Convolution2dDescriptor::m_StrideY</a>, <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::NCHW</a>, <a class="el" href="_layer_test_result_8hpp_source.xhtml#l00040">LayerTestResult&lt; T, n &gt;::output</a>, <a class="el" href="_layer_test_result_8hpp_source.xhtml#l00041">LayerTestResult&lt; T, n &gt;::outputExpected</a>, and <a class="el" href="_data_layout_utils_8hpp_source.xhtml#l00026">PermuteTensorNhwcToNchw()</a>.</p>
+<div class="fragment"><div class="line"><a name="l03096"></a><span class="lineno"> 3096</span>&#160;{</div><div class="line"><a name="l03097"></a><span class="lineno"> 3097</span>&#160; <span class="keyword">using namespace </span><a class="code" href="namespacearmnn.xhtml">armnn</a>;</div><div class="line"><a name="l03098"></a><span class="lineno"> 3098</span>&#160;</div><div class="line"><a name="l03099"></a><span class="lineno"> 3099</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> inputType = <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>;</div><div class="line"><a name="l03100"></a><span class="lineno"> 3100</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> kernelType = <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>;</div><div class="line"><a name="l03101"></a><span class="lineno"> 3101</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> biasType = <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a>;</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; <a class="code" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> inputInfo ({ 1, 3, 1, 2 }, inputType, 0.5f, 128);</div><div class="line"><a name="l03104"></a><span class="lineno"> 3104</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> outputInfo({ 1, 3, 1, 3 }, inputType, 1.0f, 128);</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; <span class="keyword">const</span> std::vector&lt;float&gt; quantScales{ 0.5f, 0.75f, 1.0f };</div><div class="line"><a name="l03107"></a><span class="lineno"> 3107</span>&#160; constexpr <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> quantDimension = 0;</div><div class="line"><a name="l03108"></a><span class="lineno"> 3108</span>&#160;</div><div class="line"><a name="l03109"></a><span class="lineno"> 3109</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> kernelInfo({ 3, 1, 1, 2 }, kernelType, quantScales, quantDimension);</div><div class="line"><a name="l03110"></a><span class="lineno"> 3110</span>&#160;</div><div class="line"><a name="l03111"></a><span class="lineno"> 3111</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="l03112"></a><span class="lineno"> 3112</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> biasInfo({ 3 }, biasType, biasQuantScales, quantDimension);</div><div class="line"><a name="l03113"></a><span class="lineno"> 3113</span>&#160;</div><div class="line"><a name="l03114"></a><span class="lineno"> 3114</span>&#160; std::vector&lt;uint8_t&gt; inputData =</div><div class="line"><a name="l03115"></a><span class="lineno"> 3115</span>&#160; {</div><div class="line"><a name="l03116"></a><span class="lineno"> 3116</span>&#160; 138, 108, 138, 108, 138, 108</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;</div><div class="line"><a name="l03119"></a><span class="lineno"> 3119</span>&#160; std::vector&lt;int8_t&gt; kernelData =</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; 1, 2, 1, 2, 1, 2</div><div class="line"><a name="l03122"></a><span class="lineno"> 3122</span>&#160; };</div><div class="line"><a name="l03123"></a><span class="lineno"> 3123</span>&#160;</div><div class="line"><a name="l03124"></a><span class="lineno"> 3124</span>&#160; std::vector&lt;int32_t&gt; biasData =</div><div class="line"><a name="l03125"></a><span class="lineno"> 3125</span>&#160; {</div><div class="line"><a name="l03126"></a><span class="lineno"> 3126</span>&#160; 4, 4, 4</div><div class="line"><a name="l03127"></a><span class="lineno"> 3127</span>&#160; };</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; std::vector&lt;uint8_t&gt; expectedOutputData =</div><div class="line"><a name="l03130"></a><span class="lineno"> 3130</span>&#160; {</div><div class="line"><a name="l03131"></a><span class="lineno"> 3131</span>&#160; 121, 118, 115, 121, 118, 115, 121, 118, 115</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;</div><div class="line"><a name="l03134"></a><span class="lineno"> 3134</span>&#160; <span class="keywordflow">if</span> (layout == <a class="code" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a>)</div><div class="line"><a name="l03135"></a><span class="lineno"> 3135</span>&#160; {</div><div class="line"><a name="l03136"></a><span class="lineno"> 3136</span>&#160; <a class="code" href="_data_layout_utils_8hpp.xhtml#a1452f049aef30409b3b649af2be7ff82">PermuteTensorNhwcToNchw</a>(inputInfo, inputData);</div><div class="line"><a name="l03137"></a><span class="lineno"> 3137</span>&#160; <a class="code" href="_data_layout_utils_8hpp.xhtml#a1452f049aef30409b3b649af2be7ff82">PermuteTensorNhwcToNchw</a>(kernelInfo, kernelData);</div><div class="line"><a name="l03138"></a><span class="lineno"> 3138</span>&#160; <a class="code" href="_data_layout_utils_8hpp.xhtml#a1452f049aef30409b3b649af2be7ff82">PermuteTensorNhwcToNchw</a>(outputInfo, expectedOutputData);</div><div class="line"><a name="l03139"></a><span class="lineno"> 3139</span>&#160; }</div><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; <a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml">Convolution2dDescriptor</a> descriptor;</div><div class="line"><a name="l03142"></a><span class="lineno"> 3142</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml#afe6a3377c4531315354def9023c8fdda">m_StrideX</a> = 1;</div><div class="line"><a name="l03143"></a><span class="lineno"> 3143</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml#ac1fe174bbadfb39a2b636940c2e647c8">m_StrideY</a> = 1;</div><div class="line"><a name="l03144"></a><span class="lineno"> 3144</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml#ac18546ebbebbb32fe0a03baa9bf2c600">m_PadLeft</a> = 0;</div><div class="line"><a name="l03145"></a><span class="lineno"> 3145</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml#a002bc30e590d78cbb4f4d12171055ca7">m_PadRight</a> = 0;</div><div class="line"><a name="l03146"></a><span class="lineno"> 3146</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml#a56b51f56cef50cdfa554258eecdab046">m_PadTop</a> = 0;</div><div class="line"><a name="l03147"></a><span class="lineno"> 3147</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml#aa9e49717ebdb741e8c767741647fc618">m_PadBottom</a> = 0;</div><div class="line"><a name="l03148"></a><span class="lineno"> 3148</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml#aea202e14d8874cefd9a0f778022b7e25">m_BiasEnabled</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l03149"></a><span class="lineno"> 3149</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml#a6089e1ca91914015777ea780a513131a">m_DataLayout</a> = layout;</div><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; std::unique_ptr&lt;ITensorHandle&gt; inputHandle = workloadFactory.<a class="code" href="classarmnn_1_1_i_workload_factory.xhtml#a15c140be4ddceffee16436f009d3ed94">CreateTensorHandle</a>(inputInfo);</div><div class="line"><a name="l03152"></a><span class="lineno"> 3152</span>&#160; std::unique_ptr&lt;ITensorHandle&gt; outputHandle = workloadFactory.<a class="code" href="classarmnn_1_1_i_workload_factory.xhtml#a15c140be4ddceffee16436f009d3ed94">CreateTensorHandle</a>(outputInfo);</div><div class="line"><a name="l03153"></a><span class="lineno"> 3153</span>&#160;</div><div class="line"><a name="l03154"></a><span class="lineno"> 3154</span>&#160; <a class="code" href="structarmnn_1_1_workload_info.xhtml">WorkloadInfo</a> workloadInfo;</div><div class="line"><a name="l03155"></a><span class="lineno"> 3155</span>&#160; <a class="code" href="classarmnn_1_1_scoped_cpu_tensor_handle.xhtml">ScopedCpuTensorHandle</a> weightTensor(kernelInfo);</div><div class="line"><a name="l03156"></a><span class="lineno"> 3156</span>&#160; <a class="code" href="classarmnn_1_1_scoped_cpu_tensor_handle.xhtml">ScopedCpuTensorHandle</a> biasTensor(biasInfo);</div><div class="line"><a name="l03157"></a><span class="lineno"> 3157</span>&#160;</div><div class="line"><a name="l03158"></a><span class="lineno"> 3158</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.xhtml#afaaca8c3f3a467d124bba44067d2afa8">AllocateAndCopyDataToITensorHandle</a>(&amp;weightTensor, kernelData.data());</div><div class="line"><a name="l03159"></a><span class="lineno"> 3159</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.xhtml#afaaca8c3f3a467d124bba44067d2afa8">AllocateAndCopyDataToITensorHandle</a>(&amp;biasTensor, biasData.data());</div><div class="line"><a name="l03160"></a><span class="lineno"> 3160</span>&#160;</div><div class="line"><a name="l03161"></a><span class="lineno"> 3161</span>&#160; <a class="code" href="structarmnn_1_1_convolution2d_queue_descriptor.xhtml">Convolution2dQueueDescriptor</a> queueDescriptor;</div><div class="line"><a name="l03162"></a><span class="lineno"> 3162</span>&#160; queueDescriptor.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a> = descriptor;</div><div class="line"><a name="l03163"></a><span class="lineno"> 3163</span>&#160; queueDescriptor.m_Weight = &amp;weightTensor;</div><div class="line"><a name="l03164"></a><span class="lineno"> 3164</span>&#160; queueDescriptor.m_Bias = &amp;biasTensor;</div><div class="line"><a name="l03165"></a><span class="lineno"> 3165</span>&#160;</div><div class="line"><a name="l03166"></a><span class="lineno"> 3166</span>&#160; AddInputToWorkload(queueDescriptor, workloadInfo, inputInfo, inputHandle.get());</div><div class="line"><a name="l03167"></a><span class="lineno"> 3167</span>&#160; AddOutputToWorkload(queueDescriptor, workloadInfo, outputInfo, outputHandle.get());</div><div class="line"><a name="l03168"></a><span class="lineno"> 3168</span>&#160;</div><div class="line"><a name="l03169"></a><span class="lineno"> 3169</span>&#160; std::unique_ptr&lt;IWorkload&gt; workload = workloadFactory.<a class="code" href="classarmnn_1_1_i_workload_factory.xhtml#a2184995027cd2c9f9980206de9658855">CreateConvolution2d</a>(queueDescriptor, workloadInfo);</div><div class="line"><a name="l03170"></a><span class="lineno"> 3170</span>&#160; inputHandle-&gt;Allocate();</div><div class="line"><a name="l03171"></a><span class="lineno"> 3171</span>&#160; outputHandle-&gt;Allocate();</div><div class="line"><a name="l03172"></a><span class="lineno"> 3172</span>&#160;</div><div class="line"><a name="l03173"></a><span class="lineno"> 3173</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.xhtml#ae15f1a3c55d2db87683577de9fa4437c">CopyDataToITensorHandle</a>(inputHandle.get(), inputData.data());</div><div class="line"><a name="l03174"></a><span class="lineno"> 3174</span>&#160;</div><div class="line"><a name="l03175"></a><span class="lineno"> 3175</span>&#160; ExecuteWorkload(*workload, memoryManager);</div><div class="line"><a name="l03176"></a><span class="lineno"> 3176</span>&#160;</div><div class="line"><a name="l03177"></a><span class="lineno"> 3177</span>&#160; <a class="code" href="struct_layer_test_result.xhtml">LayerTestResult&lt;uint8_t, 4&gt;</a> ret(outputInfo);</div><div class="line"><a name="l03178"></a><span class="lineno"> 3178</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.xhtml#a99b626c58a926dc7d6df78d22ec186c8">CopyDataFromITensorHandle</a>(ret.output.origin(), outputHandle.get());</div><div class="line"><a name="l03179"></a><span class="lineno"> 3179</span>&#160; ret.outputExpected = MakeTensor&lt;uint8_t, 4&gt;(outputInfo, expectedOutputData);</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; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l03182"></a><span class="lineno"> 3182</span>&#160;}</div><div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml_aa9e49717ebdb741e8c767741647fc618"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml#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.xhtml#l00428">Descriptors.hpp:428</a></div></div>
+<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml_aea202e14d8874cefd9a0f778022b7e25"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml#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.xhtml#l00438">Descriptors.hpp:438</a></div></div>
+<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml_a6089e1ca91914015777ea780a513131a"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml#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.xhtml#l00440">Descriptors.hpp:440</a></div></div>
+<div class="ttc" id="classarmnn_1_1_tensor_info_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00053">Tensor.hpp:53</a></div></div>
+<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml">armnn::Convolution2dDescriptor</a></div><div class="ttdoc">A Convolution2dDescriptor for the Convolution2dLayer. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00392">Descriptors.hpp:392</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
+<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml_a002bc30e590d78cbb4f4d12171055ca7"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml#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.xhtml#l00424">Descriptors.hpp:424</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml"><div class="ttname"><a href="namespacearmnn.xhtml">armnn</a></div><div class="ttdoc">Copyright (c) 2020 ARM Limited. </div><div class="ttdef"><b>Definition:</b> <a href="00__introduction_8dox_source.xhtml#l00025">00_introduction.dox:25</a></div></div>
+<div class="ttc" id="structarmnn_1_1_queue_descriptor_with_parameters_xhtml_aad91b9bbf7aa365d304febe79a3d1333"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#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.xhtml#l00049">WorkloadData.hpp:49</a></div></div>
+<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml_a56b51f56cef50cdfa554258eecdab046"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml#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.xhtml#l00426">Descriptors.hpp:426</a></div></div>
+<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml_afe6a3377c4531315354def9023c8fdda"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml#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.xhtml#l00430">Descriptors.hpp:430</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">armnn::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.xhtml#l00032">Types.hpp:32</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
+<div class="ttc" id="_tensor_copy_utils_8cpp_xhtml_afaaca8c3f3a467d124bba44067d2afa8"><div class="ttname"><a href="_tensor_copy_utils_8cpp.xhtml#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.xhtml#l00019">TensorCopyUtils.cpp:19</a></div></div>
+<div class="ttc" id="_tensor_copy_utils_8cpp_xhtml_a99b626c58a926dc7d6df78d22ec186c8"><div class="ttname"><a href="_tensor_copy_utils_8cpp.xhtml#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.xhtml#l00014">TensorCopyUtils.cpp:14</a></div></div>
+<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml_ac1fe174bbadfb39a2b636940c2e647c8"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml#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.xhtml#l00432">Descriptors.hpp:432</a></div></div>
+<div class="ttc" id="classarmnn_1_1_i_workload_factory_xhtml_a15c140be4ddceffee16436f009d3ed94"><div class="ttname"><a href="classarmnn_1_1_i_workload_factory.xhtml#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>
+<div class="ttc" id="structarmnn_1_1_convolution2d_queue_descriptor_xhtml"><div class="ttname"><a href="structarmnn_1_1_convolution2d_queue_descriptor.xhtml">armnn::Convolution2dQueueDescriptor</a></div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00168">WorkloadData.hpp:168</a></div></div>
+<div class="ttc" id="classarmnn_1_1_scoped_cpu_tensor_handle_xhtml"><div class="ttname"><a href="classarmnn_1_1_scoped_cpu_tensor_handle.xhtml">armnn::ScopedCpuTensorHandle</a></div><div class="ttdef"><b>Definition:</b> <a href="_cpu_tensor_handle_8hpp_source.xhtml#l00106">CpuTensorHandle.hpp:106</a></div></div>
+<div class="ttc" id="structarmnn_1_1_workload_info_xhtml"><div class="ttname"><a href="structarmnn_1_1_workload_info.xhtml">armnn::WorkloadInfo</a></div><div class="ttdoc">Contains information about inputs and outputs to a layer. </div><div class="ttdef"><b>Definition:</b> <a href="include_2armnn_2backends_2_workload_info_8hpp_source.xhtml#l00016">WorkloadInfo.hpp:16</a></div></div>
+<div class="ttc" id="struct_layer_test_result_xhtml"><div class="ttname"><a href="struct_layer_test_result.xhtml">LayerTestResult</a></div><div class="ttdef"><b>Definition:</b> <a href="_layer_test_result_8hpp_source.xhtml#l00029">LayerTestResult.hpp:29</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"><div class="ttname"><a href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::DataLayout::NCHW</a></div></div>
+<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml_ac18546ebbebbb32fe0a03baa9bf2c600"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml#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.xhtml#l00422">Descriptors.hpp:422</a></div></div>
+<div class="ttc" id="classarmnn_1_1_i_workload_factory_xhtml_a2184995027cd2c9f9980206de9658855"><div class="ttname"><a href="classarmnn_1_1_i_workload_factory.xhtml#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.xhtml#l01159">WorkloadFactory.cpp:1159</a></div></div>
+<div class="ttc" id="_tensor_copy_utils_8cpp_xhtml_ae15f1a3c55d2db87683577de9fa4437c"><div class="ttname"><a href="_tensor_copy_utils_8cpp.xhtml#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.xhtml#l00009">TensorCopyUtils.cpp:9</a></div></div>
+<div class="ttc" id="_data_layout_utils_8hpp_xhtml_a1452f049aef30409b3b649af2be7ff82"><div class="ttname"><a href="_data_layout_utils_8hpp.xhtml#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.xhtml#l00026">DataLayoutUtils.hpp:26</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="acffa50ae3185e3e5302909f27e7e9a02"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acffa50ae3185e3e5302909f27e7e9a02">&#9670;&nbsp;</a></span>DepthwiseConvolution2d2x3x3Dilation3x3Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;T, 4&gt; DepthwiseConvolution2d2x3x3Dilation3x3Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l02432">2432</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<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.xhtml">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.xhtml">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.xhtml">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_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00053">Tensor.hpp:53</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a1c3398bdb48e4ce4643a1eeaf3e054a3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1c3398bdb48e4ce4643a1eeaf3e054a3">&#9670;&nbsp;</a></span>DepthwiseConvolution2d3x3Dilation3x3Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;T, 4&gt; DepthwiseConvolution2d3x3Dilation3x3Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l02376">2376</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<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.xhtml">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.xhtml">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.xhtml">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_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00053">Tensor.hpp:53</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="abf326cbf49ec19c6272fe7c244b7817c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abf326cbf49ec19c6272fe7c244b7817c">&#9670;&nbsp;</a></span>DepthwiseConvolution2dAsymmetricTest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;float, 4&gt; DepthwiseConvolution2dAsymmetricTest </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03254">3254</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l03259"></a><span class="lineno"> 3259</span>&#160;{</div><div class="line"><a name="l03260"></a><span class="lineno"> 3260</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dAsymmetricTestCommon&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03261"></a><span class="lineno"> 3261</span>&#160; workloadFactory, memoryManager, 0.0f, 0, biasEnabled, layout);</div><div class="line"><a name="l03262"></a><span class="lineno"> 3262</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a74346a72d64f7fa3463473424c3098ab"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a74346a72d64f7fa3463473424c3098ab">&#9670;&nbsp;</a></span>DepthwiseConvolution2dDepthMul1Int16Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;int16_t, 4&gt; DepthwiseConvolution2dDepthMul1Int16Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03306">3306</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l03311"></a><span class="lineno"> 3311</span>&#160;{</div><div class="line"><a name="l03312"></a><span class="lineno"> 3312</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dDepthMul1TestImpl&lt;armnn::DataType::QSymmS16, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l03313"></a><span class="lineno"> 3313</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l03314"></a><span class="lineno"> 3314</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a8b32d950a40903f502f5e1ec0dcab0bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8b32d950a40903f502f5e1ec0dcab0bd">&#9670;&nbsp;</a></span>DepthwiseConvolution2dDepthMul1Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;float, 4&gt; DepthwiseConvolution2dDepthMul1Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03212">3212</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l03217"></a><span class="lineno"> 3217</span>&#160;{</div><div class="line"><a name="l03218"></a><span class="lineno"> 3218</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dDepthMul1TestImpl&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03219"></a><span class="lineno"> 3219</span>&#160; workloadFactory, memoryManager, 0.0f, 0, biasEnabled, layout);</div><div class="line"><a name="l03220"></a><span class="lineno"> 3220</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="ae797be34b659db2afe183f0c762fb9b7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae797be34b659db2afe183f0c762fb9b7">&#9670;&nbsp;</a></span>DepthwiseConvolution2dDepthMul1Uint8Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;uint8_t, 4&gt; DepthwiseConvolution2dDepthMul1Uint8Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03274">3274</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l03279"></a><span class="lineno"> 3279</span>&#160;{</div><div class="line"><a name="l03280"></a><span class="lineno"> 3280</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dDepthMul1TestImpl&lt;armnn::DataType::QAsymmU8, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l03281"></a><span class="lineno"> 3281</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l03282"></a><span class="lineno"> 3282</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="ab020b4a99bf905b61a1c5e03332b63a6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab020b4a99bf905b61a1c5e03332b63a6">&#9670;&nbsp;</a></span>DepthwiseConvolution2dDepthMul64Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;float, 4&gt; DepthwiseConvolution2dDepthMul64Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03222">3222</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::Float32</a>, and <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::NCHW</a>.</p>
+<div class="fragment"><div class="line"><a name="l03225"></a><span class="lineno"> 3225</span>&#160;{</div><div class="line"><a name="l03226"></a><span class="lineno"> 3226</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a> inputTensorInfo({ 1, 1, 2, 2 }, <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a>);</div><div class="line"><a name="l03227"></a><span class="lineno"> 3227</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="l03228"></a><span class="lineno"> 3228</span>&#160;</div><div class="line"><a name="l03229"></a><span class="lineno"> 3229</span>&#160; std::vector&lt;float&gt; kernelData;</div><div class="line"><a name="l03230"></a><span class="lineno"> 3230</span>&#160; std::vector&lt;float&gt; singleDepthKernel{ 1.f, -1.f, -1.f, 1.f };</div><div class="line"><a name="l03231"></a><span class="lineno"> 3231</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="l03232"></a><span class="lineno"> 3232</span>&#160; {</div><div class="line"><a name="l03233"></a><span class="lineno"> 3233</span>&#160; kernelData.insert(kernelData.end(), singleDepthKernel.begin(), singleDepthKernel.end());</div><div class="line"><a name="l03234"></a><span class="lineno"> 3234</span>&#160; }</div><div class="line"><a name="l03235"></a><span class="lineno"> 3235</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a> kernelTensorInfo({ 64, 1, 2, 2 }, <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a>);</div><div class="line"><a name="l03236"></a><span class="lineno"> 3236</span>&#160; <span class="keyword">auto</span> kernel = MakeTensor&lt;float, 4&gt;(kernelTensorInfo, kernelData);</div><div class="line"><a name="l03237"></a><span class="lineno"> 3237</span>&#160;</div><div class="line"><a name="l03238"></a><span class="lineno"> 3238</span>&#160; std::vector&lt;float&gt; expectedOutputData(64, 0.f);</div><div class="line"><a name="l03239"></a><span class="lineno"> 3239</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a> outputTensorInfo({ 1, 64, 1, 1 }, <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a>);</div><div class="line"><a name="l03240"></a><span class="lineno"> 3240</span>&#160; <span class="keyword">auto</span> expectedOutput = MakeTensor&lt;float, 4&gt;(outputTensorInfo, expectedOutputData);</div><div class="line"><a name="l03241"></a><span class="lineno"> 3241</span>&#160;</div><div class="line"><a name="l03242"></a><span class="lineno"> 3242</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dTestImpl&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03243"></a><span class="lineno"> 3243</span>&#160; workloadFactory,</div><div class="line"><a name="l03244"></a><span class="lineno"> 3244</span>&#160; memoryManager,</div><div class="line"><a name="l03245"></a><span class="lineno"> 3245</span>&#160; input,</div><div class="line"><a name="l03246"></a><span class="lineno"> 3246</span>&#160; kernel,</div><div class="line"><a name="l03247"></a><span class="lineno"> 3247</span>&#160; boost::multi_array&lt;float, 1&gt;(),</div><div class="line"><a name="l03248"></a><span class="lineno"> 3248</span>&#160; expectedOutput,</div><div class="line"><a name="l03249"></a><span class="lineno"> 3249</span>&#160; 0.f,</div><div class="line"><a name="l03250"></a><span class="lineno"> 3250</span>&#160; 0,</div><div class="line"><a name="l03251"></a><span class="lineno"> 3251</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::DataLayout::NCHW</a>);</div><div class="line"><a name="l03252"></a><span class="lineno"> 3252</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_tensor_info_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00053">Tensor.hpp:53</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"><div class="ttname"><a href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::DataLayout::NCHW</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a0cccb5cffee89004bc8d9fb309ed6636"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0cccb5cffee89004bc8d9fb309ed6636">&#9670;&nbsp;</a></span>DepthwiseConvolution2dDepthNhwcTest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;float, 4&gt; DepthwiseConvolution2dDepthNhwcTest </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03203">3203</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l03207"></a><span class="lineno"> 3207</span>&#160;{</div><div class="line"><a name="l03208"></a><span class="lineno"> 3208</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dNhwcTestCommon&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03209"></a><span class="lineno"> 3209</span>&#160; workloadFactory, memoryManager, 0.0f, 0, biasEnabled);</div><div class="line"><a name="l03210"></a><span class="lineno"> 3210</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a2ae97c2dd6621f4972c571cf1ec2a005"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ae97c2dd6621f4972c571cf1ec2a005">&#9670;&nbsp;</a></span>DepthwiseConvolution2dInt16Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;int16_t, 4&gt; DepthwiseConvolution2dInt16Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03296">3296</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><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; <span class="keywordflow">return</span> DepthwiseConvolution2dTestImpl&lt;armnn::DataType::QSymmS16, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l03303"></a><span class="lineno"> 3303</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l03304"></a><span class="lineno"> 3304</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="aaed50a372a6b59b20e38469856a3ce6b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaed50a372a6b59b20e38469856a3ce6b">&#9670;&nbsp;</a></span>DepthwiseConvolution2dMult2Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;T, 4&gt; DepthwiseConvolution2dMult2Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l02600">2600</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<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.xhtml">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.xhtml">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.xhtml">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_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00053">Tensor.hpp:53</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a0da6534b3a5d2f923dcd73553950129a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0da6534b3a5d2f923dcd73553950129a">&#9670;&nbsp;</a></span>DepthwiseConvolution2dMult4Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;T, 4&gt; DepthwiseConvolution2dMult4Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l02508">2508</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<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.xhtml">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.xhtml">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.xhtml">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_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00053">Tensor.hpp:53</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a8a51827c480f827c1e29f9347d7433c3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8a51827c480f827c1e29f9347d7433c3">&#9670;&nbsp;</a></span>DepthwiseConvolution2dPerAxisQuantTest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;uint8_t, 4&gt; DepthwiseConvolution2dPerAxisQuantTest </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03316">3316</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="_tensor_copy_utils_8cpp_source.xhtml#l00019">AllocateAndCopyDataToITensorHandle()</a>, <a class="el" href="_tensor_copy_utils_8cpp_source.xhtml#l00014">CopyDataFromITensorHandle()</a>, <a class="el" href="_tensor_copy_utils_8cpp_source.xhtml#l00009">CopyDataToITensorHandle()</a>, <a class="el" href="_workload_factory_8cpp_source.xhtml#l01177">IWorkloadFactory::CreateDepthwiseConvolution2d()</a>, <a class="el" href="classarmnn_1_1_i_workload_factory.xhtml#a15c140be4ddceffee16436f009d3ed94">IWorkloadFactory::CreateTensorHandle()</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00490">DepthwiseConvolution2dDescriptor::m_BiasEnabled</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00492">DepthwiseConvolution2dDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00486">DepthwiseConvolution2dDescriptor::m_DilationX</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00488">DepthwiseConvolution2dDescriptor::m_DilationY</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00480">DepthwiseConvolution2dDescriptor::m_PadBottom</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00474">DepthwiseConvolution2dDescriptor::m_PadLeft</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00476">DepthwiseConvolution2dDescriptor::m_PadRight</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00478">DepthwiseConvolution2dDescriptor::m_PadTop</a>, <a class="el" href="_workload_data_8hpp_source.xhtml#l00049">QueueDescriptorWithParameters&lt; LayerDescriptor &gt;::m_Parameters</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00482">DepthwiseConvolution2dDescriptor::m_StrideX</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00484">DepthwiseConvolution2dDescriptor::m_StrideY</a>, <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::NCHW</a>, <a class="el" href="_layer_test_result_8hpp_source.xhtml#l00040">LayerTestResult&lt; T, n &gt;::output</a>, <a class="el" href="_layer_test_result_8hpp_source.xhtml#l00041">LayerTestResult&lt; T, n &gt;::outputExpected</a>, and <a class="el" href="_data_layout_utils_8hpp_source.xhtml#l00026">PermuteTensorNhwcToNchw()</a>.</p>
+<div class="fragment"><div class="line"><a name="l03320"></a><span class="lineno"> 3320</span>&#160;{</div><div class="line"><a name="l03321"></a><span class="lineno"> 3321</span>&#160; <span class="keyword">using namespace </span><a class="code" href="namespacearmnn.xhtml">armnn</a>;</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; <span class="keyword">const</span> <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> inputType = <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>;</div><div class="line"><a name="l03324"></a><span class="lineno"> 3324</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> kernelType = <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>;</div><div class="line"><a name="l03325"></a><span class="lineno"> 3325</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> biasType = <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a>;</div><div class="line"><a name="l03326"></a><span class="lineno"> 3326</span>&#160;</div><div class="line"><a name="l03327"></a><span class="lineno"> 3327</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.xhtml">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="l03328"></a><span class="lineno"> 3328</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.xhtml">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="l03329"></a><span class="lineno"> 3329</span>&#160;</div><div class="line"><a name="l03330"></a><span class="lineno"> 3330</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="l03331"></a><span class="lineno"> 3331</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="l03332"></a><span class="lineno"> 3332</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> kernelInfo({ 2, 2, 2, 2 }, kernelType, quantScales, quantDimension); <span class="comment">// M I H W</span></div><div class="line"><a name="l03333"></a><span class="lineno"> 3333</span>&#160;</div><div class="line"><a name="l03334"></a><span class="lineno"> 3334</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="l03335"></a><span class="lineno"> 3335</span>&#160; constexpr <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> biasQuantDimension = 0;</div><div class="line"><a name="l03336"></a><span class="lineno"> 3336</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> biasInfo({ 4 }, biasType, biasQuantScales, biasQuantDimension);</div><div class="line"><a name="l03337"></a><span class="lineno"> 3337</span>&#160;</div><div class="line"><a name="l03338"></a><span class="lineno"> 3338</span>&#160; std::vector&lt;uint8_t&gt; inputData =</div><div class="line"><a name="l03339"></a><span class="lineno"> 3339</span>&#160; {</div><div class="line"><a name="l03340"></a><span class="lineno"> 3340</span>&#160; 129, 130,</div><div class="line"><a name="l03341"></a><span class="lineno"> 3341</span>&#160; 129, 130,</div><div class="line"><a name="l03342"></a><span class="lineno"> 3342</span>&#160; 129, 130,</div><div class="line"><a name="l03343"></a><span class="lineno"> 3343</span>&#160; 129, 130,</div><div class="line"><a name="l03344"></a><span class="lineno"> 3344</span>&#160; 129, 130,</div><div class="line"><a name="l03345"></a><span class="lineno"> 3345</span>&#160; 129, 130,</div><div class="line"><a name="l03346"></a><span class="lineno"> 3346</span>&#160; 129, 130,</div><div class="line"><a name="l03347"></a><span class="lineno"> 3347</span>&#160; 129, 130,</div><div class="line"><a name="l03348"></a><span class="lineno"> 3348</span>&#160; 129, 130</div><div class="line"><a name="l03349"></a><span class="lineno"> 3349</span>&#160; };</div><div class="line"><a name="l03350"></a><span class="lineno"> 3350</span>&#160;</div><div class="line"><a name="l03351"></a><span class="lineno"> 3351</span>&#160; std::vector&lt;int8_t&gt; kernelData =</div><div class="line"><a name="l03352"></a><span class="lineno"> 3352</span>&#160; {</div><div class="line"><a name="l03353"></a><span class="lineno"> 3353</span>&#160; 1, 1, 1, 1,</div><div class="line"><a name="l03354"></a><span class="lineno"> 3354</span>&#160; 1, 1, 1, 1,</div><div class="line"><a name="l03355"></a><span class="lineno"> 3355</span>&#160; 1, 1, 1, 1,</div><div class="line"><a name="l03356"></a><span class="lineno"> 3356</span>&#160; 1, 1, 1, 1</div><div class="line"><a name="l03357"></a><span class="lineno"> 3357</span>&#160; };</div><div class="line"><a name="l03358"></a><span class="lineno"> 3358</span>&#160;</div><div class="line"><a name="l03359"></a><span class="lineno"> 3359</span>&#160; std::vector&lt;int32_t&gt; biasData =</div><div class="line"><a name="l03360"></a><span class="lineno"> 3360</span>&#160; {</div><div class="line"><a name="l03361"></a><span class="lineno"> 3361</span>&#160; 4, 4, 4, 4</div><div class="line"><a name="l03362"></a><span class="lineno"> 3362</span>&#160; };</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; std::vector&lt;uint8_t&gt; expectedOutputData =</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; 132, 130, 134, 131,</div><div class="line"><a name="l03367"></a><span class="lineno"> 3367</span>&#160; 132, 130, 134, 131,</div><div class="line"><a name="l03368"></a><span class="lineno"> 3368</span>&#160; 132, 130, 134, 131,</div><div class="line"><a name="l03369"></a><span class="lineno"> 3369</span>&#160; 132, 130, 134, 131</div><div class="line"><a name="l03370"></a><span class="lineno"> 3370</span>&#160; };</div><div class="line"><a name="l03371"></a><span class="lineno"> 3371</span>&#160;</div><div class="line"><a name="l03372"></a><span class="lineno"> 3372</span>&#160; <span class="keywordflow">if</span> (layout == <a class="code" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a>)</div><div class="line"><a name="l03373"></a><span class="lineno"> 3373</span>&#160; {</div><div class="line"><a name="l03374"></a><span class="lineno"> 3374</span>&#160; <a class="code" href="_data_layout_utils_8hpp.xhtml#a1452f049aef30409b3b649af2be7ff82">PermuteTensorNhwcToNchw</a>(inputInfo, inputData);</div><div class="line"><a name="l03375"></a><span class="lineno"> 3375</span>&#160; <a class="code" href="_data_layout_utils_8hpp.xhtml#a1452f049aef30409b3b649af2be7ff82">PermuteTensorNhwcToNchw</a>(outputInfo, expectedOutputData);</div><div class="line"><a name="l03376"></a><span class="lineno"> 3376</span>&#160; }</div><div class="line"><a name="l03377"></a><span class="lineno"> 3377</span>&#160;</div><div class="line"><a name="l03378"></a><span class="lineno"> 3378</span>&#160; <a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml">DepthwiseConvolution2dDescriptor</a> descriptor;</div><div class="line"><a name="l03379"></a><span class="lineno"> 3379</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#afe6a3377c4531315354def9023c8fdda">m_StrideX</a> = 1;</div><div class="line"><a name="l03380"></a><span class="lineno"> 3380</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#ac1fe174bbadfb39a2b636940c2e647c8">m_StrideY</a> = 1;</div><div class="line"><a name="l03381"></a><span class="lineno"> 3381</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#ac18546ebbebbb32fe0a03baa9bf2c600">m_PadLeft</a> = 0;</div><div class="line"><a name="l03382"></a><span class="lineno"> 3382</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#a002bc30e590d78cbb4f4d12171055ca7">m_PadRight</a> = 0;</div><div class="line"><a name="l03383"></a><span class="lineno"> 3383</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#a56b51f56cef50cdfa554258eecdab046">m_PadTop</a> = 0;</div><div class="line"><a name="l03384"></a><span class="lineno"> 3384</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#aa9e49717ebdb741e8c767741647fc618">m_PadBottom</a> = 0;</div><div class="line"><a name="l03385"></a><span class="lineno"> 3385</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#aa3c6a77a963a98ccb8ea7b8fd008a8c1">m_DilationX</a> = 1;</div><div class="line"><a name="l03386"></a><span class="lineno"> 3386</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#a302b688d88dd73cde0fb1faef6679907">m_DilationY</a> = 1;</div><div class="line"><a name="l03387"></a><span class="lineno"> 3387</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#aea202e14d8874cefd9a0f778022b7e25">m_BiasEnabled</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l03388"></a><span class="lineno"> 3388</span>&#160; descriptor.<a class="code" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#a6089e1ca91914015777ea780a513131a">m_DataLayout</a> = layout;</div><div class="line"><a name="l03389"></a><span class="lineno"> 3389</span>&#160;</div><div class="line"><a name="l03390"></a><span class="lineno"> 3390</span>&#160; std::unique_ptr&lt;ITensorHandle&gt; inputHandle = workloadFactory.<a class="code" href="classarmnn_1_1_i_workload_factory.xhtml#a15c140be4ddceffee16436f009d3ed94">CreateTensorHandle</a>(inputInfo);</div><div class="line"><a name="l03391"></a><span class="lineno"> 3391</span>&#160; std::unique_ptr&lt;ITensorHandle&gt; outputHandle = workloadFactory.<a class="code" href="classarmnn_1_1_i_workload_factory.xhtml#a15c140be4ddceffee16436f009d3ed94">CreateTensorHandle</a>(outputInfo);</div><div class="line"><a name="l03392"></a><span class="lineno"> 3392</span>&#160;</div><div class="line"><a name="l03393"></a><span class="lineno"> 3393</span>&#160; <a class="code" href="structarmnn_1_1_workload_info.xhtml">WorkloadInfo</a> workloadInfo;</div><div class="line"><a name="l03394"></a><span class="lineno"> 3394</span>&#160; <a class="code" href="classarmnn_1_1_scoped_cpu_tensor_handle.xhtml">ScopedCpuTensorHandle</a> weightTensor(kernelInfo);</div><div class="line"><a name="l03395"></a><span class="lineno"> 3395</span>&#160; <a class="code" href="classarmnn_1_1_scoped_cpu_tensor_handle.xhtml">ScopedCpuTensorHandle</a> biasTensor(biasInfo);</div><div class="line"><a name="l03396"></a><span class="lineno"> 3396</span>&#160;</div><div class="line"><a name="l03397"></a><span class="lineno"> 3397</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.xhtml#afaaca8c3f3a467d124bba44067d2afa8">AllocateAndCopyDataToITensorHandle</a>(&amp;weightTensor, kernelData.data());</div><div class="line"><a name="l03398"></a><span class="lineno"> 3398</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.xhtml#afaaca8c3f3a467d124bba44067d2afa8">AllocateAndCopyDataToITensorHandle</a>(&amp;biasTensor, biasData.data());</div><div class="line"><a name="l03399"></a><span class="lineno"> 3399</span>&#160;</div><div class="line"><a name="l03400"></a><span class="lineno"> 3400</span>&#160; <a class="code" href="structarmnn_1_1_depthwise_convolution2d_queue_descriptor.xhtml">DepthwiseConvolution2dQueueDescriptor</a> queueDescriptor;</div><div class="line"><a name="l03401"></a><span class="lineno"> 3401</span>&#160; queueDescriptor.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a> = descriptor;</div><div class="line"><a name="l03402"></a><span class="lineno"> 3402</span>&#160; queueDescriptor.m_Weight = &amp;weightTensor;</div><div class="line"><a name="l03403"></a><span class="lineno"> 3403</span>&#160; queueDescriptor.m_Bias = &amp;biasTensor;</div><div class="line"><a name="l03404"></a><span class="lineno"> 3404</span>&#160;</div><div class="line"><a name="l03405"></a><span class="lineno"> 3405</span>&#160; AddInputToWorkload(queueDescriptor, workloadInfo, inputInfo, inputHandle.get());</div><div class="line"><a name="l03406"></a><span class="lineno"> 3406</span>&#160; AddOutputToWorkload(queueDescriptor, workloadInfo, outputInfo, outputHandle.get());</div><div class="line"><a name="l03407"></a><span class="lineno"> 3407</span>&#160;</div><div class="line"><a name="l03408"></a><span class="lineno"> 3408</span>&#160; std::unique_ptr&lt;IWorkload&gt; workload = workloadFactory.<a class="code" href="classarmnn_1_1_i_workload_factory.xhtml#accb9759dfd2880efe0f8d2705ddee448">CreateDepthwiseConvolution2d</a>(queueDescriptor, workloadInfo);</div><div class="line"><a name="l03409"></a><span class="lineno"> 3409</span>&#160; inputHandle-&gt;Allocate();</div><div class="line"><a name="l03410"></a><span class="lineno"> 3410</span>&#160; outputHandle-&gt;Allocate();</div><div class="line"><a name="l03411"></a><span class="lineno"> 3411</span>&#160;</div><div class="line"><a name="l03412"></a><span class="lineno"> 3412</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.xhtml#ae15f1a3c55d2db87683577de9fa4437c">CopyDataToITensorHandle</a>(inputHandle.get(), inputData.data());</div><div class="line"><a name="l03413"></a><span class="lineno"> 3413</span>&#160;</div><div class="line"><a name="l03414"></a><span class="lineno"> 3414</span>&#160; ExecuteWorkload(*workload, memoryManager);</div><div class="line"><a name="l03415"></a><span class="lineno"> 3415</span>&#160;</div><div class="line"><a name="l03416"></a><span class="lineno"> 3416</span>&#160; <a class="code" href="struct_layer_test_result.xhtml">LayerTestResult&lt;uint8_t, 4&gt;</a> ret(outputInfo);</div><div class="line"><a name="l03417"></a><span class="lineno"> 3417</span>&#160;</div><div class="line"><a name="l03418"></a><span class="lineno"> 3418</span>&#160; <a class="code" href="_tensor_copy_utils_8cpp.xhtml#a99b626c58a926dc7d6df78d22ec186c8">CopyDataFromITensorHandle</a>(ret.output.origin(), outputHandle.get());</div><div class="line"><a name="l03419"></a><span class="lineno"> 3419</span>&#160; ret.outputExpected = MakeTensor&lt;uint8_t, 4&gt;(outputInfo, expectedOutputData);</div><div class="line"><a name="l03420"></a><span class="lineno"> 3420</span>&#160;</div><div class="line"><a name="l03421"></a><span class="lineno"> 3421</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l03422"></a><span class="lineno"> 3422</span>&#160;}</div><div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_xhtml_aea202e14d8874cefd9a0f778022b7e25"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#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.xhtml#l00490">Descriptors.hpp:490</a></div></div>
+<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_xhtml_aa9e49717ebdb741e8c767741647fc618"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#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.xhtml#l00480">Descriptors.hpp:480</a></div></div>
+<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_xhtml_a6089e1ca91914015777ea780a513131a"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#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.xhtml#l00492">Descriptors.hpp:492</a></div></div>
+<div class="ttc" id="classarmnn_1_1_tensor_info_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00053">Tensor.hpp:53</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
+<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_xhtml_ac18546ebbebbb32fe0a03baa9bf2c600"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#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.xhtml#l00474">Descriptors.hpp:474</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml"><div class="ttname"><a href="namespacearmnn.xhtml">armnn</a></div><div class="ttdoc">Copyright (c) 2020 ARM Limited. </div><div class="ttdef"><b>Definition:</b> <a href="00__introduction_8dox_source.xhtml#l00025">00_introduction.dox:25</a></div></div>
+<div class="ttc" id="structarmnn_1_1_queue_descriptor_with_parameters_xhtml_aad91b9bbf7aa365d304febe79a3d1333"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor_with_parameters.xhtml#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.xhtml#l00049">WorkloadData.hpp:49</a></div></div>
+<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_xhtml_a302b688d88dd73cde0fb1faef6679907"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#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.xhtml#l00488">Descriptors.hpp:488</a></div></div>
+<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_xhtml_afe6a3377c4531315354def9023c8fdda"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#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.xhtml#l00482">Descriptors.hpp:482</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">armnn::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.xhtml#l00032">Types.hpp:32</a></div></div>
+<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_xhtml_aa3c6a77a963a98ccb8ea7b8fd008a8c1"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#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.xhtml#l00486">Descriptors.hpp:486</a></div></div>
+<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_xhtml_a56b51f56cef50cdfa554258eecdab046"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#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.xhtml#l00478">Descriptors.hpp:478</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
+<div class="ttc" id="_tensor_copy_utils_8cpp_xhtml_afaaca8c3f3a467d124bba44067d2afa8"><div class="ttname"><a href="_tensor_copy_utils_8cpp.xhtml#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.xhtml#l00019">TensorCopyUtils.cpp:19</a></div></div>
+<div class="ttc" id="_tensor_copy_utils_8cpp_xhtml_a99b626c58a926dc7d6df78d22ec186c8"><div class="ttname"><a href="_tensor_copy_utils_8cpp.xhtml#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.xhtml#l00014">TensorCopyUtils.cpp:14</a></div></div>
+<div class="ttc" id="classarmnn_1_1_i_workload_factory_xhtml_a15c140be4ddceffee16436f009d3ed94"><div class="ttname"><a href="classarmnn_1_1_i_workload_factory.xhtml#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>
+<div class="ttc" id="classarmnn_1_1_scoped_cpu_tensor_handle_xhtml"><div class="ttname"><a href="classarmnn_1_1_scoped_cpu_tensor_handle.xhtml">armnn::ScopedCpuTensorHandle</a></div><div class="ttdef"><b>Definition:</b> <a href="_cpu_tensor_handle_8hpp_source.xhtml#l00106">CpuTensorHandle.hpp:106</a></div></div>
+<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_xhtml_ac1fe174bbadfb39a2b636940c2e647c8"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#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.xhtml#l00484">Descriptors.hpp:484</a></div></div>
+<div class="ttc" id="structarmnn_1_1_workload_info_xhtml"><div class="ttname"><a href="structarmnn_1_1_workload_info.xhtml">armnn::WorkloadInfo</a></div><div class="ttdoc">Contains information about inputs and outputs to a layer. </div><div class="ttdef"><b>Definition:</b> <a href="include_2armnn_2backends_2_workload_info_8hpp_source.xhtml#l00016">WorkloadInfo.hpp:16</a></div></div>
+<div class="ttc" id="struct_layer_test_result_xhtml"><div class="ttname"><a href="struct_layer_test_result.xhtml">LayerTestResult</a></div><div class="ttdef"><b>Definition:</b> <a href="_layer_test_result_8hpp_source.xhtml#l00029">LayerTestResult.hpp:29</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"><div class="ttname"><a href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::DataLayout::NCHW</a></div></div>
+<div class="ttc" id="classarmnn_1_1_i_workload_factory_xhtml_accb9759dfd2880efe0f8d2705ddee448"><div class="ttname"><a href="classarmnn_1_1_i_workload_factory.xhtml#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.xhtml#l01177">WorkloadFactory.cpp:1177</a></div></div>
+<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_xhtml"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml">armnn::DepthwiseConvolution2dDescriptor</a></div><div class="ttdoc">A DepthwiseConvolution2dDescriptor for the DepthwiseConvolution2dLayer. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00444">Descriptors.hpp:444</a></div></div>
+<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_queue_descriptor_xhtml"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_queue_descriptor.xhtml">armnn::DepthwiseConvolution2dQueueDescriptor</a></div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00183">WorkloadData.hpp:183</a></div></div>
+<div class="ttc" id="_tensor_copy_utils_8cpp_xhtml_ae15f1a3c55d2db87683577de9fa4437c"><div class="ttname"><a href="_tensor_copy_utils_8cpp.xhtml#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.xhtml#l00009">TensorCopyUtils.cpp:9</a></div></div>
+<div class="ttc" id="structarmnn_1_1_depthwise_convolution2d_descriptor_xhtml_a002bc30e590d78cbb4f4d12171055ca7"><div class="ttname"><a href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml#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.xhtml#l00476">Descriptors.hpp:476</a></div></div>
+<div class="ttc" id="_data_layout_utils_8hpp_xhtml_a1452f049aef30409b3b649af2be7ff82"><div class="ttname"><a href="_data_layout_utils_8hpp.xhtml#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.xhtml#l00026">DataLayoutUtils.hpp:26</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a11fbd94028ab646528b42d0c8c55eee1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a11fbd94028ab646528b42d0c8c55eee1">&#9670;&nbsp;</a></span>DepthwiseConvolution2dTest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;float, 4&gt; DepthwiseConvolution2dTest </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03193">3193</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l03198"></a><span class="lineno"> 3198</span>&#160;{</div><div class="line"><a name="l03199"></a><span class="lineno"> 3199</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dTestImpl&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03200"></a><span class="lineno"> 3200</span>&#160; workloadFactory, memoryManager, 0.0f, 0, biasEnabled, layout);</div><div class="line"><a name="l03201"></a><span class="lineno"> 3201</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a8076c31bd6e9eae629994a89a5fa18c3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8076c31bd6e9eae629994a89a5fa18c3">&#9670;&nbsp;</a></span>DepthwiseConvolution2dUint8Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;uint8_t, 4&gt; DepthwiseConvolution2dUint8Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03264">3264</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l03269"></a><span class="lineno"> 3269</span>&#160;{</div><div class="line"><a name="l03270"></a><span class="lineno"> 3270</span>&#160; <span class="keywordflow">return</span> DepthwiseConvolution2dTestImpl&lt;armnn::DataType::QAsymmU8, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l03271"></a><span class="lineno"> 3271</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l03272"></a><span class="lineno"> 3272</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="ac7bae01fdca8edac70cc9bc722426b17"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac7bae01fdca8edac70cc9bc722426b17">&#9670;&nbsp;</a></span>SimpleConvolution2d3x3NhwcTest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;float, 4&gt; SimpleConvolution2d3x3NhwcTest </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l02996">2996</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">armnn::NHWC</a>.</p>
+<div class="fragment"><div class="line"><a name="l03000"></a><span class="lineno"> 3000</span>&#160;{</div><div class="line"><a name="l03001"></a><span class="lineno"> 3001</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2d3x3NhwcTestCommon&lt;armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03002"></a><span class="lineno"> 3002</span>&#160; workloadFactory,</div><div class="line"><a name="l03003"></a><span class="lineno"> 3003</span>&#160; memoryManager,</div><div class="line"><a name="l03004"></a><span class="lineno"> 3004</span>&#160; 0.f,</div><div class="line"><a name="l03005"></a><span class="lineno"> 3005</span>&#160; 0,</div><div class="line"><a name="l03006"></a><span class="lineno"> 3006</span>&#160; biasEnabled,</div><div class="line"><a name="l03007"></a><span class="lineno"> 3007</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">armnn::DataLayout::NHWC</a>);</div><div class="line"><a name="l03008"></a><span class="lineno"> 3008</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51"><div class="ttname"><a href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">armnn::DataLayout::NHWC</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="abac8f73ae590a93fe91115371ae4ced3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abac8f73ae590a93fe91115371ae4ced3">&#9670;&nbsp;</a></span>SimpleConvolution2d3x3QSymm16Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;int16_t, 4&gt; SimpleConvolution2d3x3QSymm16Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03045">3045</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><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="keywordflow">return</span> SimpleConvolution2d3x3TestCommon&lt;armnn::DataType::QSymmS16, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l03052"></a><span class="lineno"> 3052</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l03053"></a><span class="lineno"> 3053</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="af4ac6874d18e1cb59873a17073512873"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af4ac6874d18e1cb59873a17073512873">&#9670;&nbsp;</a></span>SimpleConvolution2d3x3Stride2x2Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;float, 4&gt; SimpleConvolution2d3x3Stride2x2Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03010">3010</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l03015"></a><span class="lineno"> 3015</span>&#160;{</div><div class="line"><a name="l03016"></a><span class="lineno"> 3016</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2d3x3Stride2x2TestCommon&lt;armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03017"></a><span class="lineno"> 3017</span>&#160; workloadFactory,</div><div class="line"><a name="l03018"></a><span class="lineno"> 3018</span>&#160; memoryManager,</div><div class="line"><a name="l03019"></a><span class="lineno"> 3019</span>&#160; 0.f,</div><div class="line"><a name="l03020"></a><span class="lineno"> 3020</span>&#160; 0,</div><div class="line"><a name="l03021"></a><span class="lineno"> 3021</span>&#160; biasEnabled,</div><div class="line"><a name="l03022"></a><span class="lineno"> 3022</span>&#160; layout);</div><div class="line"><a name="l03023"></a><span class="lineno"> 3023</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="acbe1a2adccd9e0aad14fc0ccb9266b0d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acbe1a2adccd9e0aad14fc0ccb9266b0d">&#9670;&nbsp;</a></span>SimpleConvolution2d3x3Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;float, 4&gt; SimpleConvolution2d3x3Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l02986">2986</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l02991"></a><span class="lineno"> 2991</span>&#160;{</div><div class="line"><a name="l02992"></a><span class="lineno"> 2992</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2d3x3TestCommon&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l02993"></a><span class="lineno"> 2993</span>&#160; workloadFactory, memoryManager, 0.f, 0, biasEnabled, layout);</div><div class="line"><a name="l02994"></a><span class="lineno"> 2994</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="ad45f359d9d4bee360bee857faa79d292"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad45f359d9d4bee360bee857faa79d292">&#9670;&nbsp;</a></span>SimpleConvolution2d3x3Uint8Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;uint8_t, 4&gt; SimpleConvolution2d3x3Uint8Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03025">3025</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<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> SimpleConvolution2d3x3TestCommon&lt;armnn::DataType::QAsymmU8, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l03032"></a><span class="lineno"> 3032</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l03033"></a><span class="lineno"> 3033</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a9dcd2fb98f5c3284c74f65a7c7a69da1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9dcd2fb98f5c3284c74f65a7c7a69da1">&#9670;&nbsp;</a></span>SimpleConvolution2d3x5QSymm16Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;int16_t, 4&gt; SimpleConvolution2d3x5QSymm16Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03035">3035</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l03040"></a><span class="lineno"> 3040</span>&#160;{</div><div class="line"><a name="l03041"></a><span class="lineno"> 3041</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2d3x5TestCommon&lt;armnn::DataType::QSymmS16, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l03042"></a><span class="lineno"> 3042</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l03043"></a><span class="lineno"> 3043</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="afb5e7d86e241292d9cb899b960da54af"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afb5e7d86e241292d9cb899b960da54af">&#9670;&nbsp;</a></span>SimpleConvolution2d3x5Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;float, 4&gt; SimpleConvolution2d3x5Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l02966">2966</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l02971"></a><span class="lineno"> 2971</span>&#160;{</div><div class="line"><a name="l02972"></a><span class="lineno"> 2972</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2d3x5TestCommon&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l02973"></a><span class="lineno"> 2973</span>&#160; workloadFactory, memoryManager, 0.f, 0, biasEnabled, layout);</div><div class="line"><a name="l02974"></a><span class="lineno"> 2974</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a8ffca1c4b38a68b10ba06f4f1416660f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8ffca1c4b38a68b10ba06f4f1416660f">&#9670;&nbsp;</a></span>SimpleConvolution2d3x5Uint8Test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;uint8_t, 4&gt; SimpleConvolution2d3x5Uint8Test </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>biasEnabled</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a>&#160;</td>
+ <td class="paramname"><em>layout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l02976">2976</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l02981"></a><span class="lineno"> 2981</span>&#160;{</div><div class="line"><a name="l02982"></a><span class="lineno"> 2982</span>&#160; <span class="keywordflow">return</span> SimpleConvolution2d3x5TestCommon&lt;armnn::DataType::QAsymmU8, armnn::DataType::Signed32&gt;(</div><div class="line"><a name="l02983"></a><span class="lineno"> 2983</span>&#160; workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout);</div><div class="line"><a name="l02984"></a><span class="lineno"> 2984</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a77a29527216d36bce78e88354462ede8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a77a29527216d36bce78e88354462ede8">&#9670;&nbsp;</a></span>SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt;float, 4&gt; SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTest </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_1_1_i_workload_factory.xhtml">armnn::IWorkloadFactory</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadFactory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_i_backend_internal.xhtml#a693b40e6b94e958836aeb0410ca186bd">armnn::IBackendInternal::IMemoryManagerSharedPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>memoryManager</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml#l03284">3284</a> of file <a class="el" href="_conv2d_test_impl_8cpp_source.xhtml">Conv2dTestImpl.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l03287"></a><span class="lineno"> 3287</span>&#160;{</div><div class="line"><a name="l03288"></a><span class="lineno"> 3288</span>&#160; <span class="keywordflow">return</span> SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTestCommon&lt;armnn::DataType::Float32, armnn::DataType::Float32&gt;(</div><div class="line"><a name="l03289"></a><span class="lineno"> 3289</span>&#160; workloadFactory,</div><div class="line"><a name="l03290"></a><span class="lineno"> 3290</span>&#160; memoryManager,</div><div class="line"><a name="l03291"></a><span class="lineno"> 3291</span>&#160; 0.f,</div><div class="line"><a name="l03292"></a><span class="lineno"> 3292</span>&#160; 0,</div><div class="line"><a name="l03293"></a><span class="lineno"> 3293</span>&#160; <span class="keyword">false</span>);</div><div class="line"><a name="l03294"></a><span class="lineno"> 3294</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_0f3cdec46afbc61a1ded8e1687c9c9a0.xhtml">backends</a></li><li class="navelem"><a class="el" href="dir_797a213d7d01b98ef12d53b0820ea64e.xhtml">backendsCommon</a></li><li class="navelem"><a class="el" href="dir_28bfe507f7e135bdae07c2a6b7f66696.xhtml">test</a></li><li class="navelem"><a class="el" href="dir_99a30439342d160875b21dac3498ad7f.xhtml">layerTests</a></li><li class="navelem"><a class="el" href="_conv2d_test_impl_8hpp.xhtml">Conv2dTestImpl.hpp</a></li>
+ <li class="footer">Generated on Fri Mar 13 2020 16:09:14 for ArmNN by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ </ul>
+</div>
+</body>
+</html>