aboutsummaryrefslogtreecommitdiff
path: root/latest/classarmnn_1_1_neon_transpose_convolution2d_workload.html
diff options
context:
space:
mode:
authorNikhil Raj <nikhil.raj@arm.com>2024-05-16 09:47:51 +0100
committerNikhil Raj <nikhil.raj@arm.com>2024-05-16 09:47:51 +0100
commit1dc83febfb76d6a770bdf3ba16c4034a970c2320 (patch)
tree66d27e5587e9010f3db26a23a348df844c88f8e6 /latest/classarmnn_1_1_neon_transpose_convolution2d_workload.html
parent38b600d8abb2c5f7a44511b5deddf441f975d51d (diff)
downloadarmnn-gh-pages.tar.gz
IVGCVSW-8260 Update Doxgen Docu for 24.05gh-pages
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: If4bc983bf2793a27ded8e26ac2b29523fc1e4711
Diffstat (limited to 'latest/classarmnn_1_1_neon_transpose_convolution2d_workload.html')
-rw-r--r--latest/classarmnn_1_1_neon_transpose_convolution2d_workload.html133
1 files changed, 65 insertions, 68 deletions
diff --git a/latest/classarmnn_1_1_neon_transpose_convolution2d_workload.html b/latest/classarmnn_1_1_neon_transpose_convolution2d_workload.html
index 9c8bbffa6b..440aa59213 100644
--- a/latest/classarmnn_1_1_neon_transpose_convolution2d_workload.html
+++ b/latest/classarmnn_1_1_neon_transpose_convolution2d_workload.html
@@ -36,7 +36,7 @@
<img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
<td id="projectalign" style="padding-left: 0.9em;">
<div id="projectname">
- &#160;<span id="projectnumber">24.02</span>
+ &#160;<span id="projectnumber">24.05</span>
</div>
</td>
</tr>
@@ -205,63 +205,61 @@ Additional Inherited Members</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="_neon_transpose_convolution2d_workload_8cpp_source.html#l00055">55</a> of file <a class="el" href="_neon_transpose_convolution2d_workload_8cpp_source.html">NeonTransposeConvolution2dWorkload.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; : NeonBaseWorkload&lt;TransposeConvolution2dQueueDescriptor&gt;(descriptor, info)</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;{</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor.html#a765d2cee4ccce5b9467e0c2b6d25b84a">ValidateInputsOutputs</a>(<span class="stringliteral">&quot;NeonTransposeConvolution2dWorkload&quot;</span>, 1, 1);</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; arm_compute::ITensor&amp; input = PolymorphicDowncast&lt;IAclTensorHandle*&gt;(<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor.html#a4b50e46a6810018f3edecfb68b2a76b3">m_Inputs</a>[0])-&gt;GetTensor();</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; arm_compute::ITensor&amp; output = PolymorphicDowncast&lt;IAclTensorHandle*&gt;(<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor.html#a6abd491bb99ffe88bd472c1ae5a1ed1a">m_Outputs</a>[0])-&gt;GetTensor();</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> aclDataLayout = ConvertDataLayout(<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_descriptor.html#a6089e1ca91914015777ea780a513131a">m_DataLayout</a>);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; input.info()-&gt;set_data_layout(aclDataLayout);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; output.info()-&gt;set_data_layout(aclDataLayout);</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; m_KernelTensor = std::make_unique&lt;arm_compute::Tensor&gt;();</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; BuildArmComputeTensor(*m_KernelTensor, <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_queue_descriptor.html#a9a8a6e0c6074b895eb2ff9a16e5003a5">m_Weight</a>-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>(), <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_descriptor.html#a6089e1ca91914015777ea780a513131a">m_DataLayout</a>);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_descriptor.html#aea202e14d8874cefd9a0f778022b7e25">m_BiasEnabled</a>)</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; {</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; m_BiasTensor = std::make_unique&lt;arm_compute::Tensor&gt;();</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; BuildArmComputeTensor(*m_BiasTensor, <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_queue_descriptor.html#a1f3f6acdd5436ccf488d5ee3e9e60c02">m_Bias</a>-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>(), <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_descriptor.html#a6089e1ca91914015777ea780a513131a">m_DataLayout</a>);</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; arm_compute::PadStrideInfo padStrideInfo = BuildArmComputePadStrideInfo(<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">// Add details for profiling output</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; WorkloadInfo detailsInfo;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; </div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; detailsInfo.m_InputTensorInfos = <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_InputTensorInfos;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; detailsInfo.m_OutputTensorInfos = <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_OutputTensorInfos;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; detailsInfo.m_WeightsTensorInfo = <a class="code" href="classarmnn_1_1_optional.html">armnn::Optional&lt;armnn::TensorInfo&gt;</a>(descriptor.m_Weight-&gt;GetTensorInfo());</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">if</span> (descriptor.m_Parameters.m_BiasEnabled)</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; detailsInfo.m_BiasTensorInfo = <a class="code" href="classarmnn_1_1_optional.html">armnn::Optional&lt;armnn::TensorInfo&gt;</a>(descriptor.m_Bias-&gt;GetTensorInfo());</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; </div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="comment">// Report Profiling Details</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="_profiling_8hpp.html#a786492a3881a4c760ab1eec2149f4aba">ARMNN_REPORT_PROFILING_WORKLOAD_DESC</a>(<span class="stringliteral">&quot;NeonTransposeConvolution2dWorkload_Construct&quot;</span>,</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; descriptor.m_Parameters,</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; detailsInfo,</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; this-&gt;GetGuid());</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; </div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; m_Layer = std::make_unique&lt;arm_compute::NEDeconvolutionLayer&gt;(memoryManager);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; m_Layer-&gt;configure(&amp;input, m_KernelTensor.get(), m_BiasTensor.get(), &amp;output, padStrideInfo);</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="_assert_8hpp.html#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(m_Layer);</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; </div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">InitializeArmComputeTensorData</a>(*m_KernelTensor, <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_queue_descriptor.html#a9a8a6e0c6074b895eb2ff9a16e5003a5">m_Weight</a>);</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; </div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_descriptor.html#aea202e14d8874cefd9a0f778022b7e25">m_BiasEnabled</a>)</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">InitializeArmComputeTensorData</a>(*m_BiasTensor, <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_queue_descriptor.html#a1f3f6acdd5436ccf488d5ee3e9e60c02">m_Bias</a>);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; m_Layer-&gt;prepare();</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; FreeUnusedTensors();</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;}</div>
+<p class="definition">Definition at line <a class="el" href="_neon_transpose_convolution2d_workload_8cpp_source.html#l00056">56</a> of file <a class="el" href="_neon_transpose_convolution2d_workload_8cpp_source.html">NeonTransposeConvolution2dWorkload.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; : NeonBaseWorkload&lt;TransposeConvolution2dQueueDescriptor&gt;(descriptor, info)</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;{</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor.html#a765d2cee4ccce5b9467e0c2b6d25b84a">ValidateInputsOutputs</a>(<span class="stringliteral">&quot;NeonTransposeConvolution2dWorkload&quot;</span>, 1, 1);</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; arm_compute::ITensor&amp; input = PolymorphicDowncast&lt;IAclTensorHandle*&gt;(<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor.html#a4b50e46a6810018f3edecfb68b2a76b3">m_Inputs</a>[0])-&gt;GetTensor();</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; arm_compute::ITensor&amp; output = PolymorphicDowncast&lt;IAclTensorHandle*&gt;(<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor.html#a6abd491bb99ffe88bd472c1ae5a1ed1a">m_Outputs</a>[0])-&gt;GetTensor();</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; </div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">arm_compute::DataLayout</a> aclDataLayout = ConvertDataLayout(<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_descriptor.html#a6089e1ca91914015777ea780a513131a">m_DataLayout</a>);</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; input.info()-&gt;set_data_layout(aclDataLayout);</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; output.info()-&gt;set_data_layout(aclDataLayout);</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; </div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; m_KernelTensor = std::make_unique&lt;arm_compute::Tensor&gt;();</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; BuildArmComputeTensor(*m_KernelTensor, <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_queue_descriptor.html#a9a8a6e0c6074b895eb2ff9a16e5003a5">m_Weight</a>-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>(), <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_descriptor.html#a6089e1ca91914015777ea780a513131a">m_DataLayout</a>);</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; </div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_descriptor.html#aea202e14d8874cefd9a0f778022b7e25">m_BiasEnabled</a>)</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; m_BiasTensor = std::make_unique&lt;arm_compute::Tensor&gt;();</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; BuildArmComputeTensor(*m_BiasTensor, <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_queue_descriptor.html#a1f3f6acdd5436ccf488d5ee3e9e60c02">m_Bias</a>-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>(), <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_descriptor.html#a6089e1ca91914015777ea780a513131a">m_DataLayout</a>);</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; arm_compute::PadStrideInfo padStrideInfo = BuildArmComputePadStrideInfo(<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>);</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; </div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="comment">// Add details for profiling output</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; WorkloadInfo detailsInfo;</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; </div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; detailsInfo.m_InputTensorInfos = <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_InputTensorInfos;</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; detailsInfo.m_OutputTensorInfos = <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_OutputTensorInfos;</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; detailsInfo.m_WeightsTensorInfo = <a class="code" href="classarmnn_1_1_optional.html">armnn::Optional&lt;armnn::TensorInfo&gt;</a>(descriptor.m_Weight-&gt;GetTensorInfo());</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span> (descriptor.m_Parameters.m_BiasEnabled)</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; detailsInfo.m_BiasTensorInfo = <a class="code" href="classarmnn_1_1_optional.html">armnn::Optional&lt;armnn::TensorInfo&gt;</a>(descriptor.m_Bias-&gt;GetTensorInfo());</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; </div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="comment">// Report Profiling Details</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="_profiling_8hpp.html#a786492a3881a4c760ab1eec2149f4aba">ARMNN_REPORT_PROFILING_WORKLOAD_DESC</a>(<span class="stringliteral">&quot;NeonTransposeConvolution2dWorkload_Construct&quot;</span>,</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; descriptor.m_Parameters,</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; detailsInfo,</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; this-&gt;GetGuid());</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; m_Layer = std::make_unique&lt;arm_compute::NEDeconvolutionLayer&gt;(memoryManager);</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; m_Layer-&gt;configure(&amp;input, m_KernelTensor.get(), m_BiasTensor.get(), &amp;output, padStrideInfo);</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">InitializeArmComputeTensorData</a>(*m_KernelTensor, <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_queue_descriptor.html#a9a8a6e0c6074b895eb2ff9a16e5003a5">m_Weight</a>);</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_descriptor.html#aea202e14d8874cefd9a0f778022b7e25">m_BiasEnabled</a>)</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">InitializeArmComputeTensorData</a>(*m_BiasTensor, <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_transpose_convolution2d_queue_descriptor.html#a1f3f6acdd5436ccf488d5ee3e9e60c02">m_Bias</a>);</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; m_Layer-&gt;prepare();</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; FreeUnusedTensors();</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;}</div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">armnn::info</a>, <a class="el" href="_workload_8hpp_source.html#l00089">BaseWorkload&lt; TransposeConvolution2dQueueDescriptor &gt;::m_Data</a>, <a class="el" href="_workload_data_8hpp_source.html#l00026">QueueDescriptor::m_Inputs</a>, <a class="el" href="_workload_data_8hpp_source.html#l00027">QueueDescriptor::m_Outputs</a>, and <a class="el" href="_workload_data_8cpp_source.html#l00446">QueueDescriptor::ValidateInputsOutputs()</a>.</p>
+<p class="reference">References <a class="el" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">armnn::info</a>, <a class="el" href="_workload_8hpp_source.html#l00089">BaseWorkload&lt; TransposeConvolution2dQueueDescriptor &gt;::m_Data</a>, <a class="el" href="_workload_data_8hpp_source.html#l00026">QueueDescriptor::m_Inputs</a>, <a class="el" href="_workload_data_8hpp_source.html#l00027">QueueDescriptor::m_Outputs</a>, and <a class="el" href="_workload_data_8cpp_source.html#l00447">QueueDescriptor::ValidateInputsOutputs()</a>.</p>
</div>
</div>
@@ -291,13 +289,13 @@ Additional Inherited Members</h2></td></tr>
<p>Implements <a class="el" href="classarmnn_1_1_i_workload.html#a72ae00e6604850c8798c5e0d825ee7e4">IWorkload</a>.</p>
-<p class="definition">Definition at line <a class="el" href="_neon_transpose_convolution2d_workload_8cpp_source.html#l00113">113</a> of file <a class="el" href="_neon_transpose_convolution2d_workload_8cpp_source.html">NeonTransposeConvolution2dWorkload.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;{</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="_neon_workload_utils_8hpp.html#a7f97eedf3c9436b110df92c947bbb55d">ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID</a>(<span class="stringliteral">&quot;NeonTransposeConvolution2dWorkload_Execute&quot;</span>);</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; m_Layer-&gt;run();</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;}</div>
+<p class="definition">Definition at line <a class="el" href="_neon_transpose_convolution2d_workload_8cpp_source.html#l00112">112</a> of file <a class="el" href="_neon_transpose_convolution2d_workload_8cpp_source.html">NeonTransposeConvolution2dWorkload.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;{</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="_neon_workload_utils_8hpp.html#a7f97eedf3c9436b110df92c947bbb55d">ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID</a>(<span class="stringliteral">&quot;NeonTransposeConvolution2dWorkload_Execute&quot;</span>);</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; m_Layer-&gt;run();</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;}</div>
</div><!-- fragment -->
-<p class="reference">References <a class="el" href="_neon_workload_utils_8hpp_source.html#l00032">ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID</a>.</p>
+<p class="reference">References <a class="el" href="_neon_workload_utils_8hpp_source.html#l00033">ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID</a>.</p>
</div>
</div>
@@ -307,13 +305,12 @@ Additional Inherited Members</h2></td></tr>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
-<div class="ttc" id="a_assert_8hpp_html_a5698be69cbd5dfe6c28fcd9867e8cbed"><div class="ttname"><a href="_assert_8hpp.html#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a></div><div class="ttdeci">#define ARMNN_ASSERT(COND)</div><div class="ttdef"><b>Definition:</b> <a href="_assert_8hpp_source.html#l00014">Assert.hpp:14</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_optional_html"><div class="ttname"><a href="classarmnn_1_1_optional.html">armnn::Optional&lt; armnn::TensorInfo &gt;</a></div></div>
<div class="ttc" id="anamespacearmnn_html_ad1d5cce2d9e9a5d61c243e5c989112e0"><div class="ttname"><a href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a></div><div class="ttdeci">DataLayout</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.html#l00062">Types.hpp:62</a></div></div>
-<div class="ttc" id="astructarmnn_1_1_queue_descriptor_html_a765d2cee4ccce5b9467e0c2b6d25b84a"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor.html#a765d2cee4ccce5b9467e0c2b6d25b84a">armnn::QueueDescriptor::ValidateInputsOutputs</a></div><div class="ttdeci">void ValidateInputsOutputs(const std::string &amp;descName, unsigned int numExpectedIn, unsigned int numExpectedOut) const</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8cpp_source.html#l00446">WorkloadData.cpp:446</a></div></div>
+<div class="ttc" id="astructarmnn_1_1_queue_descriptor_html_a765d2cee4ccce5b9467e0c2b6d25b84a"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor.html#a765d2cee4ccce5b9467e0c2b6d25b84a">armnn::QueueDescriptor::ValidateInputsOutputs</a></div><div class="ttdeci">void ValidateInputsOutputs(const std::string &amp;descName, unsigned int numExpectedIn, unsigned int numExpectedOut) const</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8cpp_source.html#l00447">WorkloadData.cpp:447</a></div></div>
<div class="ttc" id="astructarmnn_1_1_transpose_convolution2d_queue_descriptor_html_a9a8a6e0c6074b895eb2ff9a16e5003a5"><div class="ttname"><a href="structarmnn_1_1_transpose_convolution2d_queue_descriptor.html#a9a8a6e0c6074b895eb2ff9a16e5003a5">armnn::TransposeConvolution2dQueueDescriptor::m_Weight</a></div><div class="ttdeci">const ConstTensorHandle * m_Weight</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.html#l00551">WorkloadData.hpp:551</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_const_tensor_handle_html_a66e8f43a5b42b500871ed96e15419567"><div class="ttname"><a href="classarmnn_1_1_const_tensor_handle.html#a66e8f43a5b42b500871ed96e15419567">armnn::ConstTensorHandle::GetTensorInfo</a></div><div class="ttdeci">const TensorInfo &amp; GetTensorInfo() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_handle_8hpp_source.html#l00040">TensorHandle.hpp:40</a></div></div>
-<div class="ttc" id="anamespacearmnn_html_a611208865d55ea576cc89ac86d7c19b7"><div class="ttname"><a href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">armnn::InitializeArmComputeTensorData</a></div><div class="ttdeci">void InitializeArmComputeTensorData(arm_compute::Tensor &amp;tensor, TensorInfo tensorInfo, const ITensorHandle *handle)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00068">NeonWorkloadUtils.hpp:68</a></div></div>
+<div class="ttc" id="anamespacearmnn_html_a611208865d55ea576cc89ac86d7c19b7"><div class="ttname"><a href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">armnn::InitializeArmComputeTensorData</a></div><div class="ttdeci">void InitializeArmComputeTensorData(arm_compute::Tensor &amp;tensor, TensorInfo tensorInfo, const ITensorHandle *handle)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00069">NeonWorkloadUtils.hpp:69</a></div></div>
<div class="ttc" id="astructarmnn_1_1_queue_descriptor_with_parameters_html_aad91b9bbf7aa365d304febe79a3d1333"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">armnn::QueueDescriptorWithParameters::m_Parameters</a></div><div class="ttdeci">LayerDescriptor m_Parameters</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.html#l00066">WorkloadData.hpp:66</a></div></div>
<div class="ttc" id="astructarmnn_1_1_transpose_convolution2d_queue_descriptor_html_a1f3f6acdd5436ccf488d5ee3e9e60c02"><div class="ttname"><a href="structarmnn_1_1_transpose_convolution2d_queue_descriptor.html#a1f3f6acdd5436ccf488d5ee3e9e60c02">armnn::TransposeConvolution2dQueueDescriptor::m_Bias</a></div><div class="ttdeci">const ConstTensorHandle * m_Bias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.html#l00552">WorkloadData.hpp:552</a></div></div>
<div class="ttc" id="anamespacearmnn_html_a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c"><div class="ttname"><a href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">armnn::BoostLogSeverityMapping::info</a></div><div class="ttdeci">@ info</div></div>
@@ -322,13 +319,13 @@ Additional Inherited Members</h2></td></tr>
<div class="ttc" id="aclassarmnn_1_1_base_workload_html_afb8d2c8817c75de9d01a4c0e0d5c160b"><div class="ttname"><a href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">armnn::BaseWorkload&lt; TransposeConvolution2dQueueDescriptor &gt;::m_Data</a></div><div class="ttdeci">TransposeConvolution2dQueueDescriptor m_Data</div><div class="ttdef"><b>Definition:</b> <a href="_workload_8hpp_source.html#l00089">Workload.hpp:89</a></div></div>
<div class="ttc" id="astructarmnn_1_1_transpose_convolution2d_descriptor_html_aea202e14d8874cefd9a0f778022b7e25"><div class="ttname"><a href="structarmnn_1_1_transpose_convolution2d_descriptor.html#aea202e14d8874cefd9a0f778022b7e25">armnn::TransposeConvolution2dDescriptor::m_BiasEnabled</a></div><div class="ttdeci">bool m_BiasEnabled</div><div class="ttdoc">Enable/disable bias.</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l01481">Descriptors.hpp:1481</a></div></div>
<div class="ttc" id="astructarmnn_1_1_transpose_convolution2d_descriptor_html_a6089e1ca91914015777ea780a513131a"><div class="ttname"><a href="structarmnn_1_1_transpose_convolution2d_descriptor.html#a6089e1ca91914015777ea780a513131a">armnn::TransposeConvolution2dDescriptor::m_DataLayout</a></div><div class="ttdeci">DataLayout m_DataLayout</div><div class="ttdoc">The data layout to be used (NCHW, NHWC).</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l01483">Descriptors.hpp:1483</a></div></div>
-<div class="ttc" id="a_neon_workload_utils_8hpp_html_a7f97eedf3c9436b110df92c947bbb55d"><div class="ttname"><a href="_neon_workload_utils_8hpp.html#a7f97eedf3c9436b110df92c947bbb55d">ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID</a></div><div class="ttdeci">#define ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID(label)</div><div class="ttdoc">Creates a profiling event that uses GetGuid() and GetName() from the calling class.</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00032">NeonWorkloadUtils.hpp:32</a></div></div>
+<div class="ttc" id="a_neon_workload_utils_8hpp_html_a7f97eedf3c9436b110df92c947bbb55d"><div class="ttname"><a href="_neon_workload_utils_8hpp.html#a7f97eedf3c9436b110df92c947bbb55d">ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID</a></div><div class="ttdeci">#define ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID(label)</div><div class="ttdoc">Creates a profiling event that uses GetGuid() and GetName() from the calling class.</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00033">NeonWorkloadUtils.hpp:33</a></div></div>
<div class="ttc" id="astructarmnn_1_1_queue_descriptor_html_a4b50e46a6810018f3edecfb68b2a76b3"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor.html#a4b50e46a6810018f3edecfb68b2a76b3">armnn::QueueDescriptor::m_Inputs</a></div><div class="ttdeci">std::vector&lt; ITensorHandle * &gt; m_Inputs</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.html#l00026">WorkloadData.hpp:26</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_neon_transpose_convolution2d_workload.html">NeonTransposeConvolution2dWorkload</a></li>
- <li class="footer">Generated on Wed Feb 14 2024 16:36:24 for Arm NN by
+ <li class="footer">Generated on Thu May 16 2024 09:31:57 for Arm NN by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>