| <!-- HTML header for doxygen 1.8.15--> |
| <!-- Remember to use version doxygen 1.8.15 +--> |
| <!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.15"/> |
| <meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines --> |
| <title>Compute Library: NEFunctionFactory 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"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| $(document).ready(initResizable); |
| /* @license-end */</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" async="async" 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="Compute Library" src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png" style="max-width: 100%;margin-top: 15px;margin-left: 10px"/> |
| <td style="padding-left: 0.5em;"> |
| <div id="projectname"> |
|  <span id="projectnumber">20.02.1</span> |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.8.15 --> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| var searchBox = new SearchBox("searchBox", "search",false,'Search'); |
| /* @license-end */ |
| </script> |
| <script type="text/javascript" src="menudata.js"></script> |
| <script type="text/javascript" src="menu.js"></script> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| $(function() { |
| initMenu('',true,false,'search.php','Search'); |
| $(document).ready(function() { init_search(); }); |
| }); |
| /* @license-end */</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"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| $(document).ready(function(){initNavTree('classarm__compute_1_1graph_1_1backends_1_1_n_e_function_factory.xhtml','');}); |
| /* @license-end */ |
| </script> |
| <div id="doc-content"> |
| <!-- window showing the filter options --> |
| <div id="MSearchSelectWindow" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| </div> |
| |
| <!-- iframe showing the search results (closed by default) --> |
| <div id="MSearchResultsWindow"> |
| <iframe src="javascript:void(0)" frameborder="0" |
| name="MSearchResults" id="MSearchResults"> |
| </iframe> |
| </div> |
| |
| <div class="header"> |
| <div class="summary"> |
| <a href="#pub-static-methods">Static Public Member Functions</a> </div> |
| <div class="headertitle"> |
| <div class="title">NEFunctionFactory Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p>Factory for generating NEON backend functions. |
| <a href="classarm__compute_1_1graph_1_1backends_1_1_n_e_function_factory.xhtml#details">More...</a></p> |
| |
| <p><code>#include <<a class="el" href="_n_e_function_factory_8h_source.xhtml">NEFunctionFactory.h</a>></code></p> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> |
| Static Public Member Functions</h2></td></tr> |
| <tr class="memitem:aa7ac6bf065e64181f3c92fee4b3b5c79"><td class="memItemLeft" align="right" valign="top">static std::unique_ptr< <a class="el" href="classarm__compute_1_1_i_function.xhtml">arm_compute::IFunction</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph_1_1backends_1_1_n_e_function_factory.xhtml#aa7ac6bf065e64181f3c92fee4b3b5c79">create</a> (<a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> *node, <a class="el" href="classarm__compute_1_1graph_1_1_graph_context.xhtml">GraphContext</a> &ctx)</td></tr> |
| <tr class="memdesc:aa7ac6bf065e64181f3c92fee4b3b5c79"><td class="mdescLeft"> </td><td class="mdescRight">Create a backend execution function depending on the node type. <a href="#aa7ac6bf065e64181f3c92fee4b3b5c79">More...</a><br /></td></tr> |
| <tr class="separator:aa7ac6bf065e64181f3c92fee4b3b5c79"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><p>Factory for generating NEON backend functions. </p> |
| |
| <p class="definition">Definition at line <a class="el" href="_n_e_function_factory_8h_source.xhtml#l00042">42</a> of file <a class="el" href="_n_e_function_factory_8h_source.xhtml">NEFunctionFactory.h</a>.</p> |
| </div><h2 class="groupheader">Member Function Documentation</h2> |
| <a id="aa7ac6bf065e64181f3c92fee4b3b5c79"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aa7ac6bf065e64181f3c92fee4b3b5c79">◆ </a></span>create()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">std::unique_ptr< <a class="el" href="classarm__compute_1_1_i_function.xhtml">IFunction</a> > create </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> * </td> |
| <td class="paramname"><em>node</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_graph_context.xhtml">GraphContext</a> & </td> |
| <td class="paramname"><em>ctx</em> </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>Create a backend execution function depending on the node type. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramdir">[in]</td><td class="paramname">node</td><td>Node to create the backend function for </td></tr> |
| <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Context to use</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>Backend function </dd></dl> |
| |
| <p class="definition">Definition at line <a class="el" href="_n_e_function_factory_8cpp_source.xhtml#l00186">186</a> of file <a class="el" href="_n_e_function_factory_8cpp_source.xhtml">NEFunctionFactory.cpp</a>.</p> |
| <div class="fragment"><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">if</span>(node == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  {</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  }</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16">NodeType</a> <a class="code" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a> = node->type();</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>)</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a041485a3394541feee82a34d40249d70">NodeType::ActivationLayer</a>:</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">return</span> detail::create_activation_layer<NEActivationLayer, NETargetInfo>(*polymorphic_downcast<ActivationLayerNode *>(node));</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16ad0146d2051fad860923cf31f7e00a732">NodeType::BatchNormalizationLayer</a>:</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">return</span> detail::create_batch_normalization_layer<NEBatchNormalizationLayer, NETargetInfo>(*polymorphic_downcast<BatchNormalizationLayerNode *>(node));</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16af5505217824e3e9e8000ef0d63360158">NodeType::ChannelShuffleLayer</a>:</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">return</span> detail::create_channel_shuffle_layer<NEChannelShuffleLayer, NETargetInfo>(*polymorphic_downcast<ChannelShuffleLayerNode *>(node));</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16aa252659b59a03bc61e5ec827ab4448b7">NodeType::ConvolutionLayer</a>:</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1graph_1_1backends_1_1detail.xhtml#aca9f3683506635cbdffb2c57108910ed">detail::create_convolution_layer<NEConvolutionLayerFunctions, NETargetInfo></a>(*polymorphic_downcast<ConvolutionLayerNode *>(node), ctx);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16ac814c26a7c5317e2a2f58fe0e5a0d410">NodeType::DeconvolutionLayer</a>:</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">return</span> detail::create_deconvolution_layer<NEDeconvolutionLayer, NETargetInfo>(*polymorphic_downcast<DeconvolutionLayerNode *>(node), ctx);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a5c436066fbad2e22ccab352c0d554809">NodeType::ConcatenateLayer</a>:</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">return</span> detail::create_concatenate_layer<NEConcatenateLayer, NETargetInfo>(*polymorphic_downcast<ConcatenateLayerNode *>(node));</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a5b7955cb74be105cc7e044a370d4fce8">NodeType::DepthwiseConvolutionLayer</a>:</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">return</span> detail::create_depthwise_convolution_layer<NEDepthwiseConvolutionLayer, NETargetInfo>(*polymorphic_downcast<DepthwiseConvolutionLayerNode *>(node));</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a6dc16ed47490b9162258248a67a28149">NodeType::DequantizationLayer</a>:</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">return</span> detail::create_dequantization_layer<NEDequantizationLayer, NETargetInfo>(*polymorphic_downcast<DequantizationLayerNode *>(node));</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16ae1b0b91c003f871664a4e289977ef02e">NodeType::DetectionOutputLayer</a>:</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">return</span> detail::create_detection_output_layer<CPPDetectionOutputLayer, NETargetInfo>(*polymorphic_downcast<DetectionOutputLayerNode *>(node));</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a0e5a1913b18dbe59dcbcf4e85148802d">NodeType::DetectionPostProcessLayer</a>:</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">return</span> detail::create_detection_post_process_layer<NEDetectionPostProcessLayer, NETargetInfo>(*polymorphic_downcast<DetectionPostProcessLayerNode *>(node));</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16ad1b3837fe6a80018e7002c7f7905439d">NodeType::EltwiseLayer</a>:</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">return</span> detail::create_eltwise_layer<NEEltwiseFunctions, NETargetInfo>(*polymorphic_downcast<EltwiseLayerNode *>(node));</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16ad87240455a60f188b358a370fe1a83a5">NodeType::FlattenLayer</a>:</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">return</span> detail::create_flatten_layer<NEFlattenLayer, NETargetInfo>(*polymorphic_downcast<FlattenLayerNode *>(node));</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a658061ff1dac70c02116fae6c044da1a">NodeType::FullyConnectedLayer</a>:</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">return</span> detail::create_fully_connected_layer<NEFullyConnectedLayer, NETargetInfo>(*polymorphic_downcast<FullyConnectedLayerNode *>(node), ctx);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a6f89e5fc5edf43300199d6bc8f5088de">NodeType::FusedConvolutionBatchNormalizationLayer</a>:</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">return</span> detail::create_fused_convolution_batch_normalization_layer<NEFusedLayerTypes, NETargetInfo>(*polymorphic_downcast<FusedConvolutionBatchNormalizationNode *>(node), ctx);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a5955c7816e24dbfab34403cca9a133fc">NodeType::FusedDepthwiseConvolutionBatchNormalizationLayer</a>:</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">return</span> detail::create_fused_depthwise_convolution_batch_normalization_layer<NEFusedLayerTypes, NETargetInfo>(*polymorphic_downcast<FusedDepthwiseConvolutionBatchNormalizationNode *>(node), ctx);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a227ecc6e858c8d1f61664f1967173bea">NodeType::NormalizationLayer</a>:</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1graph_1_1backends_1_1detail.xhtml#ab68902cd2bb95bf47f5967718015343c">detail::create_normalization_layer<NENormalizationLayer, NETargetInfo></a>(*polymorphic_downcast<NormalizationLayerNode *>(node), ctx);</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a979ac8e70d367e1e442d76f00b6f0ad1">NodeType::PadLayer</a>:</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">return</span> detail::create_pad_layer<NEPadLayer, NETargetInfo>(*polymorphic_downcast<PadLayerNode *>(node));</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16aa84a001cb23ac473e7aae73a9eaf369a">NodeType::PermuteLayer</a>:</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">return</span> detail::create_permute_layer<NEPermute, NETargetInfo>(*polymorphic_downcast<PermuteLayerNode *>(node));</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16aea068ae5aae640d018c4300bc7619575">NodeType::PoolingLayer</a>:</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">return</span> detail::create_pooling_layer<NEPoolingLayer, NETargetInfo>(*polymorphic_downcast<PoolingLayerNode *>(node));</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a44da30946f36dcb01ca8be92a1420536">NodeType::PReluLayer</a>:</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">return</span> detail::create_prelu_layer<NEPReluLayer, NETargetInfo>(*polymorphic_downcast<PReluLayerNode *>(node));</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a415d76e29ed6d61c9f71cc6f7cf3f656">NodeType::PrintLayer</a>:</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">return</span> detail::create_print_layer<NETargetInfo>(*polymorphic_downcast<PrintLayerNode *>(node));</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a77329845031ba38f828a884f40beb69c">NodeType::PriorBoxLayer</a>:</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">return</span> detail::create_priorbox_layer<NEPriorBoxLayer, NETargetInfo>(*polymorphic_downcast<PriorBoxLayerNode *>(node));</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a399e260d5d6886e9917d4313cd05f6fe">NodeType::QuantizationLayer</a>:</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">return</span> detail::create_quantization_layer<NEQuantizationLayer, NETargetInfo>(*polymorphic_downcast<QuantizationLayerNode *>(node));</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16af119c4b7a889a65e39ef53786dce0c84">NodeType::ReorgLayer</a>:</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">return</span> detail::create_reorg_layer<NEReorgLayer, NETargetInfo>(*polymorphic_downcast<ReorgLayerNode *>(node));</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a1ee0d44744be1e17e38ad5a4e9dcf5dd">NodeType::ReshapeLayer</a>:</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">return</span> detail::create_reshape_layer<NEReshapeLayer, NETargetInfo>(*polymorphic_downcast<ReshapeLayerNode *>(node));</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16aea2ded20d74b2bf7921551363737777e">NodeType::ResizeLayer</a>:</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">return</span> detail::create_resize_layer<NEScale, NETargetInfo>(*polymorphic_downcast<ResizeLayerNode *>(node));</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a4a9567bc4a6c28a527c973010eaf9a25">NodeType::SoftmaxLayer</a>:</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">return</span> detail::create_softmax_layer<NESoftmaxLayer, NETargetInfo>(*polymorphic_downcast<SoftmaxLayerNode *>(node), ctx);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a6a1f3bd45caa35d2537fcacb4460920e">NodeType::StackLayer</a>:</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keywordflow">return</span> detail::create_stack_layer<NEStackLayer, NETargetInfo>(*polymorphic_downcast<StackLayerNode *>(node));</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a1634ae65e32998568feae7e5e8e3bb65">NodeType::UpsampleLayer</a>:</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">return</span> detail::create_upsample_layer<NEUpsampleLayer, NETargetInfo>(*polymorphic_downcast<UpsampleLayerNode *>(node), ctx);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">case</span> <a class="code" href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16afc71c950664ce080f333699aec4248a2">NodeType::YOLOLayer</a>:</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">return</span> detail::create_yolo_layer<NEYOLOLayer, NETargetInfo>(*polymorphic_downcast<YOLOLayerNode *>(node), ctx);</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  }</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span> }</div><div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a041485a3394541feee82a34d40249d70"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a041485a3394541feee82a34d40249d70">arm_compute::graph::NodeType::ActivationLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16aea068ae5aae640d018c4300bc7619575"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16aea068ae5aae640d018c4300bc7619575">arm_compute::graph::NodeType::PoolingLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16ad0146d2051fad860923cf31f7e00a732"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16ad0146d2051fad860923cf31f7e00a732">arm_compute::graph::NodeType::BatchNormalizationLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16af119c4b7a889a65e39ef53786dce0c84"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16af119c4b7a889a65e39ef53786dce0c84">arm_compute::graph::NodeType::ReorgLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16ac814c26a7c5317e2a2f58fe0e5a0d410"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16ac814c26a7c5317e2a2f58fe0e5a0d410">arm_compute::graph::NodeType::DeconvolutionLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16ad87240455a60f188b358a370fe1a83a5"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16ad87240455a60f188b358a370fe1a83a5">arm_compute::graph::NodeType::FlattenLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a1634ae65e32998568feae7e5e8e3bb65"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a1634ae65e32998568feae7e5e8e3bb65">arm_compute::graph::NodeType::UpsampleLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a77329845031ba38f828a884f40beb69c"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a77329845031ba38f828a884f40beb69c">arm_compute::graph::NodeType::PriorBoxLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16aa84a001cb23ac473e7aae73a9eaf369a"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16aa84a001cb23ac473e7aae73a9eaf369a">arm_compute::graph::NodeType::PermuteLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16ad1b3837fe6a80018e7002c7f7905439d"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16ad1b3837fe6a80018e7002c7f7905439d">arm_compute::graph::NodeType::EltwiseLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a227ecc6e858c8d1f61664f1967173bea"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a227ecc6e858c8d1f61664f1967173bea">arm_compute::graph::NodeType::NormalizationLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a5955c7816e24dbfab34403cca9a133fc"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a5955c7816e24dbfab34403cca9a133fc">arm_compute::graph::NodeType::FusedDepthwiseConvolutionBatchNormalizationLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a979ac8e70d367e1e442d76f00b6f0ad1"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a979ac8e70d367e1e442d76f00b6f0ad1">arm_compute::graph::NodeType::PadLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_1_1backends_1_1detail_xhtml_ab68902cd2bb95bf47f5967718015343c"><div class="ttname"><a href="namespacearm__compute_1_1graph_1_1backends_1_1detail.xhtml#ab68902cd2bb95bf47f5967718015343c">arm_compute::graph::backends::detail::create_normalization_layer< NENormalizationLayer, NETargetInfo ></a></div><div class="ttdeci">std::unique_ptr< IFunction > create_normalization_layer< NENormalizationLayer, NETargetInfo >(NormalizationLayerNode &node, GraphContext &ctx)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_function_factory_8cpp_source.xhtml#l00156">NEFunctionFactory.cpp:156</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a6dc16ed47490b9162258248a67a28149"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a6dc16ed47490b9162258248a67a28149">arm_compute::graph::NodeType::DequantizationLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_1_1backends_1_1detail_xhtml_aca9f3683506635cbdffb2c57108910ed"><div class="ttname"><a href="namespacearm__compute_1_1graph_1_1backends_1_1detail.xhtml#aca9f3683506635cbdffb2c57108910ed">arm_compute::graph::backends::detail::create_convolution_layer< NEConvolutionLayerFunctions, NETargetInfo ></a></div><div class="ttdeci">std::unique_ptr< IFunction > create_convolution_layer< NEConvolutionLayerFunctions, NETargetInfo >(ConvolutionLayerNode &node, GraphContext &ctx)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_function_factory_8cpp_source.xhtml#l00085">NEFunctionFactory.cpp:85</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a44da30946f36dcb01ca8be92a1420536"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a44da30946f36dcb01ca8be92a1420536">arm_compute::graph::NodeType::PReluLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a1ee0d44744be1e17e38ad5a4e9dcf5dd"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a1ee0d44744be1e17e38ad5a4e9dcf5dd">arm_compute::graph::NodeType::ReshapeLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16aa252659b59a03bc61e5ec827ab4448b7"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16aa252659b59a03bc61e5ec827ab4448b7">arm_compute::graph::NodeType::ConvolutionLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16">arm_compute::graph::NodeType</a></div><div class="ttdeci">NodeType</div><div class="ttdoc">Supported nodes.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2graph_2_types_8h_source.xhtml#l00132">Types.h:132</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a0e5a1913b18dbe59dcbcf4e85148802d"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a0e5a1913b18dbe59dcbcf4e85148802d">arm_compute::graph::NodeType::DetectionPostProcessLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a4a9567bc4a6c28a527c973010eaf9a25"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a4a9567bc4a6c28a527c973010eaf9a25">arm_compute::graph::NodeType::SoftmaxLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16afc71c950664ce080f333699aec4248a2"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16afc71c950664ce080f333699aec4248a2">arm_compute::graph::NodeType::YOLOLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a658061ff1dac70c02116fae6c044da1a"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a658061ff1dac70c02116fae6c044da1a">arm_compute::graph::NodeType::FullyConnectedLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16af5505217824e3e9e8000ef0d63360158"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16af5505217824e3e9e8000ef0d63360158">arm_compute::graph::NodeType::ChannelShuffleLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16aea2ded20d74b2bf7921551363737777e"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16aea2ded20d74b2bf7921551363737777e">arm_compute::graph::NodeType::ResizeLayer</a></div></div> |
| <div class="ttc" id="namespace_gemm_tuner_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">GemmTuner.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner.py:527</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a415d76e29ed6d61c9f71cc6f7cf3f656"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a415d76e29ed6d61c9f71cc6f7cf3f656">arm_compute::graph::NodeType::PrintLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a6a1f3bd45caa35d2537fcacb4460920e"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a6a1f3bd45caa35d2537fcacb4460920e">arm_compute::graph::NodeType::StackLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a5c436066fbad2e22ccab352c0d554809"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a5c436066fbad2e22ccab352c0d554809">arm_compute::graph::NodeType::ConcatenateLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a6f89e5fc5edf43300199d6bc8f5088de"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a6f89e5fc5edf43300199d6bc8f5088de">arm_compute::graph::NodeType::FusedConvolutionBatchNormalizationLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a5b7955cb74be105cc7e044a370d4fce8"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a5b7955cb74be105cc7e044a370d4fce8">arm_compute::graph::NodeType::DepthwiseConvolutionLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16ae1b0b91c003f871664a4e289977ef02e"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16ae1b0b91c003f871664a4e289977ef02e">arm_compute::graph::NodeType::DetectionOutputLayer</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1graph_xhtml_acac9cbaeea226ed297804c012dc12b16a399e260d5d6886e9917d4313cd05f6fe"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#acac9cbaeea226ed297804c012dc12b16a399e260d5d6886e9917d4313cd05f6fe">arm_compute::graph::NodeType::QuantizationLayer</a></div></div> |
| </div><!-- fragment --> |
| <p class="reference">References <a class="el" href="_n_e_function_factory_8cpp_source.xhtml#l00085">arm_compute::graph::backends::detail::create_convolution_layer< NEConvolutionLayerFunctions, NETargetInfo >()</a>, <a class="el" href="_n_e_function_factory_8cpp_source.xhtml#l00156">arm_compute::graph::backends::detail::create_normalization_layer< NENormalizationLayer, NETargetInfo >()</a>, <a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a6b2d83e561886647467f86c20ce39bec">INode::type()</a>, and <a class="el" href="_gemm_tuner_8py_source.xhtml#l00527">GemmTuner::type</a>.</p> |
| |
| <p class="reference">Referenced by <a class="el" href="_n_e_device_backend_8cpp_source.xhtml#l00140">NEDeviceBackend::configure_node()</a>.</p> |
| |
| </div> |
| </div> |
| <hr/>The documentation for this class was generated from the following files:<ul> |
| <li>arm_compute/graph/backends/NEON/<a class="el" href="_n_e_function_factory_8h_source.xhtml">NEFunctionFactory.h</a></li> |
| <li>src/graph/backends/NEON/<a class="el" href="_n_e_function_factory_8cpp_source.xhtml">NEFunctionFactory.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="namespacearm__compute.xhtml">arm_compute</a></li><li class="navelem"><a class="el" href="namespacearm__compute_1_1graph.xhtml">graph</a></li><li class="navelem"><a class="el" href="namespacearm__compute_1_1graph_1_1backends.xhtml">backends</a></li><li class="navelem"><a class="el" href="classarm__compute_1_1graph_1_1backends_1_1_n_e_function_factory.xhtml">NEFunctionFactory</a></li> |
| <li class="footer">Generated on Thu Mar 5 2020 16:07:18 for Compute Library by |
| <a href="http://www.doxygen.org/index.html"> |
| <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li> |
| </ul> |
| </div> |
| </body> |
| </html> |