aboutsummaryrefslogtreecommitdiff
path: root/20.02/classarmnn_deserializer_1_1_deserializer.xhtml
diff options
context:
space:
mode:
Diffstat (limited to '20.02/classarmnn_deserializer_1_1_deserializer.xhtml')
-rw-r--r--20.02/classarmnn_deserializer_1_1_deserializer.xhtml1141
1 files changed, 1141 insertions, 0 deletions
diff --git a/20.02/classarmnn_deserializer_1_1_deserializer.xhtml b/20.02/classarmnn_deserializer_1_1_deserializer.xhtml
new file mode 100644
index 0000000000..6b6f85f44e
--- /dev/null
+++ b/20.02/classarmnn_deserializer_1_1_deserializer.xhtml
@@ -0,0 +1,1141 @@
+<!-- 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: Deserializer Class 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('classarmnn_deserializer_1_1_deserializer.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="#nested-classes">Classes</a> &#124;
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classarmnn_deserializer_1_1_deserializer-members.xhtml">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">Deserializer Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for Deserializer:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classarmnn_deserializer_1_1_deserializer.png" usemap="#Deserializer_map" alt=""/>
+ <map id="Deserializer_map" name="Deserializer_map">
+<area href="classarmnn_deserializer_1_1_i_deserializer.xhtml" alt="IDeserializer" shape="rect" coords="0,0,83,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a68b76ee033fdd629404369171c3d4f90"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a68b76ee033fdd629404369171c3d4f90">ConstTensorRawPtr</a> = const armnnSerializer::ConstTensor *</td></tr>
+<tr class="separator:a68b76ee033fdd629404369171c3d4f90"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a38c1f8ba8e51364802669c968cf98ff5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">GraphPtr</a> = const armnnSerializer::SerializedGraph *</td></tr>
+<tr class="separator:a38c1f8ba8e51364802669c968cf98ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a80888061963ddd18e87105807a035d9a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a80888061963ddd18e87105807a035d9a">TensorRawPtr</a> = const armnnSerializer::TensorInfo *</td></tr>
+<tr class="separator:a80888061963ddd18e87105807a035d9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0dc66e036f16781886a1ce530e11c2d8"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a0dc66e036f16781886a1ce530e11c2d8">PoolingDescriptor</a> = const armnnSerializer::Pooling2dDescriptor *</td></tr>
+<tr class="separator:a0dc66e036f16781886a1ce530e11c2d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2a282cf18fcfe848b47e946327ca1048"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a2a282cf18fcfe848b47e946327ca1048">NormalizationDescriptorPtr</a> = const armnnSerializer::NormalizationDescriptor *</td></tr>
+<tr class="separator:a2a282cf18fcfe848b47e946327ca1048"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15397ee26bc4b7d3a459b05e457be428"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a15397ee26bc4b7d3a459b05e457be428">LstmDescriptorPtr</a> = const armnnSerializer::LstmDescriptor *</td></tr>
+<tr class="separator:a15397ee26bc4b7d3a459b05e457be428"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93460fcf78d1b2dcab72dd8378739145"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a93460fcf78d1b2dcab72dd8378739145">LstmInputParamsPtr</a> = const armnnSerializer::LstmInputParams *</td></tr>
+<tr class="separator:a93460fcf78d1b2dcab72dd8378739145"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7acf3a0a92158bf8a2df8ab5467ad6f4"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a7acf3a0a92158bf8a2df8ab5467ad6f4">QunatizedLstmInputParamsPtr</a> = const armnnSerializer::QuantizedLstmInputParams *</td></tr>
+<tr class="separator:a7acf3a0a92158bf8a2df8ab5467ad6f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd8bee7fb9b86485a60bc7ee05114270"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#abd8bee7fb9b86485a60bc7ee05114270">TensorRawPtrVector</a> = std::vector&lt; <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a80888061963ddd18e87105807a035d9a">TensorRawPtr</a> &gt;</td></tr>
+<tr class="separator:abd8bee7fb9b86485a60bc7ee05114270"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a39be8e36d57d85162d1d72c320bc22f6"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a39be8e36d57d85162d1d72c320bc22f6">LayerRawPtr</a> = const armnnSerializer::LayerBase *</td></tr>
+<tr class="separator:a39be8e36d57d85162d1d72c320bc22f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a91ade61b5704e4f2c38c263c2be148ef"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a91ade61b5704e4f2c38c263c2be148ef">LayerBaseRawPtr</a> = const armnnSerializer::LayerBase *</td></tr>
+<tr class="separator:a91ade61b5704e4f2c38c263c2be148ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaabcc180b1c18918e92459fc282848c1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#aaabcc180b1c18918e92459fc282848c1">LayerBaseRawPtrVector</a> = std::vector&lt; <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a91ade61b5704e4f2c38c263c2be148ef">LayerBaseRawPtr</a> &gt;</td></tr>
+<tr class="separator:aaabcc180b1c18918e92459fc282848c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ae8ee09f5e3e78ecfdf00acfdc37588dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.xhtml#ace74f6f9feb95a964a49d79458232703">armnn::INetworkPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#ae8ee09f5e3e78ecfdf00acfdc37588dc">CreateNetworkFromBinary</a> (const std::vector&lt; uint8_t &gt; &amp;binaryContent) override</td></tr>
+<tr class="memdesc:ae8ee09f5e3e78ecfdf00acfdc37588dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an input network from binary file contents. <a href="#ae8ee09f5e3e78ecfdf00acfdc37588dc">More...</a><br /></td></tr>
+<tr class="separator:ae8ee09f5e3e78ecfdf00acfdc37588dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba8f9e71e60dd58b6e1165b3accd43b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.xhtml#ace74f6f9feb95a964a49d79458232703">armnn::INetworkPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#aba8f9e71e60dd58b6e1165b3accd43b8">CreateNetworkFromBinary</a> (std::istream &amp;binaryContent) override</td></tr>
+<tr class="memdesc:aba8f9e71e60dd58b6e1165b3accd43b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an input network from a binary input stream. <a href="#aba8f9e71e60dd58b6e1165b3accd43b8">More...</a><br /></td></tr>
+<tr class="separator:aba8f9e71e60dd58b6e1165b3accd43b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66c5e4250559faefd7f0fa35ccbdc9eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structarmnn_deserializer_1_1_binding_point_info.xhtml">BindingPointInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a66c5e4250559faefd7f0fa35ccbdc9eb">GetNetworkInputBindingInfo</a> (unsigned int layerId, const std::string &amp;name) const override</td></tr>
+<tr class="memdesc:a66c5e4250559faefd7f0fa35ccbdc9eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve binding info (layer id and tensor info) for the network input identified by the given layer name. <a href="#a66c5e4250559faefd7f0fa35ccbdc9eb">More...</a><br /></td></tr>
+<tr class="separator:a66c5e4250559faefd7f0fa35ccbdc9eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9cf8ca62e8da6d21e08dc130f68dce4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structarmnn_deserializer_1_1_binding_point_info.xhtml">BindingPointInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#ae9cf8ca62e8da6d21e08dc130f68dce4">GetNetworkOutputBindingInfo</a> (unsigned int layerId, const std::string &amp;name) const override</td></tr>
+<tr class="memdesc:ae9cf8ca62e8da6d21e08dc130f68dce4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve binding info (layer id and tensor info) for the network output identified by the given layer name. <a href="#ae9cf8ca62e8da6d21e08dc130f68dce4">More...</a><br /></td></tr>
+<tr class="separator:ae9cf8ca62e8da6d21e08dc130f68dce4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43e0ec855f3a7ebf9f98fbee5321edcf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a43e0ec855f3a7ebf9f98fbee5321edcf">Deserializer</a> ()</td></tr>
+<tr class="separator:a43e0ec855f3a7ebf9f98fbee5321edcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcc4ae100496aaa3e6766dce0271033d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#adcc4ae100496aaa3e6766dce0271033d">~Deserializer</a> ()</td></tr>
+<tr class="separator:adcc4ae100496aaa3e6766dce0271033d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><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:a0ba4effa5ee7ef715b1f452365c41f97"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">GraphPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a0ba4effa5ee7ef715b1f452365c41f97">LoadGraphFromBinary</a> (const uint8_t *binaryContent, size_t len)</td></tr>
+<tr class="separator:a0ba4effa5ee7ef715b1f452365c41f97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0953e42cc1f6bb2a50504b631d68b114"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#abd8bee7fb9b86485a60bc7ee05114270">TensorRawPtrVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a0953e42cc1f6bb2a50504b631d68b114">GetInputs</a> (const <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">GraphPtr</a> &amp;graph, unsigned int layerIndex)</td></tr>
+<tr class="separator:a0953e42cc1f6bb2a50504b631d68b114"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c9267a47f5d254898c67bc0cb2535b9"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#abd8bee7fb9b86485a60bc7ee05114270">TensorRawPtrVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a0c9267a47f5d254898c67bc0cb2535b9">GetOutputs</a> (const <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">GraphPtr</a> &amp;graph, unsigned int layerIndex)</td></tr>
+<tr class="separator:a0c9267a47f5d254898c67bc0cb2535b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f332fc8fc6cf6488f8d8e374a4264fc"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a91ade61b5704e4f2c38c263c2be148ef">LayerBaseRawPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a6f332fc8fc6cf6488f8d8e374a4264fc">GetBaseLayer</a> (const <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">GraphPtr</a> &amp;graphPtr, unsigned int layerIndex)</td></tr>
+<tr class="separator:a6f332fc8fc6cf6488f8d8e374a4264fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afcc87bf0e20779861dd5d01a4bedcda9"><td class="memItemLeft" align="right" valign="top">static int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#afcc87bf0e20779861dd5d01a4bedcda9">GetBindingLayerInfo</a> (const <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">GraphPtr</a> &amp;graphPtr, unsigned int layerIndex)</td></tr>
+<tr class="separator:afcc87bf0e20779861dd5d01a4bedcda9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af2e5b4595b6abc056779ecd12bd271c2"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#af2e5b4595b6abc056779ecd12bd271c2">GetLayerName</a> (const <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">GraphPtr</a> &amp;graph, unsigned int index)</td></tr>
+<tr class="separator:af2e5b4595b6abc056779ecd12bd271c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a271f00048f7e48392794c2eee17c1e2c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structarmnn_1_1_pooling2d_descriptor.xhtml">armnn::Pooling2dDescriptor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a271f00048f7e48392794c2eee17c1e2c">GetPoolingDescriptor</a> (<a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a0dc66e036f16781886a1ce530e11c2d8">PoolingDescriptor</a> pooling2dDescriptor, unsigned int layerIndex)</td></tr>
+<tr class="separator:a271f00048f7e48392794c2eee17c1e2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a920251d49a8f32085d458ba23f776800"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structarmnn_1_1_normalization_descriptor.xhtml">armnn::NormalizationDescriptor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a920251d49a8f32085d458ba23f776800">GetNormalizationDescriptor</a> (<a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a2a282cf18fcfe848b47e946327ca1048">NormalizationDescriptorPtr</a> normalizationDescriptor, unsigned int layerIndex)</td></tr>
+<tr class="separator:a920251d49a8f32085d458ba23f776800"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af7bb02c61c6a5663121da024b7e042e8"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structarmnn_1_1_lstm_descriptor.xhtml">armnn::LstmDescriptor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#af7bb02c61c6a5663121da024b7e042e8">GetLstmDescriptor</a> (<a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a15397ee26bc4b7d3a459b05e457be428">LstmDescriptorPtr</a> lstmDescriptor)</td></tr>
+<tr class="separator:af7bb02c61c6a5663121da024b7e042e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a327a399d46f8216c9f4c1eea5f18a542"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structarmnn_1_1_lstm_input_params.xhtml">armnn::LstmInputParams</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a327a399d46f8216c9f4c1eea5f18a542">GetLstmInputParams</a> (<a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a15397ee26bc4b7d3a459b05e457be428">LstmDescriptorPtr</a> lstmDescriptor, <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a93460fcf78d1b2dcab72dd8378739145">LstmInputParamsPtr</a> lstmInputParams)</td></tr>
+<tr class="separator:a327a399d46f8216c9f4c1eea5f18a542"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8752c2b994619ae67201a297c2c76be2"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a8752c2b994619ae67201a297c2c76be2">OutputShapeOfReshape</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a> &amp;inputTensorInfo, const std::vector&lt; uint32_t &gt; &amp;targetDimsIn)</td></tr>
+<tr class="separator:a8752c2b994619ae67201a297c2c76be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_static_methods_classarmnn_deserializer_1_1_i_deserializer"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classarmnn_deserializer_1_1_i_deserializer')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classarmnn_deserializer_1_1_i_deserializer.xhtml">IDeserializer</a></td></tr>
+<tr class="memitem:a85f0c438b389992a68adeb6af59f362d inherit pub_static_methods_classarmnn_deserializer_1_1_i_deserializer"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classarmnn_deserializer_1_1_i_deserializer.xhtml">IDeserializer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_i_deserializer.xhtml#a85f0c438b389992a68adeb6af59f362d">CreateRaw</a> ()</td></tr>
+<tr class="separator:a85f0c438b389992a68adeb6af59f362d inherit pub_static_methods_classarmnn_deserializer_1_1_i_deserializer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af116abd698a7feb92876ae48917005a4 inherit pub_static_methods_classarmnn_deserializer_1_1_i_deserializer"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacearmnn_deserializer.xhtml#ad33c6040680106b9af566d7269d8c949">IDeserializerPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_i_deserializer.xhtml#af116abd698a7feb92876ae48917005a4">Create</a> ()</td></tr>
+<tr class="separator:af116abd698a7feb92876ae48917005a4 inherit pub_static_methods_classarmnn_deserializer_1_1_i_deserializer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe33a6c8701eff4d2f7233ce441e0426 inherit pub_static_methods_classarmnn_deserializer_1_1_i_deserializer"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_i_deserializer.xhtml#afe33a6c8701eff4d2f7233ce441e0426">Destroy</a> (<a class="el" href="classarmnn_deserializer_1_1_i_deserializer.xhtml">IDeserializer</a> *parser)</td></tr>
+<tr class="separator:afe33a6c8701eff4d2f7233ce441e0426 inherit pub_static_methods_classarmnn_deserializer_1_1_i_deserializer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_classarmnn_deserializer_1_1_i_deserializer"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classarmnn_deserializer_1_1_i_deserializer')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classarmnn_deserializer_1_1_i_deserializer.xhtml">IDeserializer</a></td></tr>
+<tr class="memitem:aa46cab6453307d54a7ff94f19ee47d53 inherit pro_methods_classarmnn_deserializer_1_1_i_deserializer"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_deserializer_1_1_i_deserializer.xhtml#aa46cab6453307d54a7ff94f19ee47d53">~IDeserializer</a> ()</td></tr>
+<tr class="separator:aa46cab6453307d54a7ff94f19ee47d53 inherit pro_methods_classarmnn_deserializer_1_1_i_deserializer"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="_deserializer_8hpp_source.xhtml#l00016">16</a> of file <a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a>.</p>
+</div><h2 class="groupheader">Member Typedef Documentation</h2>
+<a id="a68b76ee033fdd629404369171c3d4f90"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a68b76ee033fdd629404369171c3d4f90">&#9670;&nbsp;</a></span>ConstTensorRawPtr</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a68b76ee033fdd629404369171c3d4f90">ConstTensorRawPtr</a> = const armnnSerializer::ConstTensor *</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8hpp_source.xhtml#l00020">20</a> of file <a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a38c1f8ba8e51364802669c968cf98ff5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a38c1f8ba8e51364802669c968cf98ff5">&#9670;&nbsp;</a></span>GraphPtr</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">GraphPtr</a> = const armnnSerializer::SerializedGraph *</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8hpp_source.xhtml#l00021">21</a> of file <a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a91ade61b5704e4f2c38c263c2be148ef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a91ade61b5704e4f2c38c263c2be148ef">&#9670;&nbsp;</a></span>LayerBaseRawPtr</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a91ade61b5704e4f2c38c263c2be148ef">LayerBaseRawPtr</a> = const armnnSerializer::LayerBase *</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8hpp_source.xhtml#l00030">30</a> of file <a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a>.</p>
+
+</div>
+</div>
+<a id="aaabcc180b1c18918e92459fc282848c1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaabcc180b1c18918e92459fc282848c1">&#9670;&nbsp;</a></span>LayerBaseRawPtrVector</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#aaabcc180b1c18918e92459fc282848c1">LayerBaseRawPtrVector</a> = std::vector&lt;<a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a91ade61b5704e4f2c38c263c2be148ef">LayerBaseRawPtr</a>&gt;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8hpp_source.xhtml#l00031">31</a> of file <a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a39be8e36d57d85162d1d72c320bc22f6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a39be8e36d57d85162d1d72c320bc22f6">&#9670;&nbsp;</a></span>LayerRawPtr</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a39be8e36d57d85162d1d72c320bc22f6">LayerRawPtr</a> = const armnnSerializer::LayerBase *</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8hpp_source.xhtml#l00029">29</a> of file <a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a15397ee26bc4b7d3a459b05e457be428"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a15397ee26bc4b7d3a459b05e457be428">&#9670;&nbsp;</a></span>LstmDescriptorPtr</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a15397ee26bc4b7d3a459b05e457be428">LstmDescriptorPtr</a> = const armnnSerializer::LstmDescriptor *</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8hpp_source.xhtml#l00025">25</a> of file <a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a93460fcf78d1b2dcab72dd8378739145"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a93460fcf78d1b2dcab72dd8378739145">&#9670;&nbsp;</a></span>LstmInputParamsPtr</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a93460fcf78d1b2dcab72dd8378739145">LstmInputParamsPtr</a> = const armnnSerializer::LstmInputParams *</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8hpp_source.xhtml#l00026">26</a> of file <a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a2a282cf18fcfe848b47e946327ca1048"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2a282cf18fcfe848b47e946327ca1048">&#9670;&nbsp;</a></span>NormalizationDescriptorPtr</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a2a282cf18fcfe848b47e946327ca1048">NormalizationDescriptorPtr</a> = const armnnSerializer::NormalizationDescriptor *</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8hpp_source.xhtml#l00024">24</a> of file <a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a0dc66e036f16781886a1ce530e11c2d8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0dc66e036f16781886a1ce530e11c2d8">&#9670;&nbsp;</a></span>PoolingDescriptor</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a0dc66e036f16781886a1ce530e11c2d8">PoolingDescriptor</a> = const armnnSerializer::Pooling2dDescriptor *</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8hpp_source.xhtml#l00023">23</a> of file <a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a7acf3a0a92158bf8a2df8ab5467ad6f4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7acf3a0a92158bf8a2df8ab5467ad6f4">&#9670;&nbsp;</a></span>QunatizedLstmInputParamsPtr</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a7acf3a0a92158bf8a2df8ab5467ad6f4">QunatizedLstmInputParamsPtr</a> = const armnnSerializer::QuantizedLstmInputParams *</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8hpp_source.xhtml#l00027">27</a> of file <a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a80888061963ddd18e87105807a035d9a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a80888061963ddd18e87105807a035d9a">&#9670;&nbsp;</a></span>TensorRawPtr</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a80888061963ddd18e87105807a035d9a">TensorRawPtr</a> = const armnnSerializer::TensorInfo *</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8hpp_source.xhtml#l00022">22</a> of file <a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a>.</p>
+
+</div>
+</div>
+<a id="abd8bee7fb9b86485a60bc7ee05114270"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd8bee7fb9b86485a60bc7ee05114270">&#9670;&nbsp;</a></span>TensorRawPtrVector</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#abd8bee7fb9b86485a60bc7ee05114270">TensorRawPtrVector</a> = std::vector&lt;<a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a80888061963ddd18e87105807a035d9a">TensorRawPtr</a>&gt;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8hpp_source.xhtml#l00028">28</a> of file <a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a43e0ec855f3a7ebf9f98fbee5321edcf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a43e0ec855f3a7ebf9f98fbee5321edcf">&#9670;&nbsp;</a></span>Deserializer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml">Deserializer</a> </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8cpp_source.xhtml#l00186">186</a> of file <a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.cpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_deserializer_8cpp_source.xhtml#l00656">IDeserializer::CreateRaw()</a>, and <a class="el" href="_deserializer_8hpp_source.xhtml#l00048">Deserializer::~Deserializer()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;: m_Network(<span class="keyword">nullptr</span>, <span class="keyword">nullptr</span>),</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment">//May require LayerType_Max to be included</span></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;m_ParserFunctions(Layer_MAX+1, &amp;Deserializer::ParseUnsupportedLayer)</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;{</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="comment">// register supported layers</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; m_ParserFunctions[Layer_AbsLayer] = &amp;Deserializer::ParseAbs;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; m_ParserFunctions[Layer_ActivationLayer] = &amp;Deserializer::ParseActivation;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; m_ParserFunctions[Layer_AdditionLayer] = &amp;Deserializer::ParseAdd;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; m_ParserFunctions[Layer_ArgMinMaxLayer] = &amp;Deserializer::ParseArgMinMax;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; m_ParserFunctions[Layer_BatchToSpaceNdLayer] = &amp;Deserializer::ParseBatchToSpaceNd;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; m_ParserFunctions[Layer_BatchNormalizationLayer] = &amp;Deserializer::ParseBatchNormalization;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; m_ParserFunctions[Layer_ComparisonLayer] = &amp;Deserializer::ParseComparison;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; m_ParserFunctions[Layer_ConcatLayer] = &amp;Deserializer::ParseConcat;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; m_ParserFunctions[Layer_ConstantLayer] = &amp;Deserializer::ParseConstant;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; m_ParserFunctions[Layer_Convolution2dLayer] = &amp;Deserializer::ParseConvolution2d;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; m_ParserFunctions[Layer_DepthToSpaceLayer] = &amp;Deserializer::ParseDepthToSpace;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; m_ParserFunctions[Layer_DepthwiseConvolution2dLayer] = &amp;Deserializer::ParseDepthwiseConvolution2d;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; m_ParserFunctions[Layer_DequantizeLayer] = &amp;Deserializer::ParseDequantize;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; m_ParserFunctions[Layer_DetectionPostProcessLayer] = &amp;Deserializer::ParseDetectionPostProcess;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; m_ParserFunctions[Layer_DivisionLayer] = &amp;Deserializer::ParseDivision;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; m_ParserFunctions[Layer_ElementwiseUnaryLayer] = &amp;Deserializer::ParseElementwiseUnary;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; m_ParserFunctions[Layer_EqualLayer] = &amp;Deserializer::ParseEqual;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; m_ParserFunctions[Layer_FullyConnectedLayer] = &amp;Deserializer::ParseFullyConnected;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; m_ParserFunctions[Layer_FloorLayer] = &amp;Deserializer::ParseFloor;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; m_ParserFunctions[Layer_GatherLayer] = &amp;Deserializer::ParseGather;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; m_ParserFunctions[Layer_GreaterLayer] = &amp;Deserializer::ParseGreater;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; m_ParserFunctions[Layer_InstanceNormalizationLayer] = &amp;Deserializer::ParseInstanceNormalization;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; m_ParserFunctions[Layer_L2NormalizationLayer] = &amp;Deserializer::ParseL2Normalization;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; m_ParserFunctions[Layer_LogSoftmaxLayer] = &amp;Deserializer::ParseLogSoftmax;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; m_ParserFunctions[Layer_LstmLayer] = &amp;Deserializer::ParseLstm;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; m_ParserFunctions[Layer_MaximumLayer] = &amp;Deserializer::ParseMaximum;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; m_ParserFunctions[Layer_MeanLayer] = &amp;Deserializer::ParseMean;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; m_ParserFunctions[Layer_MinimumLayer] = &amp;Deserializer::ParseMinimum;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; m_ParserFunctions[Layer_MergeLayer] = &amp;Deserializer::ParseMerge;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; m_ParserFunctions[Layer_MergerLayer] = &amp;Deserializer::ParseConcat;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; m_ParserFunctions[Layer_MultiplicationLayer] = &amp;Deserializer::ParseMultiplication;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; m_ParserFunctions[Layer_NormalizationLayer] = &amp;Deserializer::ParseNormalization;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; m_ParserFunctions[Layer_PadLayer] = &amp;Deserializer::ParsePad;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; m_ParserFunctions[Layer_PermuteLayer] = &amp;Deserializer::ParsePermute;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; m_ParserFunctions[Layer_Pooling2dLayer] = &amp;Deserializer::ParsePooling2d;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; m_ParserFunctions[Layer_PreluLayer] = &amp;Deserializer::ParsePrelu;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; m_ParserFunctions[Layer_QuantizeLayer] = &amp;Deserializer::ParseQuantize;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; m_ParserFunctions[Layer_QuantizedLstmLayer] = &amp;Deserializer::ParseQuantizedLstm;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; m_ParserFunctions[Layer_ReshapeLayer] = &amp;Deserializer::ParseReshape;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; m_ParserFunctions[Layer_ResizeBilinearLayer] = &amp;Deserializer::ParseResizeBilinear;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; m_ParserFunctions[Layer_ResizeLayer] = &amp;Deserializer::ParseResize;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; m_ParserFunctions[Layer_RsqrtLayer] = &amp;Deserializer::ParseRsqrt;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; m_ParserFunctions[Layer_SliceLayer] = &amp;Deserializer::ParseSlice;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; m_ParserFunctions[Layer_SoftmaxLayer] = &amp;Deserializer::ParseSoftmax;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; m_ParserFunctions[Layer_SpaceToBatchNdLayer] = &amp;Deserializer::ParseSpaceToBatchNd;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; m_ParserFunctions[Layer_SpaceToDepthLayer] = &amp;Deserializer::ParseSpaceToDepth;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; m_ParserFunctions[Layer_SplitterLayer] = &amp;Deserializer::ParseSplitter;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; m_ParserFunctions[Layer_StackLayer] = &amp;Deserializer::ParseStack;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; m_ParserFunctions[Layer_StandInLayer] = &amp;Deserializer::ParseStandIn;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; m_ParserFunctions[Layer_StridedSliceLayer] = &amp;Deserializer::ParseStridedSlice;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; m_ParserFunctions[Layer_SubtractionLayer] = &amp;Deserializer::ParseSubtraction;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; m_ParserFunctions[Layer_SwitchLayer] = &amp;Deserializer::ParseSwitch;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; m_ParserFunctions[Layer_TransposeConvolution2dLayer] = &amp;Deserializer::ParseTransposeConvolution2d;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; m_ParserFunctions[Layer_TransposeLayer] = &amp;Deserializer::ParseTranspose;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="adcc4ae100496aaa3e6766dce0271033d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adcc4ae100496aaa3e6766dce0271033d">&#9670;&nbsp;</a></span>~Deserializer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">~<a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml">Deserializer</a> </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8hpp_source.xhtml#l00048">48</a> of file <a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a>.</p>
+
+<p class="reference">References <a class="el" href="_deserializer_8cpp_source.xhtml#l00186">Deserializer::Deserializer()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00248">Deserializer::GetBaseLayer()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00379">Deserializer::GetBindingLayerInfo()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00601">Deserializer::GetInputs()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00372">Deserializer::GetLayerName()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l02465">Deserializer::GetLstmDescriptor()</a>, <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a327a399d46f8216c9f4c1eea5f18a542">Deserializer::GetLstmInputParams()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l02159">Deserializer::GetNormalizationDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00619">Deserializer::GetOutputs()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l01808">Deserializer::GetPoolingDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00686">Deserializer::LoadGraphFromBinary()</a>, and <a class="el" href="_deserializer_8cpp_source.xhtml#l01938">Deserializer::OutputShapeOfReshape()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{}</div></div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="ae8ee09f5e3e78ecfdf00acfdc37588dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae8ee09f5e3e78ecfdf00acfdc37588dc">&#9670;&nbsp;</a></span>CreateNetworkFromBinary() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacearmnn.xhtml#ace74f6f9feb95a964a49d79458232703">INetworkPtr</a> CreateNetworkFromBinary </td>
+ <td>(</td>
+ <td class="paramtype">const std::vector&lt; uint8_t &gt; &amp;&#160;</td>
+ <td class="paramname"><em>binaryContent</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Create an input network from binary file contents. </p>
+
+<p>Implements <a class="el" href="classarmnn_deserializer_1_1_i_deserializer.xhtml#a7dd0134440a006226f95d547f0b3e89c">IDeserializer</a>.</p>
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8cpp_source.xhtml#l00671">671</a> of file <a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="_deserializer_8cpp_source.xhtml#l00686">Deserializer::LoadGraphFromBinary()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;{</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; ResetParser();</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <a class="code" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">GraphPtr</a> graph = <a class="code" href="classarmnn_deserializer_1_1_deserializer.xhtml#a0ba4effa5ee7ef715b1f452365c41f97">LoadGraphFromBinary</a>(binaryContent.data(), binaryContent.size());</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">return</span> CreateNetworkFromGraph(graph);</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;}</div><div class="ttc" id="classarmnn_deserializer_1_1_deserializer_xhtml_a0ba4effa5ee7ef715b1f452365c41f97"><div class="ttname"><a href="classarmnn_deserializer_1_1_deserializer.xhtml#a0ba4effa5ee7ef715b1f452365c41f97">armnnDeserializer::Deserializer::LoadGraphFromBinary</a></div><div class="ttdeci">static GraphPtr LoadGraphFromBinary(const uint8_t *binaryContent, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="_deserializer_8cpp_source.xhtml#l00686">Deserializer.cpp:686</a></div></div>
+<div class="ttc" id="classarmnn_deserializer_1_1_deserializer_xhtml_a38c1f8ba8e51364802669c968cf98ff5"><div class="ttname"><a href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">armnnDeserializer::Deserializer::GraphPtr</a></div><div class="ttdeci">const armnnSerializer::SerializedGraph * GraphPtr</div><div class="ttdef"><b>Definition:</b> <a href="_deserializer_8hpp_source.xhtml#l00021">Deserializer.hpp:21</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="aba8f9e71e60dd58b6e1165b3accd43b8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba8f9e71e60dd58b6e1165b3accd43b8">&#9670;&nbsp;</a></span>CreateNetworkFromBinary() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacearmnn.xhtml#ace74f6f9feb95a964a49d79458232703">armnn::INetworkPtr</a> CreateNetworkFromBinary </td>
+ <td>(</td>
+ <td class="paramtype">std::istream &amp;&#160;</td>
+ <td class="paramname"><em>binaryContent</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Create an input network from a binary input stream. </p>
+
+<p>Implements <a class="el" href="classarmnn_deserializer_1_1_i_deserializer.xhtml#af2fc17d61fa555423b2b1665c918cf5a">IDeserializer</a>.</p>
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8cpp_source.xhtml#l00678">678</a> of file <a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="_deserializer_8cpp_source.xhtml#l00686">Deserializer::LoadGraphFromBinary()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;{</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; ResetParser();</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; std::vector&lt;uint8_t&gt; content((std::istreambuf_iterator&lt;char&gt;(binaryContent)), std::istreambuf_iterator&lt;char&gt;());</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <a class="code" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">GraphPtr</a> graph = <a class="code" href="classarmnn_deserializer_1_1_deserializer.xhtml#a0ba4effa5ee7ef715b1f452365c41f97">LoadGraphFromBinary</a>(content.data(), content.size());</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">return</span> CreateNetworkFromGraph(graph);</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160;}</div><div class="ttc" id="classarmnn_deserializer_1_1_deserializer_xhtml_a0ba4effa5ee7ef715b1f452365c41f97"><div class="ttname"><a href="classarmnn_deserializer_1_1_deserializer.xhtml#a0ba4effa5ee7ef715b1f452365c41f97">armnnDeserializer::Deserializer::LoadGraphFromBinary</a></div><div class="ttdeci">static GraphPtr LoadGraphFromBinary(const uint8_t *binaryContent, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="_deserializer_8cpp_source.xhtml#l00686">Deserializer.cpp:686</a></div></div>
+<div class="ttc" id="classarmnn_deserializer_1_1_deserializer_xhtml_a38c1f8ba8e51364802669c968cf98ff5"><div class="ttname"><a href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">armnnDeserializer::Deserializer::GraphPtr</a></div><div class="ttdeci">const armnnSerializer::SerializedGraph * GraphPtr</div><div class="ttdef"><b>Definition:</b> <a href="_deserializer_8hpp_source.xhtml#l00021">Deserializer.hpp:21</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a6f332fc8fc6cf6488f8d8e374a4264fc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6f332fc8fc6cf6488f8d8e374a4264fc">&#9670;&nbsp;</a></span>GetBaseLayer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a91ade61b5704e4f2c38c263c2be148ef">Deserializer::LayerBaseRawPtr</a> GetBaseLayer </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">GraphPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>graphPtr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned int&#160;</td>
+ <td class="paramname"><em>layerIndex</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="_deserializer_8cpp_source.xhtml#l00248">248</a> of file <a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.cpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_deserializer_8cpp_source.xhtml#l00601">Deserializer::GetInputs()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00372">Deserializer::GetLayerName()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00764">Deserializer::GetNetworkOutputBindingInfo()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00619">Deserializer::GetOutputs()</a>, and <a class="el" href="_deserializer_8hpp_source.xhtml#l00048">Deserializer::~Deserializer()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;{</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keyword">auto</span> layerType = graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_type();</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">switch</span>(layerType)</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; {</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">case</span> Layer::Layer_AbsLayer:</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_AbsLayer()-&gt;base();</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">case</span> Layer::Layer_ActivationLayer:</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_ActivationLayer()-&gt;base();</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">case</span> Layer::Layer_AdditionLayer:</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_AdditionLayer()-&gt;base();</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">case</span> Layer::Layer_ArgMinMaxLayer:</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_ArgMinMaxLayer()-&gt;base();</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">case</span> Layer::Layer_BatchToSpaceNdLayer:</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_BatchToSpaceNdLayer()-&gt;base();</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">case</span> Layer::Layer_BatchNormalizationLayer:</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_BatchNormalizationLayer()-&gt;base();</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">case</span> Layer::Layer_ComparisonLayer:</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_ComparisonLayer()-&gt;base();</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">case</span> Layer::Layer_ConcatLayer:</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_ConcatLayer()-&gt;base();</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">case</span> Layer::Layer_ConstantLayer:</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_ConstantLayer()-&gt;base();</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">case</span> Layer::Layer_Convolution2dLayer:</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_Convolution2dLayer()-&gt;base();</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">case</span> Layer::Layer_DepthToSpaceLayer:</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_DepthToSpaceLayer()-&gt;base();</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">case</span> Layer::Layer_DepthwiseConvolution2dLayer:</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_DepthwiseConvolution2dLayer()-&gt;base();</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">case</span> Layer::Layer_DequantizeLayer:</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_DequantizeLayer()-&gt;base();</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">case</span> Layer::Layer_DetectionPostProcessLayer:</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_DetectionPostProcessLayer()-&gt;base();</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">case</span> Layer::Layer_DivisionLayer:</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_DivisionLayer()-&gt;base();</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">case</span> Layer::Layer_EqualLayer:</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_EqualLayer()-&gt;base();</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">case</span> Layer::Layer_FullyConnectedLayer:</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_FullyConnectedLayer()-&gt;base();</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">case</span> Layer::Layer_FloorLayer:</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_FloorLayer()-&gt;base();</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">case</span> Layer::Layer_GatherLayer:</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_GatherLayer()-&gt;base();</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">case</span> Layer::Layer_GreaterLayer:</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_GreaterLayer()-&gt;base();</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">case</span> Layer::Layer_InputLayer:</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_InputLayer()-&gt;base()-&gt;base();</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">case</span> Layer::Layer_InstanceNormalizationLayer:</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_InstanceNormalizationLayer()-&gt;base();</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">case</span> Layer::Layer_L2NormalizationLayer:</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_L2NormalizationLayer()-&gt;base();</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">case</span> Layer::Layer_LogSoftmaxLayer:</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_LogSoftmaxLayer()-&gt;base();</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">case</span> Layer::Layer_LstmLayer:</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_LstmLayer()-&gt;base();</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">case</span> Layer::Layer_MeanLayer:</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_MeanLayer()-&gt;base();</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">case</span> Layer::Layer_MinimumLayer:</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_MinimumLayer()-&gt;base();</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">case</span> Layer::Layer_MaximumLayer:</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_MaximumLayer()-&gt;base();</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">case</span> Layer::Layer_MergeLayer:</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_MergeLayer()-&gt;base();</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">case</span> Layer::Layer_MergerLayer:</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_MergerLayer()-&gt;base();</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordflow">case</span> Layer::Layer_MultiplicationLayer:</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_MultiplicationLayer()-&gt;base();</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">case</span> Layer::Layer_NormalizationLayer:</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_NormalizationLayer()-&gt;base();</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">case</span> Layer::Layer_OutputLayer:</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_OutputLayer()-&gt;base()-&gt;base();</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">case</span> Layer::Layer_PadLayer:</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_PadLayer()-&gt;base();</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">case</span> Layer::Layer_PermuteLayer:</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_PermuteLayer()-&gt;base();</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">case</span> Layer::Layer_Pooling2dLayer:</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_Pooling2dLayer()-&gt;base();</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">case</span> Layer::Layer_PreluLayer:</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_PreluLayer()-&gt;base();</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">case</span> Layer::Layer_QuantizeLayer:</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_QuantizeLayer()-&gt;base();</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">case</span> Layer::Layer_QuantizedLstmLayer:</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_QuantizedLstmLayer()-&gt;base();</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">case</span> Layer::Layer_ReshapeLayer:</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_ReshapeLayer()-&gt;base();</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">case</span> Layer::Layer_ResizeBilinearLayer:</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_ResizeBilinearLayer()-&gt;base();</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">case</span> Layer::Layer_ResizeLayer:</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_ResizeLayer()-&gt;base();</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">case</span> Layer::Layer_RsqrtLayer:</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_RsqrtLayer()-&gt;base();</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">case</span> Layer::Layer_SliceLayer:</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_SliceLayer()-&gt;base();</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">case</span> Layer::Layer_SoftmaxLayer:</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_SoftmaxLayer()-&gt;base();</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">case</span> Layer::Layer_SpaceToBatchNdLayer:</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_SpaceToBatchNdLayer()-&gt;base();</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">case</span> Layer::Layer_SpaceToDepthLayer:</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_SpaceToDepthLayer()-&gt;base();</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">case</span> Layer::Layer_SplitterLayer:</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_SplitterLayer()-&gt;base();</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">case</span> Layer::Layer_StackLayer:</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_StackLayer()-&gt;base();</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">case</span> Layer::Layer_StandInLayer:</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_StandInLayer()-&gt;base();</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">case</span> Layer::Layer_StridedSliceLayer:</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_StridedSliceLayer()-&gt;base();</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">case</span> Layer::Layer_SubtractionLayer:</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_SubtractionLayer()-&gt;base();</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">case</span> Layer::Layer_SwitchLayer:</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_SwitchLayer()-&gt;base();</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">case</span> Layer::Layer_TransposeConvolution2dLayer:</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_TransposeConvolution2dLayer()-&gt;base();</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">case</span> Layer::Layer_TransposeLayer:</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_TransposeLayer()-&gt;base();</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">case</span> Layer::Layer_NONE:</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_parse_exception.xhtml">ParseException</a>(boost::str(</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; boost::format(<span class="stringliteral">&quot;Layer type %1% not recognized&quot;</span>) %</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; layerType));</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; }</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_parse_exception_xhtml"><div class="ttname"><a href="classarmnn_1_1_parse_exception.xhtml">armnn::ParseException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.xhtml#l00092">Exceptions.hpp:92</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="afcc87bf0e20779861dd5d01a4bedcda9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afcc87bf0e20779861dd5d01a4bedcda9">&#9670;&nbsp;</a></span>GetBindingLayerInfo()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">int32_t GetBindingLayerInfo </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">GraphPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>graphPtr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned int&#160;</td>
+ <td class="paramname"><em>layerIndex</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="_deserializer_8cpp_source.xhtml#l00379">379</a> of file <a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.cpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_deserializer_8cpp_source.xhtml#l00764">Deserializer::GetNetworkOutputBindingInfo()</a>, and <a class="el" href="_deserializer_8hpp_source.xhtml#l00048">Deserializer::~Deserializer()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;{</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keyword">auto</span> layerType = graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_type();</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">if</span> (layerType == Layer::Layer_InputLayer)</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; {</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_InputLayer()-&gt;base()-&gt;layerBindingId();</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; }</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( layerType == Layer::Layer_OutputLayer )</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">return</span> graphPtr-&gt;layers()-&gt;Get(layerIndex)-&gt;layer_as_OutputLayer()-&gt;base()-&gt;layerBindingId();</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;}</div></div><!-- fragment -->
+</div>
+</div>
+<a id="a0953e42cc1f6bb2a50504b631d68b114"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0953e42cc1f6bb2a50504b631d68b114">&#9670;&nbsp;</a></span>GetInputs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#abd8bee7fb9b86485a60bc7ee05114270">Deserializer::TensorRawPtrVector</a> GetInputs </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">GraphPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>graph</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned int&#160;</td>
+ <td class="paramname"><em>layerIndex</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="_deserializer_8cpp_source.xhtml#l00601">601</a> of file <a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="_deserializer_8cpp_source.xhtml#l00160">CHECK_LAYERS</a>, <a class="el" href="_verification_helpers_8hpp_source.xhtml#l00035">CHECKED_NON_NEGATIVE</a>, and <a class="el" href="_deserializer_8cpp_source.xhtml#l00248">Deserializer::GetBaseLayer()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_deserializer_8cpp_source.xhtml#l02465">Deserializer::GetLstmDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00764">Deserializer::GetNetworkOutputBindingInfo()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l02159">Deserializer::GetNormalizationDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l01554">armnnDeserializer::GetOriginsDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l01808">Deserializer::GetPoolingDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l01938">Deserializer::OutputShapeOfReshape()</a>, and <a class="el" href="_deserializer_8hpp_source.xhtml#l00048">Deserializer::~Deserializer()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160;{</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <a class="code" href="_deserializer_8cpp.xhtml#aa6798881c467e8e1a1906303f6d9e26d">CHECK_LAYERS</a>(graphPtr, 0, layerIndex);</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keyword">auto</span> layer = <a class="code" href="classarmnn_deserializer_1_1_deserializer.xhtml#a6f332fc8fc6cf6488f8d8e374a4264fc">GetBaseLayer</a>(graphPtr, layerIndex);</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span>&amp; numInputs = layer-&gt;inputSlots()-&gt;size();</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <a class="code" href="classarmnn_deserializer_1_1_deserializer.xhtml#abd8bee7fb9b86485a60bc7ee05114270">TensorRawPtrVector</a> result(numInputs);</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160;</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i&lt;numInputs; ++i)</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; {</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keyword">auto</span> inputId = <a class="code" href="_verification_helpers_8hpp.xhtml#aaef93dc9a69f51b59f3cdd0ff0165927">CHECKED_NON_NEGATIVE</a>(static_cast&lt;int32_t&gt;</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; (layer-&gt;inputSlots()-&gt;Get(i)-&gt;connection()-&gt;sourceLayerIndex()));</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; result[i] = <a class="code" href="classarmnn_deserializer_1_1_deserializer.xhtml#a6f332fc8fc6cf6488f8d8e374a4264fc">GetBaseLayer</a>(graphPtr, inputId)-&gt;outputSlots()-&gt;Get(0)-&gt;tensorInfo();</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; }</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;}</div><div class="ttc" id="_deserializer_8cpp_xhtml_aa6798881c467e8e1a1906303f6d9e26d"><div class="ttname"><a href="_deserializer_8cpp.xhtml#aa6798881c467e8e1a1906303f6d9e26d">CHECK_LAYERS</a></div><div class="ttdeci">#define CHECK_LAYERS(GRAPH, LAYERS_INDEX, LAYER_INDEX)</div><div class="ttdef"><b>Definition:</b> <a href="_deserializer_8cpp_source.xhtml#l00160">Deserializer.cpp:160</a></div></div>
+<div class="ttc" id="classarmnn_deserializer_1_1_deserializer_xhtml_a6f332fc8fc6cf6488f8d8e374a4264fc"><div class="ttname"><a href="classarmnn_deserializer_1_1_deserializer.xhtml#a6f332fc8fc6cf6488f8d8e374a4264fc">armnnDeserializer::Deserializer::GetBaseLayer</a></div><div class="ttdeci">static LayerBaseRawPtr GetBaseLayer(const GraphPtr &amp;graphPtr, unsigned int layerIndex)</div><div class="ttdef"><b>Definition:</b> <a href="_deserializer_8cpp_source.xhtml#l00248">Deserializer.cpp:248</a></div></div>
+<div class="ttc" id="_verification_helpers_8hpp_xhtml_aaef93dc9a69f51b59f3cdd0ff0165927"><div class="ttname"><a href="_verification_helpers_8hpp.xhtml#aaef93dc9a69f51b59f3cdd0ff0165927">CHECKED_NON_NEGATIVE</a></div><div class="ttdeci">#define CHECKED_NON_NEGATIVE(VALUE)</div><div class="ttdef"><b>Definition:</b> <a href="_verification_helpers_8hpp_source.xhtml#l00035">VerificationHelpers.hpp:35</a></div></div>
+<div class="ttc" id="classarmnn_deserializer_1_1_deserializer_xhtml_abd8bee7fb9b86485a60bc7ee05114270"><div class="ttname"><a href="classarmnn_deserializer_1_1_deserializer.xhtml#abd8bee7fb9b86485a60bc7ee05114270">armnnDeserializer::Deserializer::TensorRawPtrVector</a></div><div class="ttdeci">std::vector&lt; TensorRawPtr &gt; TensorRawPtrVector</div><div class="ttdef"><b>Definition:</b> <a href="_deserializer_8hpp_source.xhtml#l00028">Deserializer.hpp:28</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="af2e5b4595b6abc056779ecd12bd271c2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af2e5b4595b6abc056779ecd12bd271c2">&#9670;&nbsp;</a></span>GetLayerName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::string GetLayerName </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">GraphPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>graph</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned int&#160;</td>
+ <td class="paramname"><em>index</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="_deserializer_8cpp_source.xhtml#l00372">372</a> of file <a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="_deserializer_8cpp_source.xhtml#l00248">Deserializer::GetBaseLayer()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_deserializer_8cpp_source.xhtml#l02465">Deserializer::GetLstmDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00764">Deserializer::GetNetworkOutputBindingInfo()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l02159">Deserializer::GetNormalizationDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l01554">armnnDeserializer::GetOriginsDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l01808">Deserializer::GetPoolingDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l01938">Deserializer::OutputShapeOfReshape()</a>, and <a class="el" href="_deserializer_8hpp_source.xhtml#l00048">Deserializer::~Deserializer()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;{</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">auto</span> layer = <a class="code" href="classarmnn_deserializer_1_1_deserializer.xhtml#a6f332fc8fc6cf6488f8d8e374a4264fc">GetBaseLayer</a>(graph, index);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; assert(layer);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span> layer-&gt;layerName()-&gt;str();</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;}</div><div class="ttc" id="classarmnn_deserializer_1_1_deserializer_xhtml_a6f332fc8fc6cf6488f8d8e374a4264fc"><div class="ttname"><a href="classarmnn_deserializer_1_1_deserializer.xhtml#a6f332fc8fc6cf6488f8d8e374a4264fc">armnnDeserializer::Deserializer::GetBaseLayer</a></div><div class="ttdeci">static LayerBaseRawPtr GetBaseLayer(const GraphPtr &amp;graphPtr, unsigned int layerIndex)</div><div class="ttdef"><b>Definition:</b> <a href="_deserializer_8cpp_source.xhtml#l00248">Deserializer.cpp:248</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="af7bb02c61c6a5663121da024b7e042e8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af7bb02c61c6a5663121da024b7e042e8">&#9670;&nbsp;</a></span>GetLstmDescriptor()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structarmnn_1_1_lstm_descriptor.xhtml">armnn::LstmDescriptor</a> GetLstmDescriptor </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a15397ee26bc4b7d3a459b05e457be428">Deserializer::LstmDescriptorPtr</a>&#160;</td>
+ <td class="paramname"><em>lstmDescriptor</em></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="_deserializer_8cpp_source.xhtml#l02465">2465</a> of file <a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="_deserializer_8cpp_source.xhtml#l00160">CHECK_LAYERS</a>, <a class="el" href="_exceptions_8hpp_source.xhtml#l00192">CHECK_LOCATION</a>, <a class="el" href="_verification_helpers_8hpp_source.xhtml#l00032">CHECK_VALID_SIZE</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00601">Deserializer::GetInputs()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00372">Deserializer::GetLayerName()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00619">Deserializer::GetOutputs()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml#a80ac4eda2e7f2757ec9dd96fc96dbd16">IConnectableLayer::GetOutputSlot()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00088">TensorInfo::GetShape()</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00861">LstmDescriptor::m_ActivationFunc</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l01117">TransposeConvolution2dDescriptor::m_BiasEnabled</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.xhtml#l00045">QuantizedLstmInputParams::m_CellBias</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00053">LstmInputParams::m_CellBias</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00059">LstmInputParams::m_CellLayerNormWeights</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00049">LstmInputParams::m_CellToForgetWeights</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00048">LstmInputParams::m_CellToInputWeights</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00050">LstmInputParams::m_CellToOutputWeights</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00867">LstmDescriptor::m_CifgEnabled</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00863">LstmDescriptor::m_ClippingThresCell</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00865">LstmDescriptor::m_ClippingThresProj</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l01119">TransposeConvolution2dDescriptor::m_DataLayout</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.xhtml#l00044">QuantizedLstmInputParams::m_ForgetGateBias</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00052">LstmInputParams::m_ForgetGateBias</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00058">LstmInputParams::m_ForgetLayerNormWeights</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.xhtml#l00043">QuantizedLstmInputParams::m_InputGateBias</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00051">LstmInputParams::m_InputGateBias</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00057">LstmInputParams::m_InputLayerNormWeights</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.xhtml#l00035">QuantizedLstmInputParams::m_InputToCellWeights</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00042">LstmInputParams::m_InputToCellWeights</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.xhtml#l00034">QuantizedLstmInputParams::m_InputToForgetWeights</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00041">LstmInputParams::m_InputToForgetWeights</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.xhtml#l00033">QuantizedLstmInputParams::m_InputToInputWeights</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00040">LstmInputParams::m_InputToInputWeights</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.xhtml#l00036">QuantizedLstmInputParams::m_InputToOutputWeights</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00043">LstmInputParams::m_InputToOutputWeights</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00873">LstmDescriptor::m_LayerNormEnabled</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00996">StandInDescriptor::m_NumInputs</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00998">StandInDescriptor::m_NumOutputs</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.xhtml#l00046">QuantizedLstmInputParams::m_OutputGateBias</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00054">LstmInputParams::m_OutputGateBias</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00060">LstmInputParams::m_OutputLayerNormWeights</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#l00869">LstmDescriptor::m_PeepholeEnabled</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00056">LstmInputParams::m_ProjectionBias</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00871">LstmDescriptor::m_ProjectionEnabled</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00055">LstmInputParams::m_ProjectionWeights</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.xhtml#l00040">QuantizedLstmInputParams::m_RecurrentToCellWeights</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00046">LstmInputParams::m_RecurrentToCellWeights</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.xhtml#l00039">QuantizedLstmInputParams::m_RecurrentToForgetWeights</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00045">LstmInputParams::m_RecurrentToForgetWeights</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.xhtml#l00038">QuantizedLstmInputParams::m_RecurrentToInputWeights</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00044">LstmInputParams::m_RecurrentToInputWeights</a>, <a class="el" href="_quantized_lstm_params_8hpp_source.xhtml#l00041">QuantizedLstmInputParams::m_RecurrentToOutputWeights</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00047">LstmInputParams::m_RecurrentToOutputWeights</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l01113">TransposeConvolution2dDescriptor::m_StrideX</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l01115">TransposeConvolution2dDescriptor::m_StrideY</a>, <a class="el" href="classarmnn_1_1_i_output_slot.xhtml#a5ee4a6c9a2481245487b1b1a70d20fd0">IOutputSlot::SetTensorInfo()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00558">armnnDeserializer::ToConstTensor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00394">armnnDeserializer::ToDataLayout()</a>, and <a class="el" href="_deserializer_8cpp_source.xhtml#l00501">armnnDeserializer::ToTensorInfo()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_deserializer_8hpp_source.xhtml#l00048">Deserializer::~Deserializer()</a>.</p>
+<div class="fragment"><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; <a class="code" href="structarmnn_1_1_lstm_descriptor.xhtml">armnn::LstmDescriptor</a> desc;</div><div class="line"><a name="l02468"></a><span class="lineno"> 2468</span>&#160;</div><div class="line"><a name="l02469"></a><span class="lineno"> 2469</span>&#160; desc.<a class="code" href="structarmnn_1_1_lstm_descriptor.xhtml#ae1b07ed928036004bd257169e5aeeef4">m_ActivationFunc</a> = lstmDescriptor-&gt;activationFunc();</div><div class="line"><a name="l02470"></a><span class="lineno"> 2470</span>&#160; desc.<a class="code" href="structarmnn_1_1_lstm_descriptor.xhtml#a531a3907ec13d3772370da88030191a5">m_ClippingThresCell</a> = lstmDescriptor-&gt;clippingThresCell();</div><div class="line"><a name="l02471"></a><span class="lineno"> 2471</span>&#160; desc.<a class="code" href="structarmnn_1_1_lstm_descriptor.xhtml#a86e88bef0df4df96df752b4b8955a3af">m_ClippingThresProj</a> = lstmDescriptor-&gt;clippingThresProj();</div><div class="line"><a name="l02472"></a><span class="lineno"> 2472</span>&#160; desc.<a class="code" href="structarmnn_1_1_lstm_descriptor.xhtml#ad474e5c51a0b194ef32e812b86c0cbdb">m_CifgEnabled</a> = lstmDescriptor-&gt;cifgEnabled();</div><div class="line"><a name="l02473"></a><span class="lineno"> 2473</span>&#160; desc.<a class="code" href="structarmnn_1_1_lstm_descriptor.xhtml#a2837b4396f20c956952d1a7286cab5f8">m_PeepholeEnabled</a> = lstmDescriptor-&gt;peepholeEnabled();</div><div class="line"><a name="l02474"></a><span class="lineno"> 2474</span>&#160; desc.<a class="code" href="structarmnn_1_1_lstm_descriptor.xhtml#a6c9de81fc65b3c4924cab11907075a17">m_ProjectionEnabled</a> = lstmDescriptor-&gt;projectionEnabled();</div><div class="line"><a name="l02475"></a><span class="lineno"> 2475</span>&#160; desc.<a class="code" href="structarmnn_1_1_lstm_descriptor.xhtml#a4a8ec49f130084445d44297549254780">m_LayerNormEnabled</a> = lstmDescriptor-&gt;layerNormEnabled();</div><div class="line"><a name="l02476"></a><span class="lineno"> 2476</span>&#160;</div><div class="line"><a name="l02477"></a><span class="lineno"> 2477</span>&#160; <span class="keywordflow">return</span> desc;</div><div class="line"><a name="l02478"></a><span class="lineno"> 2478</span>&#160;}</div><div class="ttc" id="structarmnn_1_1_lstm_descriptor_xhtml_a6c9de81fc65b3c4924cab11907075a17"><div class="ttname"><a href="structarmnn_1_1_lstm_descriptor.xhtml#a6c9de81fc65b3c4924cab11907075a17">armnn::LstmDescriptor::m_ProjectionEnabled</a></div><div class="ttdeci">bool m_ProjectionEnabled</div><div class="ttdoc">Enable/disable the projection layer. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00871">Descriptors.hpp:871</a></div></div>
+<div class="ttc" id="structarmnn_1_1_lstm_descriptor_xhtml_a86e88bef0df4df96df752b4b8955a3af"><div class="ttname"><a href="structarmnn_1_1_lstm_descriptor.xhtml#a86e88bef0df4df96df752b4b8955a3af">armnn::LstmDescriptor::m_ClippingThresProj</a></div><div class="ttdeci">float m_ClippingThresProj</div><div class="ttdoc">Clipping threshold value for the projection. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00865">Descriptors.hpp:865</a></div></div>
+<div class="ttc" id="structarmnn_1_1_lstm_descriptor_xhtml"><div class="ttname"><a href="structarmnn_1_1_lstm_descriptor.xhtml">armnn::LstmDescriptor</a></div><div class="ttdoc">An LstmDescriptor for the LstmLayer. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00837">Descriptors.hpp:837</a></div></div>
+<div class="ttc" id="structarmnn_1_1_lstm_descriptor_xhtml_a2837b4396f20c956952d1a7286cab5f8"><div class="ttname"><a href="structarmnn_1_1_lstm_descriptor.xhtml#a2837b4396f20c956952d1a7286cab5f8">armnn::LstmDescriptor::m_PeepholeEnabled</a></div><div class="ttdeci">bool m_PeepholeEnabled</div><div class="ttdoc">Enable/disable peephole. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00869">Descriptors.hpp:869</a></div></div>
+<div class="ttc" id="structarmnn_1_1_lstm_descriptor_xhtml_ae1b07ed928036004bd257169e5aeeef4"><div class="ttname"><a href="structarmnn_1_1_lstm_descriptor.xhtml#ae1b07ed928036004bd257169e5aeeef4">armnn::LstmDescriptor::m_ActivationFunc</a></div><div class="ttdeci">uint32_t m_ActivationFunc</div><div class="ttdoc">The activation function to use. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00861">Descriptors.hpp:861</a></div></div>
+<div class="ttc" id="structarmnn_1_1_lstm_descriptor_xhtml_a531a3907ec13d3772370da88030191a5"><div class="ttname"><a href="structarmnn_1_1_lstm_descriptor.xhtml#a531a3907ec13d3772370da88030191a5">armnn::LstmDescriptor::m_ClippingThresCell</a></div><div class="ttdeci">float m_ClippingThresCell</div><div class="ttdoc">Clipping threshold value for the cell state. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00863">Descriptors.hpp:863</a></div></div>
+<div class="ttc" id="structarmnn_1_1_lstm_descriptor_xhtml_ad474e5c51a0b194ef32e812b86c0cbdb"><div class="ttname"><a href="structarmnn_1_1_lstm_descriptor.xhtml#ad474e5c51a0b194ef32e812b86c0cbdb">armnn::LstmDescriptor::m_CifgEnabled</a></div><div class="ttdeci">bool m_CifgEnabled</div><div class="ttdoc">Enable/disable cifg (coupled input &amp; forget gate). </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00867">Descriptors.hpp:867</a></div></div>
+<div class="ttc" id="structarmnn_1_1_lstm_descriptor_xhtml_a4a8ec49f130084445d44297549254780"><div class="ttname"><a href="structarmnn_1_1_lstm_descriptor.xhtml#a4a8ec49f130084445d44297549254780">armnn::LstmDescriptor::m_LayerNormEnabled</a></div><div class="ttdeci">bool m_LayerNormEnabled</div><div class="ttdoc">Enable/disable layer normalization. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00873">Descriptors.hpp:873</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a327a399d46f8216c9f4c1eea5f18a542"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a327a399d46f8216c9f4c1eea5f18a542">&#9670;&nbsp;</a></span>GetLstmInputParams()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structarmnn_1_1_lstm_input_params.xhtml">armnn::LstmInputParams</a> GetLstmInputParams </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a15397ee26bc4b7d3a459b05e457be428">LstmDescriptorPtr</a>&#160;</td>
+ <td class="paramname"><em>lstmDescriptor</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a93460fcf78d1b2dcab72dd8378739145">LstmInputParamsPtr</a>&#160;</td>
+ <td class="paramname"><em>lstmInputParams</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="reference">Referenced by <a class="el" href="_deserializer_8hpp_source.xhtml#l00048">Deserializer::~Deserializer()</a>.</p>
+
+</div>
+</div>
+<a id="a66c5e4250559faefd7f0fa35ccbdc9eb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a66c5e4250559faefd7f0fa35ccbdc9eb">&#9670;&nbsp;</a></span>GetNetworkInputBindingInfo()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structarmnn_deserializer_1_1_binding_point_info.xhtml">BindingPointInfo</a> GetNetworkInputBindingInfo </td>
+ <td>(</td>
+ <td class="paramtype">unsigned int&#160;</td>
+ <td class="paramname"><em>layerId</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const std::string &amp;&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Retrieve binding info (layer id and tensor info) for the network input identified by the given layer name. </p>
+
+<p>Implements <a class="el" href="classarmnn_deserializer_1_1_i_deserializer.xhtml#a81942c860d8fb0a0e728df3d81063695">IDeserializer</a>.</p>
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8cpp_source.xhtml#l00746">746</a> of file <a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="_exceptions_8hpp_source.xhtml#l00192">CHECK_LOCATION</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;{</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(layerIndex);</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> inputBinding : m_InputBindings)</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; {</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <span class="keywordflow">if</span> (inputBinding.first == name)</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; {</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="keywordflow">return</span> inputBinding.second;</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; }</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; }</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_parse_exception.xhtml">ParseException</a>(</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; boost::str(</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; boost::format(<span class="stringliteral">&quot;No input binding found for layer:%1% / %2%&quot;</span>) %</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; name %</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <a class="code" href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>().AsString()));</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
+<div class="ttc" id="_exceptions_8hpp_xhtml_aa3be76aec4ce713822a5ea1ecbb7bc61"><div class="ttname"><a href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a></div><div class="ttdeci">#define CHECK_LOCATION()</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.xhtml#l00192">Exceptions.hpp:192</a></div></div>
+<div class="ttc" id="classarmnn_1_1_parse_exception_xhtml"><div class="ttname"><a href="classarmnn_1_1_parse_exception.xhtml">armnn::ParseException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.xhtml#l00092">Exceptions.hpp:92</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="ae9cf8ca62e8da6d21e08dc130f68dce4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae9cf8ca62e8da6d21e08dc130f68dce4">&#9670;&nbsp;</a></span>GetNetworkOutputBindingInfo()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structarmnn_deserializer_1_1_binding_point_info.xhtml">BindingPointInfo</a> GetNetworkOutputBindingInfo </td>
+ <td>(</td>
+ <td class="paramtype">unsigned int&#160;</td>
+ <td class="paramname"><em>layerId</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const std::string &amp;&#160;</td>
+ <td class="paramname"><em>name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Retrieve binding info (layer id and tensor info) for the network output identified by the given layer name. </p>
+
+<p>Implements <a class="el" href="classarmnn_deserializer_1_1_i_deserializer.xhtml#a55f70496b6f2ff261e36a5fceacf240d">IDeserializer</a>.</p>
+
+<p class="definition">Definition at line <a class="el" href="_deserializer_8cpp_source.xhtml#l00764">764</a> of file <a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">armnn::Abs</a>, <a class="el" href="_neon_end_to_end_tests_8cpp.xhtml#ac0981848e4ae57729f14f72bd4caa9f8">anchors()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00163">CHECK_GRAPH</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00160">CHECK_LAYERS</a>, <a class="el" href="_exceptions_8hpp_source.xhtml#l00192">CHECK_LOCATION</a>, <a class="el" href="_verification_helpers_8hpp_source.xhtml#l00032">CHECK_VALID_SIZE</a>, <a class="el" href="namespacearmnn.xhtml#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">armnn::Equal</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00248">Deserializer::GetBaseLayer()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00379">Deserializer::GetBindingLayerInfo()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00601">Deserializer::GetInputs()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml#a6ec9e0eb66d7d6a01240492a0b18104c">IConnectableLayer::GetInputSlot()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00372">Deserializer::GetLayerName()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml#a9c2cba04b6d7ace4fc2a2436b82a5a63">IConnectableLayer::GetNumInputSlots()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml#ac2dac3b61c94de52093616be4ab17f8d">IConnectableLayer::GetNumOutputSlots()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00619">Deserializer::GetOutputs()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml#a80ac4eda2e7f2757ec9dd96fc96dbd16">IConnectableLayer::GetOutputSlot()</a>, <a class="el" href="namespacearmnn.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">armnn::Greater</a>, <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00037">ActivationDescriptor::m_A</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00058">ArgMinMaxDescriptor::m_Axis</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00039">ActivationDescriptor::m_B</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00136">SoftmaxDescriptor::m_Beta</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00649">InstanceNormalizationDescriptor::m_Beta</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00438">Convolution2dDescriptor::m_BiasEnabled</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00490">DepthwiseConvolution2dDescriptor::m_BiasEnabled</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00680">BatchToSpaceNdDescriptor::m_BlockShape</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00827">SpaceToDepthDescriptor::m_BlockSize</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00682">BatchToSpaceNdDescriptor::m_Crops</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00440">Convolution2dDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00492">DepthwiseConvolution2dDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00606">L2NormalizationDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00625">BatchNormalizationDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00653">InstanceNormalizationDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00684">BatchToSpaceNdDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00830">SpaceToDepthDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00531">DetectionPostProcessDescriptor::m_DetectionsPerClass</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00434">Convolution2dDescriptor::m_DilationX</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00486">DepthwiseConvolution2dDescriptor::m_DilationX</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00436">Convolution2dDescriptor::m_DilationY</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00488">DepthwiseConvolution2dDescriptor::m_DilationY</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00604">L2NormalizationDescriptor::m_Eps</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00623">BatchNormalizationDescriptor::m_Eps</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00651">InstanceNormalizationDescriptor::m_Eps</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00035">ActivationDescriptor::m_Function</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00056">ArgMinMaxDescriptor::m_Function</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00647">InstanceNormalizationDescriptor::m_Gamma</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00529">DetectionPostProcessDescriptor::m_MaxClassesPerDetection</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00527">DetectionPostProcessDescriptor::m_MaxDetections</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00535">DetectionPostProcessDescriptor::m_NmsIouThreshold</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00533">DetectionPostProcessDescriptor::m_NmsScoreThreshold</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00537">DetectionPostProcessDescriptor::m_NumClasses</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00428">Convolution2dDescriptor::m_PadBottom</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00480">DepthwiseConvolution2dDescriptor::m_PadBottom</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00422">Convolution2dDescriptor::m_PadLeft</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00474">DepthwiseConvolution2dDescriptor::m_PadLeft</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00424">Convolution2dDescriptor::m_PadRight</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00476">DepthwiseConvolution2dDescriptor::m_PadRight</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00426">Convolution2dDescriptor::m_PadTop</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00478">DepthwiseConvolution2dDescriptor::m_PadTop</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00547">DetectionPostProcessDescriptor::m_ScaleH</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00545">DetectionPostProcessDescriptor::m_ScaleW</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00541">DetectionPostProcessDescriptor::m_ScaleX</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00543">DetectionPostProcessDescriptor::m_ScaleY</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00430">Convolution2dDescriptor::m_StrideX</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00482">DepthwiseConvolution2dDescriptor::m_StrideX</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00432">Convolution2dDescriptor::m_StrideY</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00484">DepthwiseConvolution2dDescriptor::m_StrideY</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00539">DetectionPostProcessDescriptor::m_UseRegularNms</a>, <a class="el" href="_numeric_cast_8hpp_source.xhtml#l00033">armnn::numeric_cast()</a>, <a class="el" href="classarmnn_1_1_i_output_slot.xhtml#a5ee4a6c9a2481245487b1b1a70d20fd0">IOutputSlot::SetTensorInfo()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00406">armnnDeserializer::ToActivationFunction()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00437">armnnDeserializer::ToArgMinMaxFunction()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00558">armnnDeserializer::ToConstTensor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00394">armnnDeserializer::ToDataLayout()</a>, and <a class="el" href="_deserializer_8cpp_source.xhtml#l00501">armnnDeserializer::ToTensorInfo()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160;{</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(layerIndex);</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> outputBinding : m_OutputBindings)</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; {</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <span class="keywordflow">if</span> (outputBinding.first == name)</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; {</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <span class="keywordflow">return</span> outputBinding.second;</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; }</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; }</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_parse_exception.xhtml">ParseException</a>(</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; boost::str(</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; boost::format(<span class="stringliteral">&quot;No output binding found for layer:%1% / %2%&quot;</span>) %</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; name %</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <a class="code" href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>().AsString()));</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
+<div class="ttc" id="_exceptions_8hpp_xhtml_aa3be76aec4ce713822a5ea1ecbb7bc61"><div class="ttname"><a href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a></div><div class="ttdeci">#define CHECK_LOCATION()</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.xhtml#l00192">Exceptions.hpp:192</a></div></div>
+<div class="ttc" id="classarmnn_1_1_parse_exception_xhtml"><div class="ttname"><a href="classarmnn_1_1_parse_exception.xhtml">armnn::ParseException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.xhtml#l00092">Exceptions.hpp:92</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a920251d49a8f32085d458ba23f776800"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a920251d49a8f32085d458ba23f776800">&#9670;&nbsp;</a></span>GetNormalizationDescriptor()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structarmnn_1_1_normalization_descriptor.xhtml">armnn::NormalizationDescriptor</a> GetNormalizationDescriptor </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a2a282cf18fcfe848b47e946327ca1048">Deserializer::NormalizationDescriptorPtr</a>&#160;</td>
+ <td class="paramname"><em>normalizationDescriptor</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned int&#160;</td>
+ <td class="paramname"><em>layerIndex</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="_deserializer_8cpp_source.xhtml#l02159">2159</a> of file <a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="namespacearmnn.xhtml#abe18a5033f2ab9c0de82c676b48f5437a810f43f3996922151c39b76143faeecc">armnn::Across</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00160">CHECK_LAYERS</a>, <a class="el" href="_exceptions_8hpp_source.xhtml#l00192">CHECK_LOCATION</a>, <a class="el" href="_verification_helpers_8hpp_source.xhtml#l00032">CHECK_VALID_SIZE</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00601">Deserializer::GetInputs()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00372">Deserializer::GetLayerName()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00619">Deserializer::GetOutputs()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml#a80ac4eda2e7f2757ec9dd96fc96dbd16">IConnectableLayer::GetOutputSlot()</a>, <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>, <a class="el" href="namespacearmnn.xhtml#ad605d1661fa0d8c7fea651d82fbe11c9ac65d2e51c610dd3853a3c777aa8bfe9d">armnn::LocalBrightness</a>, <a class="el" href="namespacearmnn.xhtml#ad605d1661fa0d8c7fea651d82fbe11c9aa94d2fcabc6b001015aeddfa19266e6f">armnn::LocalContrast</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00581">NormalizationDescriptor::m_Alpha</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00895">MeanDescriptor::m_Axis</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00943">SliceDescriptor::m_Begin</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00583">NormalizationDescriptor::m_Beta</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00587">NormalizationDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00585">NormalizationDescriptor::m_K</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00897">MeanDescriptor::m_KeepDims</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00575">NormalizationDescriptor::m_NormChannelType</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00577">NormalizationDescriptor::m_NormMethodType</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00579">NormalizationDescriptor::m_NormSize</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00946">SliceDescriptor::m_Size</a>, <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::NCHW</a>, <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">armnn::NHWC</a>, <a class="el" href="namespacearmnn.xhtml#a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4">armnn::Rsqrt</a>, <a class="el" href="classarmnn_1_1_i_output_slot.xhtml#a5ee4a6c9a2481245487b1b1a70d20fd0">IOutputSlot::SetTensorInfo()</a>, <a class="el" href="_descriptors_8cpp_source.xhtml#l00302">ViewsDescriptor::SetViewOriginCoord()</a>, <a class="el" href="_descriptors_8cpp_source.xhtml#l00307">ViewsDescriptor::SetViewSize()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00394">armnnDeserializer::ToDataLayout()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00501">armnnDeserializer::ToTensorInfo()</a>, and <a class="el" href="namespacearmnn.xhtml#abe18a5033f2ab9c0de82c676b48f5437a37bac6dce4f46277d89bfa3003e2e39b">armnn::Within</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_deserializer_8hpp_source.xhtml#l00048">Deserializer::~Deserializer()</a>.</p>
+<div class="fragment"><div class="line"><a name="l02162"></a><span class="lineno"> 2162</span>&#160;{</div><div class="line"><a name="l02163"></a><span class="lineno"> 2163</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(layerIndex);</div><div class="line"><a name="l02164"></a><span class="lineno"> 2164</span>&#160; <a class="code" href="structarmnn_1_1_normalization_descriptor.xhtml">armnn::NormalizationDescriptor</a> desc;</div><div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>&#160;</div><div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>&#160; <span class="keywordflow">switch</span> (normalizationDescriptor-&gt;normChannelType())</div><div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160; {</div><div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>&#160; <span class="keywordflow">case</span> NormalizationAlgorithmChannel_Across:</div><div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>&#160; {</div><div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>&#160; desc.<a class="code" href="structarmnn_1_1_normalization_descriptor.xhtml#afe1f0f09d49ad2befc01f8789187b7dd">m_NormChannelType</a> = <a class="code" href="namespacearmnn.xhtml#abe18a5033f2ab9c0de82c676b48f5437a810f43f3996922151c39b76143faeecc">armnn::NormalizationAlgorithmChannel::Across</a>;</div><div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l02172"></a><span class="lineno"> 2172</span>&#160; }</div><div class="line"><a name="l02173"></a><span class="lineno"> 2173</span>&#160; <span class="keywordflow">case</span> NormalizationAlgorithmChannel_Within:</div><div class="line"><a name="l02174"></a><span class="lineno"> 2174</span>&#160; {</div><div class="line"><a name="l02175"></a><span class="lineno"> 2175</span>&#160; desc.<a class="code" href="structarmnn_1_1_normalization_descriptor.xhtml#afe1f0f09d49ad2befc01f8789187b7dd">m_NormChannelType</a> = <a class="code" href="namespacearmnn.xhtml#abe18a5033f2ab9c0de82c676b48f5437a37bac6dce4f46277d89bfa3003e2e39b">armnn::NormalizationAlgorithmChannel::Within</a>;</div><div class="line"><a name="l02176"></a><span class="lineno"> 2176</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l02177"></a><span class="lineno"> 2177</span>&#160; }</div><div class="line"><a name="l02178"></a><span class="lineno"> 2178</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l02179"></a><span class="lineno"> 2179</span>&#160; {</div><div class="line"><a name="l02180"></a><span class="lineno"> 2180</span>&#160; BOOST_ASSERT_MSG(<span class="keyword">false</span>, <span class="stringliteral">&quot;Unsupported normalization channel type&quot;</span>);</div><div class="line"><a name="l02181"></a><span class="lineno"> 2181</span>&#160; }</div><div class="line"><a name="l02182"></a><span class="lineno"> 2182</span>&#160; }</div><div class="line"><a name="l02183"></a><span class="lineno"> 2183</span>&#160;</div><div class="line"><a name="l02184"></a><span class="lineno"> 2184</span>&#160; <span class="keywordflow">switch</span> (normalizationDescriptor-&gt;normMethodType())</div><div class="line"><a name="l02185"></a><span class="lineno"> 2185</span>&#160; {</div><div class="line"><a name="l02186"></a><span class="lineno"> 2186</span>&#160; <span class="keywordflow">case</span> NormalizationAlgorithmMethod_LocalBrightness:</div><div class="line"><a name="l02187"></a><span class="lineno"> 2187</span>&#160; {</div><div class="line"><a name="l02188"></a><span class="lineno"> 2188</span>&#160; desc.<a class="code" href="structarmnn_1_1_normalization_descriptor.xhtml#a05945f080edf694b631960728b87aadb">m_NormMethodType</a> = <a class="code" href="namespacearmnn.xhtml#ad605d1661fa0d8c7fea651d82fbe11c9ac65d2e51c610dd3853a3c777aa8bfe9d">armnn::NormalizationAlgorithmMethod::LocalBrightness</a>;</div><div class="line"><a name="l02189"></a><span class="lineno"> 2189</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l02190"></a><span class="lineno"> 2190</span>&#160; }</div><div class="line"><a name="l02191"></a><span class="lineno"> 2191</span>&#160; <span class="keywordflow">case</span> NormalizationAlgorithmMethod_LocalContrast:</div><div class="line"><a name="l02192"></a><span class="lineno"> 2192</span>&#160; {</div><div class="line"><a name="l02193"></a><span class="lineno"> 2193</span>&#160; desc.<a class="code" href="structarmnn_1_1_normalization_descriptor.xhtml#a05945f080edf694b631960728b87aadb">m_NormMethodType</a> = <a class="code" href="namespacearmnn.xhtml#ad605d1661fa0d8c7fea651d82fbe11c9aa94d2fcabc6b001015aeddfa19266e6f">armnn::NormalizationAlgorithmMethod::LocalContrast</a>;</div><div class="line"><a name="l02194"></a><span class="lineno"> 2194</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>&#160; }</div><div class="line"><a name="l02196"></a><span class="lineno"> 2196</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l02197"></a><span class="lineno"> 2197</span>&#160; {</div><div class="line"><a name="l02198"></a><span class="lineno"> 2198</span>&#160; BOOST_ASSERT_MSG(<span class="keyword">false</span>, <span class="stringliteral">&quot;Unsupported normalization method type&quot;</span>);</div><div class="line"><a name="l02199"></a><span class="lineno"> 2199</span>&#160; }</div><div class="line"><a name="l02200"></a><span class="lineno"> 2200</span>&#160; }</div><div class="line"><a name="l02201"></a><span class="lineno"> 2201</span>&#160;</div><div class="line"><a name="l02202"></a><span class="lineno"> 2202</span>&#160; <span class="keywordflow">switch</span> (normalizationDescriptor-&gt;dataLayout())</div><div class="line"><a name="l02203"></a><span class="lineno"> 2203</span>&#160; {</div><div class="line"><a name="l02204"></a><span class="lineno"> 2204</span>&#160; <span class="keywordflow">case</span> DataLayout_NCHW:</div><div class="line"><a name="l02205"></a><span class="lineno"> 2205</span>&#160; {</div><div class="line"><a name="l02206"></a><span class="lineno"> 2206</span>&#160; desc.<a class="code" href="structarmnn_1_1_normalization_descriptor.xhtml#a6089e1ca91914015777ea780a513131a">m_DataLayout</a> = <a class="code" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::DataLayout::NCHW</a>;</div><div class="line"><a name="l02207"></a><span class="lineno"> 2207</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l02208"></a><span class="lineno"> 2208</span>&#160; }</div><div class="line"><a name="l02209"></a><span class="lineno"> 2209</span>&#160; <span class="keywordflow">case</span> DataLayout_NHWC:</div><div class="line"><a name="l02210"></a><span class="lineno"> 2210</span>&#160; {</div><div class="line"><a name="l02211"></a><span class="lineno"> 2211</span>&#160; desc.<a class="code" href="structarmnn_1_1_normalization_descriptor.xhtml#a6089e1ca91914015777ea780a513131a">m_DataLayout</a> = <a class="code" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">armnn::DataLayout::NHWC</a>;</div><div class="line"><a name="l02212"></a><span class="lineno"> 2212</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l02213"></a><span class="lineno"> 2213</span>&#160; }</div><div class="line"><a name="l02214"></a><span class="lineno"> 2214</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l02215"></a><span class="lineno"> 2215</span>&#160; {</div><div class="line"><a name="l02216"></a><span class="lineno"> 2216</span>&#160; BOOST_ASSERT_MSG(<span class="keyword">false</span>, <span class="stringliteral">&quot;Unsupported data layout&quot;</span>);</div><div class="line"><a name="l02217"></a><span class="lineno"> 2217</span>&#160; }</div><div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>&#160; }</div><div class="line"><a name="l02219"></a><span class="lineno"> 2219</span>&#160;</div><div class="line"><a name="l02220"></a><span class="lineno"> 2220</span>&#160; desc.<a class="code" href="structarmnn_1_1_normalization_descriptor.xhtml#a174279be57d7596eeb04c6b7f7510f99">m_Alpha</a> = normalizationDescriptor-&gt;alpha();</div><div class="line"><a name="l02221"></a><span class="lineno"> 2221</span>&#160; desc.<a class="code" href="structarmnn_1_1_normalization_descriptor.xhtml#a8275d51ef9a584feb95726ea0522f6e5">m_Beta</a> = normalizationDescriptor-&gt;beta();</div><div class="line"><a name="l02222"></a><span class="lineno"> 2222</span>&#160; desc.<a class="code" href="structarmnn_1_1_normalization_descriptor.xhtml#a8526ea7cf860d8e7f8340e9f9354f9f0">m_K</a> = normalizationDescriptor-&gt;k();</div><div class="line"><a name="l02223"></a><span class="lineno"> 2223</span>&#160; desc.<a class="code" href="structarmnn_1_1_normalization_descriptor.xhtml#aa70c05f1aad12fbd9d9ec43ea4557b03">m_NormSize</a> = normalizationDescriptor-&gt;normSize();</div><div class="line"><a name="l02224"></a><span class="lineno"> 2224</span>&#160;</div><div class="line"><a name="l02225"></a><span class="lineno"> 2225</span>&#160; <span class="keywordflow">return</span> desc;</div><div class="line"><a name="l02226"></a><span class="lineno"> 2226</span>&#160;}</div><div class="ttc" id="structarmnn_1_1_normalization_descriptor_xhtml_a8526ea7cf860d8e7f8340e9f9354f9f0"><div class="ttname"><a href="structarmnn_1_1_normalization_descriptor.xhtml#a8526ea7cf860d8e7f8340e9f9354f9f0">armnn::NormalizationDescriptor::m_K</a></div><div class="ttdeci">float m_K</div><div class="ttdoc">Kappa value used for the across channel normalization equation. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00585">Descriptors.hpp:585</a></div></div>
+<div class="ttc" id="structarmnn_1_1_normalization_descriptor_xhtml_a174279be57d7596eeb04c6b7f7510f99"><div class="ttname"><a href="structarmnn_1_1_normalization_descriptor.xhtml#a174279be57d7596eeb04c6b7f7510f99">armnn::NormalizationDescriptor::m_Alpha</a></div><div class="ttdeci">float m_Alpha</div><div class="ttdoc">Alpha value for the normalization equation. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00581">Descriptors.hpp:581</a></div></div>
+<div class="ttc" id="structarmnn_1_1_normalization_descriptor_xhtml_a6089e1ca91914015777ea780a513131a"><div class="ttname"><a href="structarmnn_1_1_normalization_descriptor.xhtml#a6089e1ca91914015777ea780a513131a">armnn::NormalizationDescriptor::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#l00587">Descriptors.hpp:587</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
+<div class="ttc" id="structarmnn_1_1_normalization_descriptor_xhtml_a05945f080edf694b631960728b87aadb"><div class="ttname"><a href="structarmnn_1_1_normalization_descriptor.xhtml#a05945f080edf694b631960728b87aadb">armnn::NormalizationDescriptor::m_NormMethodType</a></div><div class="ttdeci">NormalizationAlgorithmMethod m_NormMethodType</div><div class="ttdoc">Normalization method algorithm to use (LocalBrightness, LocalContrast). </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00577">Descriptors.hpp:577</a></div></div>
+<div class="ttc" id="structarmnn_1_1_normalization_descriptor_xhtml_afe1f0f09d49ad2befc01f8789187b7dd"><div class="ttname"><a href="structarmnn_1_1_normalization_descriptor.xhtml#afe1f0f09d49ad2befc01f8789187b7dd">armnn::NormalizationDescriptor::m_NormChannelType</a></div><div class="ttdeci">NormalizationAlgorithmChannel m_NormChannelType</div><div class="ttdoc">Normalization channel algorithm to use (Across, Within). </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00575">Descriptors.hpp:575</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad605d1661fa0d8c7fea651d82fbe11c9aa94d2fcabc6b001015aeddfa19266e6f"><div class="ttname"><a href="namespacearmnn.xhtml#ad605d1661fa0d8c7fea651d82fbe11c9aa94d2fcabc6b001015aeddfa19266e6f">armnn::NormalizationAlgorithmMethod::LocalContrast</a></div><div class="ttdoc">Jarret 2009: Local Contrast Normalization. </div></div>
+<div class="ttc" id="namespacearmnn_xhtml_abe18a5033f2ab9c0de82c676b48f5437a37bac6dce4f46277d89bfa3003e2e39b"><div class="ttname"><a href="namespacearmnn.xhtml#abe18a5033f2ab9c0de82c676b48f5437a37bac6dce4f46277d89bfa3003e2e39b">armnn::NormalizationAlgorithmChannel::Within</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="namespacearmnn_xhtml_ad605d1661fa0d8c7fea651d82fbe11c9ac65d2e51c610dd3853a3c777aa8bfe9d"><div class="ttname"><a href="namespacearmnn.xhtml#ad605d1661fa0d8c7fea651d82fbe11c9ac65d2e51c610dd3853a3c777aa8bfe9d">armnn::NormalizationAlgorithmMethod::LocalBrightness</a></div><div class="ttdoc">Krichevsky 2012: Local Brightness Normalization. </div></div>
+<div class="ttc" id="namespacearmnn_xhtml_abe18a5033f2ab9c0de82c676b48f5437a810f43f3996922151c39b76143faeecc"><div class="ttname"><a href="namespacearmnn.xhtml#abe18a5033f2ab9c0de82c676b48f5437a810f43f3996922151c39b76143faeecc">armnn::NormalizationAlgorithmChannel::Across</a></div></div>
+<div class="ttc" id="structarmnn_1_1_normalization_descriptor_xhtml"><div class="ttname"><a href="structarmnn_1_1_normalization_descriptor.xhtml">armnn::NormalizationDescriptor</a></div><div class="ttdoc">A NormalizationDescriptor for the NormalizationLayer. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00551">Descriptors.hpp:551</a></div></div>
+<div class="ttc" id="structarmnn_1_1_normalization_descriptor_xhtml_a8275d51ef9a584feb95726ea0522f6e5"><div class="ttname"><a href="structarmnn_1_1_normalization_descriptor.xhtml#a8275d51ef9a584feb95726ea0522f6e5">armnn::NormalizationDescriptor::m_Beta</a></div><div class="ttdeci">float m_Beta</div><div class="ttdoc">Beta value for the normalization equation. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00583">Descriptors.hpp:583</a></div></div>
+<div class="ttc" id="structarmnn_1_1_normalization_descriptor_xhtml_aa70c05f1aad12fbd9d9ec43ea4557b03"><div class="ttname"><a href="structarmnn_1_1_normalization_descriptor.xhtml#aa70c05f1aad12fbd9d9ec43ea4557b03">armnn::NormalizationDescriptor::m_NormSize</a></div><div class="ttdeci">uint32_t m_NormSize</div><div class="ttdoc">Depth radius value. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00579">Descriptors.hpp:579</a></div></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="a0c9267a47f5d254898c67bc0cb2535b9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0c9267a47f5d254898c67bc0cb2535b9">&#9670;&nbsp;</a></span>GetOutputs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#abd8bee7fb9b86485a60bc7ee05114270">Deserializer::TensorRawPtrVector</a> GetOutputs </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">GraphPtr</a> &amp;&#160;</td>
+ <td class="paramname"><em>graph</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned int&#160;</td>
+ <td class="paramname"><em>layerIndex</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="_deserializer_8cpp_source.xhtml#l00619">619</a> of file <a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="_deserializer_8cpp_source.xhtml#l00160">CHECK_LAYERS</a>, <a class="el" href="_exceptions_8hpp_source.xhtml#l00192">CHECK_LOCATION</a>, and <a class="el" href="_deserializer_8cpp_source.xhtml#l00248">Deserializer::GetBaseLayer()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_deserializer_8cpp_source.xhtml#l02465">Deserializer::GetLstmDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00764">Deserializer::GetNetworkOutputBindingInfo()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l02159">Deserializer::GetNormalizationDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l01554">armnnDeserializer::GetOriginsDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l01808">Deserializer::GetPoolingDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l01938">Deserializer::OutputShapeOfReshape()</a>, and <a class="el" href="_deserializer_8hpp_source.xhtml#l00048">Deserializer::~Deserializer()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;{</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <a class="code" href="_deserializer_8cpp.xhtml#aa6798881c467e8e1a1906303f6d9e26d">CHECK_LAYERS</a>(graphPtr, 0, layerIndex);</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keyword">auto</span> layer = <a class="code" href="classarmnn_deserializer_1_1_deserializer.xhtml#a6f332fc8fc6cf6488f8d8e374a4264fc">GetBaseLayer</a>(graphPtr, layerIndex);</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span>&amp; numOutputs = layer-&gt;outputSlots()-&gt;size();</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <a class="code" href="classarmnn_deserializer_1_1_deserializer.xhtml#abd8bee7fb9b86485a60bc7ee05114270">TensorRawPtrVector</a> result(numOutputs);</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i&lt;numOutputs; ++i)</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; {</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; result[i] = layer-&gt;outputSlots()-&gt;Get(i)-&gt;tensorInfo();</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; }</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;}</div><div class="ttc" id="_deserializer_8cpp_xhtml_aa6798881c467e8e1a1906303f6d9e26d"><div class="ttname"><a href="_deserializer_8cpp.xhtml#aa6798881c467e8e1a1906303f6d9e26d">CHECK_LAYERS</a></div><div class="ttdeci">#define CHECK_LAYERS(GRAPH, LAYERS_INDEX, LAYER_INDEX)</div><div class="ttdef"><b>Definition:</b> <a href="_deserializer_8cpp_source.xhtml#l00160">Deserializer.cpp:160</a></div></div>
+<div class="ttc" id="classarmnn_deserializer_1_1_deserializer_xhtml_a6f332fc8fc6cf6488f8d8e374a4264fc"><div class="ttname"><a href="classarmnn_deserializer_1_1_deserializer.xhtml#a6f332fc8fc6cf6488f8d8e374a4264fc">armnnDeserializer::Deserializer::GetBaseLayer</a></div><div class="ttdeci">static LayerBaseRawPtr GetBaseLayer(const GraphPtr &amp;graphPtr, unsigned int layerIndex)</div><div class="ttdef"><b>Definition:</b> <a href="_deserializer_8cpp_source.xhtml#l00248">Deserializer.cpp:248</a></div></div>
+<div class="ttc" id="classarmnn_deserializer_1_1_deserializer_xhtml_abd8bee7fb9b86485a60bc7ee05114270"><div class="ttname"><a href="classarmnn_deserializer_1_1_deserializer.xhtml#abd8bee7fb9b86485a60bc7ee05114270">armnnDeserializer::Deserializer::TensorRawPtrVector</a></div><div class="ttdeci">std::vector&lt; TensorRawPtr &gt; TensorRawPtrVector</div><div class="ttdef"><b>Definition:</b> <a href="_deserializer_8hpp_source.xhtml#l00028">Deserializer.hpp:28</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a271f00048f7e48392794c2eee17c1e2c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a271f00048f7e48392794c2eee17c1e2c">&#9670;&nbsp;</a></span>GetPoolingDescriptor()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structarmnn_1_1_pooling2d_descriptor.xhtml">armnn::Pooling2dDescriptor</a> GetPoolingDescriptor </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a0dc66e036f16781886a1ce530e11c2d8">Deserializer::PoolingDescriptor</a>&#160;</td>
+ <td class="paramname"><em>pooling2dDesc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned int&#160;</td>
+ <td class="paramname"><em>layerIndex</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="_deserializer_8cpp_source.xhtml#l01808">1808</a> of file <a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="namespacearmnn.xhtml#a961bbfe1db71a848eff5a1f0ab775718ab1897515d548a960afe49ecf66a29021">armnn::Average</a>, <a class="el" href="namespacearmnn.xhtml#adf2e5515c4c36a3e7e46bb8b83c6754ea3237fbc8204064c106cb9080088a17cb">armnn::Ceiling</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00160">CHECK_LAYERS</a>, <a class="el" href="_verification_helpers_8hpp_source.xhtml#l00032">CHECK_VALID_SIZE</a>, <a class="el" href="namespacearmnn.xhtml#a3888429b6ebc79f9a7df549e5e4d9a2fa843f2812f595e7ec7c5036e89fde02d6">armnn::Exclude</a>, <a class="el" href="namespacearmnn.xhtml#adf2e5515c4c36a3e7e46bb8b83c6754eaf3f6d0343d56ce88ce7958170ed05cb3">armnn::Floor</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00601">Deserializer::GetInputs()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00372">Deserializer::GetLayerName()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00619">Deserializer::GetOutputs()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml#a80ac4eda2e7f2757ec9dd96fc96dbd16">IConnectableLayer::GetOutputSlot()</a>, <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>, <a class="el" href="namespacearmnn.xhtml#a3888429b6ebc79f9a7df549e5e4d9a2faad301514192636ad34210adce598a45a">armnn::IgnoreValue</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00369">Pooling2dDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00365">Pooling2dDescriptor::m_OutputShapeRounding</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00355">Pooling2dDescriptor::m_PadBottom</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00367">Pooling2dDescriptor::m_PaddingMethod</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00349">Pooling2dDescriptor::m_PadLeft</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00351">Pooling2dDescriptor::m_PadRight</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00353">Pooling2dDescriptor::m_PadTop</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00359">Pooling2dDescriptor::m_PoolHeight</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00347">Pooling2dDescriptor::m_PoolType</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00357">Pooling2dDescriptor::m_PoolWidth</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00361">Pooling2dDescriptor::m_StrideX</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00363">Pooling2dDescriptor::m_StrideY</a>, <a class="el" href="namespacearmnn.xhtml#a961bbfe1db71a848eff5a1f0ab775718a6a061313d22e51e0f25b7cd4dc065233">armnn::Max</a>, <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::NCHW</a>, <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">armnn::NHWC</a>, <a class="el" href="classarmnn_1_1_i_output_slot.xhtml#a5ee4a6c9a2481245487b1b1a70d20fd0">IOutputSlot::SetTensorInfo()</a>, and <a class="el" href="_deserializer_8cpp_source.xhtml#l00501">armnnDeserializer::ToTensorInfo()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_deserializer_8hpp_source.xhtml#l00048">Deserializer::~Deserializer()</a>.</p>
+<div class="fragment"><div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160;{</div><div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(layerIndex);</div><div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160; <a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml">armnn::Pooling2dDescriptor</a> desc;</div><div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160;</div><div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160; <span class="keywordflow">switch</span> (pooling2dDesc-&gt;poolType())</div><div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>&#160; {</div><div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160; <span class="keywordflow">case</span> PoolingAlgorithm_Average:</div><div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160; {</div><div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#a0031997bf43bd2747656c31e4977793a">m_PoolType</a> = <a class="code" href="namespacearmnn.xhtml#a961bbfe1db71a848eff5a1f0ab775718ab1897515d548a960afe49ecf66a29021">armnn::PoolingAlgorithm::Average</a>;</div><div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160; }</div><div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160; <span class="keywordflow">case</span> PoolingAlgorithm_Max:</div><div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160; {</div><div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#a0031997bf43bd2747656c31e4977793a">m_PoolType</a> = <a class="code" href="namespacearmnn.xhtml#a961bbfe1db71a848eff5a1f0ab775718a6a061313d22e51e0f25b7cd4dc065233">armnn::PoolingAlgorithm::Max</a>;</div><div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160; }</div><div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160; {</div><div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160; BOOST_ASSERT_MSG(<span class="keyword">false</span>, <span class="stringliteral">&quot;Unsupported pooling algorithm&quot;</span>);</div><div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160; }</div><div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160; }</div><div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160;</div><div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160; <span class="keywordflow">switch</span> (pooling2dDesc-&gt;outputShapeRounding())</div><div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>&#160; {</div><div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>&#160; <span class="keywordflow">case</span> OutputShapeRounding_Floor:</div><div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>&#160; {</div><div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#affb5b68b3eba3ed45a06c7cde7781962">m_OutputShapeRounding</a> = <a class="code" href="namespacearmnn.xhtml#adf2e5515c4c36a3e7e46bb8b83c6754eaf3f6d0343d56ce88ce7958170ed05cb3">armnn::OutputShapeRounding::Floor</a>;</div><div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>&#160; }</div><div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>&#160; <span class="keywordflow">case</span> OutputShapeRounding_Ceiling:</div><div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>&#160; {</div><div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#affb5b68b3eba3ed45a06c7cde7781962">m_OutputShapeRounding</a> = <a class="code" href="namespacearmnn.xhtml#adf2e5515c4c36a3e7e46bb8b83c6754ea3237fbc8204064c106cb9080088a17cb">armnn::OutputShapeRounding::Ceiling</a>;</div><div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160; }</div><div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160; {</div><div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>&#160; BOOST_ASSERT_MSG(<span class="keyword">false</span>, <span class="stringliteral">&quot;Unsupported output shape rounding&quot;</span>);</div><div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>&#160; }</div><div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>&#160; }</div><div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160;</div><div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160; <span class="keywordflow">switch</span> (pooling2dDesc-&gt;paddingMethod())</div><div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160; {</div><div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>&#160; <span class="keywordflow">case</span> PaddingMethod_Exclude:</div><div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160; {</div><div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#a8c29d6ea9b4186d69aad5961c910939c">m_PaddingMethod</a> = <a class="code" href="namespacearmnn.xhtml#a3888429b6ebc79f9a7df549e5e4d9a2fa843f2812f595e7ec7c5036e89fde02d6">armnn::PaddingMethod::Exclude</a>;</div><div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>&#160; }</div><div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160; <span class="keywordflow">case</span> PaddingMethod_IgnoreValue:</div><div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160; {</div><div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#a8c29d6ea9b4186d69aad5961c910939c">m_PaddingMethod</a> = <a class="code" href="namespacearmnn.xhtml#a3888429b6ebc79f9a7df549e5e4d9a2faad301514192636ad34210adce598a45a">armnn::PaddingMethod::IgnoreValue</a>;</div><div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160; }</div><div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160; {</div><div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160; BOOST_ASSERT_MSG(<span class="keyword">false</span>, <span class="stringliteral">&quot;Unsupported padding method&quot;</span>);</div><div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160; }</div><div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160; }</div><div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160;</div><div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160; <span class="keywordflow">switch</span> (pooling2dDesc-&gt;dataLayout())</div><div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160; {</div><div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160; <span class="keywordflow">case</span> DataLayout_NCHW:</div><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160; {</div><div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#a6089e1ca91914015777ea780a513131a">m_DataLayout</a> = <a class="code" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::DataLayout::NCHW</a>;</div><div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160; }</div><div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160; <span class="keywordflow">case</span> DataLayout_NHWC:</div><div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160; {</div><div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#a6089e1ca91914015777ea780a513131a">m_DataLayout</a> = <a class="code" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">armnn::DataLayout::NHWC</a>;</div><div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160; }</div><div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160; {</div><div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160; BOOST_ASSERT_MSG(<span class="keyword">false</span>, <span class="stringliteral">&quot;Unsupported data layout&quot;</span>);</div><div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160; }</div><div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160; }</div><div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>&#160;</div><div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#a002bc30e590d78cbb4f4d12171055ca7">m_PadRight</a> = pooling2dDesc-&gt;padRight();</div><div class="line"><a name="l01887"></a><span class="lineno"> 1887</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#ac18546ebbebbb32fe0a03baa9bf2c600">m_PadLeft</a> = pooling2dDesc-&gt;padLeft();</div><div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#aa9e49717ebdb741e8c767741647fc618">m_PadBottom</a> = pooling2dDesc-&gt;padBottom();</div><div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#a56b51f56cef50cdfa554258eecdab046">m_PadTop</a> = pooling2dDesc-&gt;padTop();</div><div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#afe6a3377c4531315354def9023c8fdda">m_StrideX</a> = pooling2dDesc-&gt;strideX();</div><div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#ac1fe174bbadfb39a2b636940c2e647c8">m_StrideY</a> = pooling2dDesc-&gt;strideY();</div><div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#a6d8fb685cc1ff224f25aa127fcf62c86">m_PoolWidth</a> = pooling2dDesc-&gt;poolWidth();</div><div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>&#160; desc.<a class="code" href="structarmnn_1_1_pooling2d_descriptor.xhtml#a5699e8606c37d18c03910b242cd1b010">m_PoolHeight</a> = pooling2dDesc-&gt;poolHeight();</div><div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160;</div><div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160; <span class="keywordflow">return</span> desc;</div><div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160;}</div><div class="ttc" id="structarmnn_1_1_pooling2d_descriptor_xhtml_aa9e49717ebdb741e8c767741647fc618"><div class="ttname"><a href="structarmnn_1_1_pooling2d_descriptor.xhtml#aa9e49717ebdb741e8c767741647fc618">armnn::Pooling2dDescriptor::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#l00355">Descriptors.hpp:355</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_adf2e5515c4c36a3e7e46bb8b83c6754ea3237fbc8204064c106cb9080088a17cb"><div class="ttname"><a href="namespacearmnn.xhtml#adf2e5515c4c36a3e7e46bb8b83c6754ea3237fbc8204064c106cb9080088a17cb">armnn::OutputShapeRounding::Ceiling</a></div></div>
+<div class="ttc" id="structarmnn_1_1_pooling2d_descriptor_xhtml_ac18546ebbebbb32fe0a03baa9bf2c600"><div class="ttname"><a href="structarmnn_1_1_pooling2d_descriptor.xhtml#ac18546ebbebbb32fe0a03baa9bf2c600">armnn::Pooling2dDescriptor::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#l00349">Descriptors.hpp:349</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_adf2e5515c4c36a3e7e46bb8b83c6754eaf3f6d0343d56ce88ce7958170ed05cb3"><div class="ttname"><a href="namespacearmnn.xhtml#adf2e5515c4c36a3e7e46bb8b83c6754eaf3f6d0343d56ce88ce7958170ed05cb3">armnn::OutputShapeRounding::Floor</a></div></div>
+<div class="ttc" id="structarmnn_1_1_pooling2d_descriptor_xhtml_a6d8fb685cc1ff224f25aa127fcf62c86"><div class="ttname"><a href="structarmnn_1_1_pooling2d_descriptor.xhtml#a6d8fb685cc1ff224f25aa127fcf62c86">armnn::Pooling2dDescriptor::m_PoolWidth</a></div><div class="ttdeci">uint32_t m_PoolWidth</div><div class="ttdoc">Pooling width value. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00357">Descriptors.hpp:357</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_a3888429b6ebc79f9a7df549e5e4d9a2fa843f2812f595e7ec7c5036e89fde02d6"><div class="ttname"><a href="namespacearmnn.xhtml#a3888429b6ebc79f9a7df549e5e4d9a2fa843f2812f595e7ec7c5036e89fde02d6">armnn::PaddingMethod::Exclude</a></div><div class="ttdoc">The padding fields don&amp;#39;t count and are ignored. </div></div>
+<div class="ttc" id="structarmnn_1_1_pooling2d_descriptor_xhtml_a8c29d6ea9b4186d69aad5961c910939c"><div class="ttname"><a href="structarmnn_1_1_pooling2d_descriptor.xhtml#a8c29d6ea9b4186d69aad5961c910939c">armnn::Pooling2dDescriptor::m_PaddingMethod</a></div><div class="ttdeci">PaddingMethod m_PaddingMethod</div><div class="ttdoc">The padding method to be used. (Exclude, IgnoreValue). </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00367">Descriptors.hpp:367</a></div></div>
+<div class="ttc" id="structarmnn_1_1_pooling2d_descriptor_xhtml_a56b51f56cef50cdfa554258eecdab046"><div class="ttname"><a href="structarmnn_1_1_pooling2d_descriptor.xhtml#a56b51f56cef50cdfa554258eecdab046">armnn::Pooling2dDescriptor::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#l00353">Descriptors.hpp:353</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
+<div class="ttc" id="structarmnn_1_1_pooling2d_descriptor_xhtml_afe6a3377c4531315354def9023c8fdda"><div class="ttname"><a href="structarmnn_1_1_pooling2d_descriptor.xhtml#afe6a3377c4531315354def9023c8fdda">armnn::Pooling2dDescriptor::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#l00361">Descriptors.hpp:361</a></div></div>
+<div class="ttc" id="structarmnn_1_1_pooling2d_descriptor_xhtml_a5699e8606c37d18c03910b242cd1b010"><div class="ttname"><a href="structarmnn_1_1_pooling2d_descriptor.xhtml#a5699e8606c37d18c03910b242cd1b010">armnn::Pooling2dDescriptor::m_PoolHeight</a></div><div class="ttdeci">uint32_t m_PoolHeight</div><div class="ttdoc">Pooling height value. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00359">Descriptors.hpp:359</a></div></div>
+<div class="ttc" id="structarmnn_1_1_pooling2d_descriptor_xhtml_a002bc30e590d78cbb4f4d12171055ca7"><div class="ttname"><a href="structarmnn_1_1_pooling2d_descriptor.xhtml#a002bc30e590d78cbb4f4d12171055ca7">armnn::Pooling2dDescriptor::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#l00351">Descriptors.hpp:351</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_a961bbfe1db71a848eff5a1f0ab775718ab1897515d548a960afe49ecf66a29021"><div class="ttname"><a href="namespacearmnn.xhtml#a961bbfe1db71a848eff5a1f0ab775718ab1897515d548a960afe49ecf66a29021">armnn::PoolingAlgorithm::Average</a></div></div>
+<div class="ttc" id="structarmnn_1_1_pooling2d_descriptor_xhtml_a6089e1ca91914015777ea780a513131a"><div class="ttname"><a href="structarmnn_1_1_pooling2d_descriptor.xhtml#a6089e1ca91914015777ea780a513131a">armnn::Pooling2dDescriptor::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#l00369">Descriptors.hpp:369</a></div></div>
+<div class="ttc" id="structarmnn_1_1_pooling2d_descriptor_xhtml_a0031997bf43bd2747656c31e4977793a"><div class="ttname"><a href="structarmnn_1_1_pooling2d_descriptor.xhtml#a0031997bf43bd2747656c31e4977793a">armnn::Pooling2dDescriptor::m_PoolType</a></div><div class="ttdeci">PoolingAlgorithm m_PoolType</div><div class="ttdoc">The pooling algorithm to use (Max. Average, L2). </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00347">Descriptors.hpp:347</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_a3888429b6ebc79f9a7df549e5e4d9a2faad301514192636ad34210adce598a45a"><div class="ttname"><a href="namespacearmnn.xhtml#a3888429b6ebc79f9a7df549e5e4d9a2faad301514192636ad34210adce598a45a">armnn::PaddingMethod::IgnoreValue</a></div><div class="ttdoc">The padding fields count, but are ignored. </div></div>
+<div class="ttc" id="structarmnn_1_1_pooling2d_descriptor_xhtml_affb5b68b3eba3ed45a06c7cde7781962"><div class="ttname"><a href="structarmnn_1_1_pooling2d_descriptor.xhtml#affb5b68b3eba3ed45a06c7cde7781962">armnn::Pooling2dDescriptor::m_OutputShapeRounding</a></div><div class="ttdeci">OutputShapeRounding m_OutputShapeRounding</div><div class="ttdoc">The rounding method for the output shape. (Floor, Ceiling). </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00365">Descriptors.hpp:365</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_a961bbfe1db71a848eff5a1f0ab775718a6a061313d22e51e0f25b7cd4dc065233"><div class="ttname"><a href="namespacearmnn.xhtml#a961bbfe1db71a848eff5a1f0ab775718a6a061313d22e51e0f25b7cd4dc065233">armnn::PoolingAlgorithm::Max</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_pooling2d_descriptor_xhtml"><div class="ttname"><a href="structarmnn_1_1_pooling2d_descriptor.xhtml">armnn::Pooling2dDescriptor</a></div><div class="ttdoc">A Pooling2dDescriptor for the Pooling2dLayer. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00313">Descriptors.hpp:313</a></div></div>
+<div class="ttc" id="structarmnn_1_1_pooling2d_descriptor_xhtml_ac1fe174bbadfb39a2b636940c2e647c8"><div class="ttname"><a href="structarmnn_1_1_pooling2d_descriptor.xhtml#ac1fe174bbadfb39a2b636940c2e647c8">armnn::Pooling2dDescriptor::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#l00363">Descriptors.hpp:363</a></div></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="a0ba4effa5ee7ef715b1f452365c41f97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ba4effa5ee7ef715b1f452365c41f97">&#9670;&nbsp;</a></span>LoadGraphFromBinary()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml#a38c1f8ba8e51364802669c968cf98ff5">Deserializer::GraphPtr</a> LoadGraphFromBinary </td>
+ <td>(</td>
+ <td class="paramtype">const uint8_t *&#160;</td>
+ <td class="paramname"><em>binaryContent</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>len</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="_deserializer_8cpp_source.xhtml#l00686">686</a> of file <a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="_exceptions_8hpp_source.xhtml#l00192">CHECK_LOCATION</a>, and <a class="el" href="classarmnn_1_1_i_output_slot.xhtml#ac1835f8756a9f03c02fcf9664e3a0fce">IOutputSlot::Connect()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_deserializer_8cpp_source.xhtml#l00671">Deserializer::CreateNetworkFromBinary()</a>, and <a class="el" href="_deserializer_8hpp_source.xhtml#l00048">Deserializer::~Deserializer()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;{</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="keywordflow">if</span> (binaryContent == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; {</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.xhtml">InvalidArgumentException</a>(boost::str(boost::format(<span class="stringliteral">&quot;Invalid (null) binary content %1%&quot;</span>) %</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <a class="code" href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>().AsString()));</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; }</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; flatbuffers::Verifier verifier(binaryContent, len);</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="keywordflow">if</span> (verifier.VerifyBuffer&lt;SerializedGraph&gt;() == <span class="keyword">false</span>)</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; {</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_parse_exception.xhtml">ParseException</a>(</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; boost::str(boost::format(<span class="stringliteral">&quot;Buffer doesn&#39;t conform to the expected Armnn &quot;</span></div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="stringliteral">&quot;flatbuffers format. size:%1% %2%&quot;</span>) %</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; len %</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <a class="code" href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>().AsString()));</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; }</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordflow">return</span> GetSerializedGraph(binaryContent);</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_invalid_argument_exception_xhtml"><div class="ttname"><a href="classarmnn_1_1_invalid_argument_exception.xhtml">armnn::InvalidArgumentException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.xhtml#l00080">Exceptions.hpp:80</a></div></div>
+<div class="ttc" id="_exceptions_8hpp_xhtml_aa3be76aec4ce713822a5ea1ecbb7bc61"><div class="ttname"><a href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a></div><div class="ttdeci">#define CHECK_LOCATION()</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.xhtml#l00192">Exceptions.hpp:192</a></div></div>
+<div class="ttc" id="classarmnn_1_1_parse_exception_xhtml"><div class="ttname"><a href="classarmnn_1_1_parse_exception.xhtml">armnn::ParseException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.xhtml#l00092">Exceptions.hpp:92</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a8752c2b994619ae67201a297c2c76be2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8752c2b994619ae67201a297c2c76be2">&#9670;&nbsp;</a></span>OutputShapeOfReshape()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a> OutputShapeOfReshape </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a> &amp;&#160;</td>
+ <td class="paramname"><em>inputTensorInfo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const std::vector&lt; uint32_t &gt; &amp;&#160;</td>
+ <td class="paramname"><em>targetDimsIn</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="_deserializer_8cpp_source.xhtml#l01938">1938</a> of file <a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="namespacearmnn.xhtml#a9a2af2f8c4af4f9efa8e79417d505ac4aaf17c98bbd83c27d6426d2ff3fa81d7f">armnn::Bilinear</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00160">CHECK_LAYERS</a>, <a class="el" href="_exceptions_8hpp_source.xhtml#l00192">CHECK_LOCATION</a>, <a class="el" href="_verification_helpers_8hpp_source.xhtml#l00032">CHECK_VALID_SIZE</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00167">armnnDeserializer::CheckShape()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00601">Deserializer::GetInputs()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00372">Deserializer::GetLayerName()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00093">TensorInfo::GetNumElements()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00619">Deserializer::GetOutputs()</a>, <a class="el" href="classarmnn_1_1_i_connectable_layer.xhtml#a80ac4eda2e7f2757ec9dd96fc96dbd16">IConnectableLayer::GetOutputSlot()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00088">TensorInfo::GetShape()</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00136">SoftmaxDescriptor::m_Beta</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00801">SpaceToBatchNdDescriptor::m_BlockShape</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00827">SpaceToDepthDescriptor::m_BlockSize</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00751">ResizeDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00806">SpaceToBatchNdDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00830">SpaceToDepthDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00749">ResizeDescriptor::m_Method</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00804">SpaceToBatchNdDescriptor::m_PadList</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00746">ResizeDescriptor::m_TargetHeight</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00774">ReshapeDescriptor::m_TargetShape</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00744">ResizeDescriptor::m_TargetWidth</a>, <a class="el" href="_numeric_cast_8hpp_source.xhtml#l00033">armnn::numeric_cast()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00090">TensorInfo::SetShape()</a>, <a class="el" href="classarmnn_1_1_i_output_slot.xhtml#a5ee4a6c9a2481245487b1b1a70d20fd0">IOutputSlot::SetTensorInfo()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00394">armnnDeserializer::ToDataLayout()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00488">armnnDeserializer::ToResizeMethod()</a>, and <a class="el" href="_deserializer_8cpp_source.xhtml#l00501">armnnDeserializer::ToTensorInfo()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_deserializer_8hpp_source.xhtml#l00048">Deserializer::~Deserializer()</a>.</p>
+<div class="fragment"><div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160;{</div><div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160; std::vector&lt;unsigned int&gt; outputDims(targetDimsIn.begin(), targetDimsIn.end());</div><div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> stretchDim = std::find(targetDimsIn.begin(), targetDimsIn.end(), -1);</div><div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160;</div><div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160; <span class="keywordflow">if</span> (stretchDim != targetDimsIn.end())</div><div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160; {</div><div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160; <span class="keywordflow">if</span> (std::find(std::next(stretchDim), targetDimsIn.end(), -1) != targetDimsIn.end())</div><div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160; {</div><div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_parse_exception.xhtml">ParseException</a>(boost::str(</div><div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160; boost::format(<span class="stringliteral">&quot;At most one component of shape can be -1 %1%&quot;</span>) % <a class="code" href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>().AsString()));</div><div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>&#160; }</div><div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160;</div><div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160; <span class="keyword">auto</span> targetNumElements =</div><div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>&#160; <a class="code" href="namespacearmnn.xhtml#a37fa39012e90d568df7f774cd6d1e956">boost::numeric_cast</a>&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&gt;(</div><div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160; std::accumulate(targetDimsIn.begin(), targetDimsIn.end(), -1, std::multiplies&lt;int32_t&gt;()));</div><div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160;</div><div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160; <span class="keyword">auto</span> stretchIndex = <span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span>(std::distance(targetDimsIn.begin(), stretchDim));</div><div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>&#160; outputDims[stretchIndex] = inputTensorInfo.<a class="code" href="classarmnn_1_1_tensor_info.xhtml#a8846406ac37fbd2204f0be16ee05d5b7">GetNumElements</a>() / targetNumElements;</div><div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160; }</div><div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>&#160;</div><div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160; <a class="code" href="classarmnn_1_1_tensor_shape.xhtml">TensorShape</a> outputShape = <a class="code" href="classarmnn_1_1_tensor_shape.xhtml">TensorShape</a>(static_cast&lt;unsigned int&gt;(outputDims.size()), outputDims.data());</div><div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160;</div><div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a> reshapeInfo = inputTensorInfo;</div><div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160; reshapeInfo.<a class="code" href="classarmnn_1_1_tensor_info.xhtml#abe8889e8150beef5fd204b2d87b49298">SetShape</a>(outputShape);</div><div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160;</div><div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160; <span class="keywordflow">return</span> reshapeInfo;</div><div class="line"><a name="l01966"></a><span class="lineno"> 1966</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="classarmnn_1_1_tensor_shape_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_shape.xhtml">armnn::TensorShape</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00020">Tensor.hpp:20</a></div></div>
+<div class="ttc" id="classarmnn_1_1_tensor_info_xhtml_abe8889e8150beef5fd204b2d87b49298"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml#abe8889e8150beef5fd204b2d87b49298">armnn::TensorInfo::SetShape</a></div><div class="ttdeci">void SetShape(const TensorShape &amp;newShape)</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00090">Tensor.hpp:90</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_a37fa39012e90d568df7f774cd6d1e956"><div class="ttname"><a href="namespacearmnn.xhtml#a37fa39012e90d568df7f774cd6d1e956">armnn::numeric_cast</a></div><div class="ttdeci">std::enable_if_t&lt; std::is_unsigned&lt; Source &gt;::value &amp;&amp;std::is_unsigned&lt; Dest &gt;::value, Dest &gt; numeric_cast(Source source)</div><div class="ttdef"><b>Definition:</b> <a href="_numeric_cast_8hpp_source.xhtml#l00033">NumericCast.hpp:33</a></div></div>
+<div class="ttc" id="_exceptions_8hpp_xhtml_aa3be76aec4ce713822a5ea1ecbb7bc61"><div class="ttname"><a href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a></div><div class="ttdeci">#define CHECK_LOCATION()</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.xhtml#l00192">Exceptions.hpp:192</a></div></div>
+<div class="ttc" id="classarmnn_1_1_parse_exception_xhtml"><div class="ttname"><a href="classarmnn_1_1_parse_exception.xhtml">armnn::ParseException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.xhtml#l00092">Exceptions.hpp:92</a></div></div>
+<div class="ttc" id="classarmnn_1_1_tensor_info_xhtml_a8846406ac37fbd2204f0be16ee05d5b7"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml#a8846406ac37fbd2204f0be16ee05d5b7">armnn::TensorInfo::GetNumElements</a></div><div class="ttdeci">unsigned int GetNumElements() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00093">Tensor.hpp:93</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>src/armnnDeserializer/<a class="el" href="_deserializer_8hpp_source.xhtml">Deserializer.hpp</a></li>
+<li>src/armnnDeserializer/<a class="el" href="_deserializer_8cpp_source.xhtml">Deserializer.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_deserializer.xhtml">armnnDeserializer</a></li><li class="navelem"><a class="el" href="classarmnn_deserializer_1_1_deserializer.xhtml">Deserializer</a></li>
+ <li class="footer">Generated on Fri Mar 13 2020 16:09:21 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>