<!-- 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: StringifyLayerParameters&lt; TransposeConvolution2dDescriptor &gt; Struct Template 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('structarmnn_1_1_stringify_layer_parameters_3_01_transpose_convolution2d_descriptor_01_4.xhtml','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="structarmnn_1_1_stringify_layer_parameters_3_01_transpose_convolution2d_descriptor_01_4-members.xhtml">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">StringifyLayerParameters&lt; TransposeConvolution2dDescriptor &gt; Struct Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_serialize_layer_parameters_8hpp_source.xhtml">SerializeLayerParameters.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a262d232ee528759242200a9b306f0756"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_stringify_layer_parameters_3_01_transpose_convolution2d_descriptor_01_4.xhtml#a262d232ee528759242200a9b306f0756">Serialize</a> (<a class="el" href="namespacearmnn.xhtml#a8c42c6647e31ebe525aeba878d133e45">ParameterStringifyFunction</a> &amp;fn, const <a class="el" href="structarmnn_1_1_transpose_convolution2d_descriptor.xhtml">TransposeConvolution2dDescriptor</a> &amp;desc)</td></tr>
<tr class="separator:a262d232ee528759242200a9b306f0756"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;&gt;<br />
struct armnn::StringifyLayerParameters&lt; TransposeConvolution2dDescriptor &gt;</h3>


<p class="definition">Definition at line <a class="el" href="_serialize_layer_parameters_8hpp_source.xhtml#l00158">158</a> of file <a class="el" href="_serialize_layer_parameters_8hpp_source.xhtml">SerializeLayerParameters.hpp</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a262d232ee528759242200a9b306f0756"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a262d232ee528759242200a9b306f0756">&#9670;&nbsp;</a></span>Serialize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Serialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacearmnn.xhtml#a8c42c6647e31ebe525aeba878d133e45">ParameterStringifyFunction</a> &amp;&#160;</td>
          <td class="paramname"><em>fn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structarmnn_1_1_transpose_convolution2d_descriptor.xhtml">TransposeConvolution2dDescriptor</a> &amp;&#160;</td>
          <td class="paramname"><em>desc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_serialize_layer_parameters_8cpp_source.xhtml#l00473">473</a> of file <a class="el" href="_serialize_layer_parameters_8cpp_source.xhtml">SerializeLayerParameters.cpp</a>.</p>

<p class="reference">References <a class="el" href="_types_utils_8hpp_source.xhtml#l00190">armnn::GetDataLayoutName()</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l01117">TransposeConvolution2dDescriptor::m_BiasEnabled</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l01119">TransposeConvolution2dDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l01111">TransposeConvolution2dDescriptor::m_PadBottom</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l01105">TransposeConvolution2dDescriptor::m_PadLeft</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l01107">TransposeConvolution2dDescriptor::m_PadRight</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l01109">TransposeConvolution2dDescriptor::m_PadTop</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l01113">TransposeConvolution2dDescriptor::m_StrideX</a>, and <a class="el" href="_descriptors_8hpp_source.xhtml#l01115">TransposeConvolution2dDescriptor::m_StrideY</a>.</p>
<div class="fragment"><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;{</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;    {</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;        std::stringstream ss;</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;        ss &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; desc.m_PadTop    &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; desc.m_PadLeft</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;           &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; desc.m_PadBottom &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; desc.m_PadRight &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;        fn(<span class="stringliteral">&quot;Padding(T,L,B,R)&quot;</span>,ss.str());</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    }</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    {</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        std::stringstream ss;</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;        ss &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; desc.m_StrideX &lt;&lt;  <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; desc.m_StrideY &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;        fn(<span class="stringliteral">&quot;Stride(X,Y)&quot;</span>, ss.str());</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    }</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;    fn(<span class="stringliteral">&quot;BiasEnabled&quot;</span>, (desc.m_BiasEnabled ? <span class="stringliteral">&quot;true&quot;</span> : <span class="stringliteral">&quot;false&quot;</span>));</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    fn(<span class="stringliteral">&quot;DataLayout&quot;</span>, <a class="code" href="namespacearmnn.xhtml#aeef70b7611ae71e97ab55c75ef72b210">GetDataLayoutName</a>(desc.m_DataLayout));</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_aeef70b7611ae71e97ab55c75ef72b210"><div class="ttname"><a href="namespacearmnn.xhtml#aeef70b7611ae71e97ab55c75ef72b210">armnn::GetDataLayoutName</a></div><div class="ttdeci">constexpr const char * GetDataLayoutName(DataLayout dataLayout)</div><div class="ttdef"><b>Definition:</b> <a href="_types_utils_8hpp_source.xhtml#l00190">TypesUtils.hpp:190</a></div></div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>src/armnn/<a class="el" href="_serialize_layer_parameters_8hpp_source.xhtml">SerializeLayerParameters.hpp</a></li>
<li>src/armnn/<a class="el" href="_serialize_layer_parameters_8cpp_source.xhtml">SerializeLayerParameters.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacearmnn.xhtml">armnn</a></li><li class="navelem"><a class="el" href="structarmnn_1_1_stringify_layer_parameters_3_01_transpose_convolution2d_descriptor_01_4.xhtml">StringifyLayerParameters&lt; TransposeConvolution2dDescriptor &gt;</a></li>
    <li class="footer">Generated on Fri Mar 13 2020 16:09:20 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>
