<!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="viewport" content="width=device-width, initial-scale=1"/>
<title>ArmNN: The layers that ArmNN SDK Serializer currently supports.</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>
<link href="doxygen.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;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ArmNN
   &#160;<span id="projectnumber">NotReleased</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('md_src_armnn_serializer__serializer_support.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

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

<div class="header">
  <div class="headertitle">
<div class="title">The layers that ArmNN SDK Serializer currently supports. </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>This reference guide provides a list of layers which can be serialized currently by the Arm NN SDK.</p>
<h2>Fully supported</h2>
<p>The Arm NN SDK Serializer currently supports the following layers:</p>
<ul>
<li>Activation</li>
<li>Addition</li>
<li>ArgMinMax</li>
<li>BatchToSpaceNd</li>
<li>BatchNormalization</li>
<li>Comparison</li>
<li>Concat</li>
<li>Constant</li>
<li>Convolution2d</li>
<li>DepthToSpace</li>
<li>DepthwiseConvolution2d</li>
<li>Dequantize</li>
<li>DetectionPostProcess</li>
<li>Division</li>
<li>ElementwiseUnary</li>
<li>Floor</li>
<li>FullyConnected</li>
<li>Gather</li>
<li>Input</li>
<li>InstanceNormalization</li>
<li>L2Normalization</li>
<li>LogSoftmax</li>
<li>Lstm</li>
<li>Maximum</li>
<li>Mean</li>
<li>Merge</li>
<li>Minimum</li>
<li>Multiplication</li>
<li>Normalization</li>
<li>Output</li>
<li>Pad</li>
<li>Permute</li>
<li>Pooling2d</li>
<li>Prelu</li>
<li>Quantize</li>
<li>QuantizedLstm</li>
<li>Reshape</li>
<li>Resize</li>
<li>ResizeBilinear</li>
<li>Slice</li>
<li>Softmax</li>
<li>SpaceToBatchNd</li>
<li>SpaceToDepth</li>
<li>Splitter</li>
<li>Stack</li>
<li>StandIn</li>
<li>StridedSlice</li>
<li>Subtraction</li>
<li>Switch</li>
<li>TransposeConvolution2d</li>
</ul>
<p>More machine learning layers will be supported in future releases.</p>
<h2>Deprecated layers</h2>
<p>Some layers have been deprecated and replaced by others layers. In order to maintain backward compatibility, serializations of these deprecated layers will deserialize to the layers that have replaced them, as follows:</p>
<ul>
<li>Equal will deserialize as Comparison</li>
<li>Merger will deserialize as Concat</li>
<li>Greater will deserialize as Comparison</li>
<li>ResizeBilinear will deserialize as Resize</li>
<li>Abs will deserialize as ElementwiseUnary</li>
<li>Rsqrt will deserialize as ElementwiseUnary </li>
</ul>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Fri Mar 13 2020 16:07:01 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>
