diff options
Diffstat (limited to 'latest/_gather_nd_layer_8cpp_source.html')
-rw-r--r-- | latest/_gather_nd_layer_8cpp_source.html | 160 |
1 files changed, 91 insertions, 69 deletions
diff --git a/latest/_gather_nd_layer_8cpp_source.html b/latest/_gather_nd_layer_8cpp_source.html index 5c1f2502d9..3b363bafdc 100644 --- a/latest/_gather_nd_layer_8cpp_source.html +++ b/latest/_gather_nd_layer_8cpp_source.html @@ -36,7 +36,7 @@ <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/> <td id="projectalign" style="padding-left: 0.9em;"> <div id="projectname"> -  <span id="projectnumber">24.02</span> +  <span id="projectnumber">24.05</span> </div> </td> </tr> @@ -97,7 +97,7 @@ $(document).ready(function(){initNavTree('_gather_nd_layer_8cpp_source.html','') </div><!--header--> <div class="contents"> <a href="_gather_nd_layer_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div> -<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright © 2022-2023 Arm Ltd and Contributors. All rights reserved.</span></div> +<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright © 2022-2024 Arm Ltd and Contributors. All rights reserved.</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// SPDX-License-Identifier: MIT</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span>  </div> @@ -131,76 +131,96 @@ $(document).ready(function(){initNavTree('_gather_nd_layer_8cpp_source.html','') <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  </div> <div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="classarmnn_1_1_gather_nd_layer.html#a65ca562c882ad619684445a1402f415a"> 34</a></span> std::vector<TensorShape> <a class="code" href="classarmnn_1_1_gather_nd_layer.html#a65ca562c882ad619684445a1402f415a">GatherNdLayer::InferOutputShapes</a>(<span class="keyword">const</span> std::vector<TensorShape>& inputShapes)<span class="keyword"> const</span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword"></span>{</div> -<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <a class="code" href="_assert_8hpp.html#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(inputShapes.size() == 2);</div> -<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>& params = inputShapes[0];</div> -<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>& indices = inputShapes[1];</div> -<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  </div> -<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordflow">if</span> (indices.<a class="code" href="classarmnn_1_1_tensor_shape.html#a5a212540c00931bd2a4b4041beda33ae">GetDimensionality</a>() == <a class="code" href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681af60357a8d17e45793298323f1b372a74">Dimensionality::Scalar</a> && indices.<a class="code" href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>() == 1)</div> -<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  {</div> -<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordflow">return</span> std::vector<TensorShape>({ <a class="code" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>(<a class="code" href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681af60357a8d17e45793298323f1b372a74">Dimensionality::Scalar</a>)});</div> -<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  }</div> +<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keywordflow">if</span> (inputShapes.size() != 2)</div> +<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  {</div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_exception.html">armnn::Exception</a>(<span class="stringliteral">"inputShapes' size is \""</span> + std::to_string(inputShapes.size()) +</div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="stringliteral">"\" - should be \"2\"."</span>);</div> +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  }</div> +<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  </div> +<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>& params = inputShapes[0];</div> +<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>& indices = inputShapes[1];</div> <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  </div> -<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> paramsDim = params.<a class="code" href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>();</div> -<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> indicesDim = indices.<a class="code" href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>();</div> -<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  </div> -<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="comment">// last dimension of indices</span></div> -<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index_depth = indices[indicesDim - 1];</div> -<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="_assert_8hpp.html#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(index_depth <= paramsDim);</div> -<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  </div> -<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="comment">// all but the last dimension of indices</span></div> -<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  std::vector<unsigned int> outer_shape;</div> -<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  outer_shape.reserve(indicesDim - 1);</div> -<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < indicesDim - 1; ++i)</div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">if</span> (indices.<a class="code" href="classarmnn_1_1_tensor_shape.html#a5a212540c00931bd2a4b4041beda33ae">GetDimensionality</a>() == <a class="code" href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681af60357a8d17e45793298323f1b372a74">Dimensionality::Scalar</a> && indices.<a class="code" href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>() == 1)</div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  {</div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">return</span> std::vector<TensorShape>({ <a class="code" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>(<a class="code" href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681af60357a8d17e45793298323f1b372a74">Dimensionality::Scalar</a>)});</div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  }</div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  </div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> paramsDim = params.<a class="code" href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>();</div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> indicesDim = indices.<a class="code" href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>();</div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  </div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="comment">// last dimension of indices</span></div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index_depth = indices[indicesDim - 1];</div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordflow">if</span> (index_depth > paramsDim)</div> <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  {</div> -<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  outer_shape.emplace_back(indices[i]);</div> -<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  }</div> -<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  </div> -<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">// elements after index_depth</span></div> -<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  std::vector<unsigned int> inner_shape;</div> -<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  inner_shape.reserve(paramsDim - index_depth);</div> -<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = index_depth; i < paramsDim; ++i)</div> -<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  {</div> -<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  inner_shape.emplace_back(params[i]);</div> -<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  }</div> -<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  </div> -<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="comment">// concatenate outer_shape + inner_shape</span></div> -<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  std::vector<unsigned int> output_shape;</div> -<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  output_shape.reserve( outer_shape.size() + inner_shape.size() );</div> -<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  output_shape.insert( output_shape.end(), outer_shape.begin(), outer_shape.end() );</div> -<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  output_shape.insert( output_shape.end(), inner_shape.begin(), inner_shape.end() );</div> -<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  </div> -<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keyword">const</span> <span class="keyword">auto</span> outputDim = <span class="keyword">static_cast<</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">></span>(output_shape.size());</div> -<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">return</span> std::vector<TensorShape>({ <a class="code" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>({outputDim, output_shape.data()})});</div> -<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div> -<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  </div> -<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classarmnn_1_1_gather_nd_layer.html#a8c8f543d7e9729362c266d12ec169966"> 78</a></span> <span class="keywordtype">void</span> <a class="code" href="classarmnn_1_1_gather_nd_layer.html#a8c8f543d7e9729362c266d12ec169966">GatherNdLayer::ValidateTensorShapesFromInputs</a>()</div> -<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> {</div> -<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="classarmnn_1_1_layer.html#a0607e36e88f38c34c71c663164b76776">VerifyLayerConnections</a>(2, <a class="code" href="_exceptions_8hpp.html#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>());</div> -<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  </div> -<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>& outputShape = <a class="code" href="classarmnn_1_1_layer.html#a0e36688a43c35668d8db5257274c68fe">GetOutputSlot</a>(0).<a class="code" href="classarmnn_1_1_output_slot.html#ada2ad7d1caeeb4ef6195c8925fad6a65">GetTensorInfo</a>().<a class="code" href="classarmnn_1_1_tensor_info.html#a8b5d0f8a24e9d9238f412260a552acf8">GetShape</a>();</div> -<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  </div> -<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="classarmnn_1_1_layer.html#a448afc716fda85394df1e8e5b7d530e8">VerifyShapeInferenceType</a>(outputShape, <a class="code" href="classarmnn_1_1_layer.html#afe508761cc8318b15329ba4acf7fbfec">m_ShapeInferenceMethod</a>);</div> -<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  </div> -<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  std::vector<TensorShape> inferredShapes = <a class="code" href="classarmnn_1_1_gather_nd_layer.html#a65ca562c882ad619684445a1402f415a">InferOutputShapes</a>(</div> -<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  {<a class="code" href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">GetInputSlot</a>(0).<a class="code" href="classarmnn_1_1_input_slot.html#ada2ad7d1caeeb4ef6195c8925fad6a65">GetTensorInfo</a>().<a class="code" href="classarmnn_1_1_tensor_info.html#a8b5d0f8a24e9d9238f412260a552acf8">GetShape</a>(),</div> -<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">GetInputSlot</a>(1).<a class="code" href="classarmnn_1_1_input_slot.html#ada2ad7d1caeeb4ef6195c8925fad6a65">GetTensorInfo</a>().<a class="code" href="classarmnn_1_1_tensor_info.html#a8b5d0f8a24e9d9238f412260a552acf8">GetShape</a>()});</div> -<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="_assert_8hpp.html#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(inferredShapes.size() == 1);</div> -<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="_assert_8hpp.html#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(inferredShapes[0].GetDimensionality() == <a class="code" href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681ab4b379bf7ded74c07595ccb85bc6fdc3">Dimensionality::Specified</a> ||</div> -<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  inferredShapes[0].GetDimensionality() == <a class="code" href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681af60357a8d17e45793298323f1b372a74">Dimensionality::Scalar</a>);</div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_exception.html">armnn::Exception</a>(<span class="stringliteral">"index_depth must not be greater than paramsDim (\""</span></div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  + std::to_string(index_depth) +</div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="stringliteral">"\" vs \""</span></div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  + std::to_string(paramsDim) + <span class="stringliteral">"\")"</span>);</div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  }</div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  </div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="comment">// all but the last dimension of indices</span></div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  std::vector<unsigned int> outer_shape;</div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  outer_shape.reserve(indicesDim - 1);</div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < indicesDim - 1; ++i)</div> +<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  {</div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  outer_shape.emplace_back(indices[i]);</div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  </div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="comment">// elements after index_depth</span></div> +<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  std::vector<unsigned int> inner_shape;</div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  inner_shape.reserve(paramsDim - index_depth);</div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = index_depth; i < paramsDim; ++i)</div> +<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  {</div> +<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  inner_shape.emplace_back(params[i]);</div> +<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  }</div> +<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  </div> +<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="comment">// concatenate outer_shape + inner_shape</span></div> +<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  std::vector<unsigned int> output_shape;</div> +<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  output_shape.reserve( outer_shape.size() + inner_shape.size() );</div> +<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  output_shape.insert( output_shape.end(), outer_shape.begin(), outer_shape.end() );</div> +<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  output_shape.insert( output_shape.end(), inner_shape.begin(), inner_shape.end() );</div> +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  </div> +<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keyword">const</span> <span class="keyword">auto</span> outputDim = <span class="keyword">static_cast<</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">></span>(output_shape.size());</div> +<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">return</span> std::vector<TensorShape>({ <a class="code" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>({outputDim, output_shape.data()})});</div> +<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> }</div> +<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  </div> +<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classarmnn_1_1_gather_nd_layer.html#a8c8f543d7e9729362c266d12ec169966"> 89</a></span> <span class="keywordtype">void</span> <a class="code" href="classarmnn_1_1_gather_nd_layer.html#a8c8f543d7e9729362c266d12ec169966">GatherNdLayer::ValidateTensorShapesFromInputs</a>()</div> +<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> {</div> +<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="classarmnn_1_1_layer.html#a0607e36e88f38c34c71c663164b76776">VerifyLayerConnections</a>(2, <a class="code" href="_exceptions_8hpp.html#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>());</div> <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  </div> -<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="classarmnn_1_1_layer.html#aeb2d638cc0e02c10075e015100996f2d">ValidateAndCopyShape</a>(outputShape, inferredShapes[0], <a class="code" href="classarmnn_1_1_layer.html#afe508761cc8318b15329ba4acf7fbfec">m_ShapeInferenceMethod</a>, <span class="stringliteral">"GatherNdLayer"</span>);</div> -<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> }</div> -<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  </div> -<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> } <span class="comment">// namespace armnn</span></div> +<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>& outputShape = <a class="code" href="classarmnn_1_1_layer.html#a0e36688a43c35668d8db5257274c68fe">GetOutputSlot</a>(0).<a class="code" href="classarmnn_1_1_output_slot.html#ada2ad7d1caeeb4ef6195c8925fad6a65">GetTensorInfo</a>().<a class="code" href="classarmnn_1_1_tensor_info.html#a8b5d0f8a24e9d9238f412260a552acf8">GetShape</a>();</div> +<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  </div> +<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="classarmnn_1_1_layer.html#a448afc716fda85394df1e8e5b7d530e8">VerifyShapeInferenceType</a>(outputShape, <a class="code" href="classarmnn_1_1_layer.html#afe508761cc8318b15329ba4acf7fbfec">m_ShapeInferenceMethod</a>);</div> +<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  </div> +<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  std::vector<TensorShape> inferredShapes = <a class="code" href="classarmnn_1_1_gather_nd_layer.html#a65ca562c882ad619684445a1402f415a">InferOutputShapes</a>(</div> +<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  {<a class="code" href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">GetInputSlot</a>(0).<a class="code" href="classarmnn_1_1_input_slot.html#ada2ad7d1caeeb4ef6195c8925fad6a65">GetTensorInfo</a>().<a class="code" href="classarmnn_1_1_tensor_info.html#a8b5d0f8a24e9d9238f412260a552acf8">GetShape</a>(),</div> +<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">GetInputSlot</a>(1).<a class="code" href="classarmnn_1_1_input_slot.html#ada2ad7d1caeeb4ef6195c8925fad6a65">GetTensorInfo</a>().<a class="code" href="classarmnn_1_1_tensor_info.html#a8b5d0f8a24e9d9238f412260a552acf8">GetShape</a>()});</div> +<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  </div> +<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">if</span> (inferredShapes.size() != 1)</div> +<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  {</div> +<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_layer_validation_exception.html">armnn::LayerValidationException</a>(<span class="stringliteral">"inferredShapes has "</span></div> +<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  + std::to_string(inferredShapes.size()) +</div> +<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="stringliteral">" elements - should only have 1."</span>);</div> +<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  }</div> +<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  </div> +<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">if</span> (inferredShapes[0].GetDimensionality() != <a class="code" href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681ab4b379bf7ded74c07595ccb85bc6fdc3">Dimensionality::Specified</a> &&</div> +<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  inferredShapes[0].GetDimensionality() != <a class="code" href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681af60357a8d17e45793298323f1b372a74">Dimensionality::Scalar</a>)</div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  {</div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_layer_validation_exception.html">armnn::LayerValidationException</a>(<span class="stringliteral">"inferredShapes' dimensionality is neither specified nor scalar."</span>);</div> +<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  }</div> +<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  </div> +<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="classarmnn_1_1_layer.html#aeb2d638cc0e02c10075e015100996f2d">ValidateAndCopyShape</a>(outputShape, inferredShapes[0], <a class="code" href="classarmnn_1_1_layer.html#afe508761cc8318b15329ba4acf7fbfec">m_ShapeInferenceMethod</a>, <span class="stringliteral">"GatherNdLayer"</span>);</div> +<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> }</div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  </div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> } <span class="comment">// namespace armnn</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> -<div class="ttc" id="a_assert_8hpp_html_a5698be69cbd5dfe6c28fcd9867e8cbed"><div class="ttname"><a href="_assert_8hpp.html#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a></div><div class="ttdeci">#define ARMNN_ASSERT(COND)</div><div class="ttdef"><b>Definition:</b> <a href="_assert_8hpp_source.html#l00014">Assert.hpp:14</a></div></div> <div class="ttc" id="astructarmnn_1_1_gather_nd_queue_descriptor_html"><div class="ttname"><a href="structarmnn_1_1_gather_nd_queue_descriptor.html">armnn::GatherNdQueueDescriptor</a></div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.html#l00502">WorkloadData.hpp:502</a></div></div> -<div class="ttc" id="aclassarmnn_1_1_output_slot_html_ada2ad7d1caeeb4ef6195c8925fad6a65"><div class="ttname"><a href="classarmnn_1_1_output_slot.html#ada2ad7d1caeeb4ef6195c8925fad6a65">armnn::OutputSlot::GetTensorInfo</a></div><div class="ttdeci">const TensorInfo & GetTensorInfo() const override</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00092">Layer.cpp:92</a></div></div> +<div class="ttc" id="aclassarmnn_1_1_output_slot_html_ada2ad7d1caeeb4ef6195c8925fad6a65"><div class="ttname"><a href="classarmnn_1_1_output_slot.html#ada2ad7d1caeeb4ef6195c8925fad6a65">armnn::OutputSlot::GetTensorInfo</a></div><div class="ttdeci">const TensorInfo & GetTensorInfo() const override</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00100">Layer.cpp:100</a></div></div> <div class="ttc" id="a_workload_data_8hpp_html"><div class="ttname"><a href="_workload_data_8hpp.html">WorkloadData.hpp</a></div></div> <div class="ttc" id="a_types_utils_8hpp_html"><div class="ttname"><a href="_types_utils_8hpp.html">TypesUtils.hpp</a></div></div> <div class="ttc" id="a_exceptions_8hpp_html_aa3be76aec4ce713822a5ea1ecbb7bc61"><div class="ttname"><a href="_exceptions_8hpp.html#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a></div><div class="ttdeci">#define CHECK_LOCATION()</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00203">Exceptions.hpp:203</a></div></div> -<div class="ttc" id="aclassarmnn_1_1_layer_html_aeb2d638cc0e02c10075e015100996f2d"><div class="ttname"><a href="classarmnn_1_1_layer.html#aeb2d638cc0e02c10075e015100996f2d">armnn::Layer::ValidateAndCopyShape</a></div><div class="ttdeci">void ValidateAndCopyShape(const TensorShape &outputShape, const TensorShape &inferredShape, const ShapeInferenceMethod shapeInferenceMethod, const std::string &layerName, const unsigned int outputSlotIndex=0)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00435">Layer.cpp:435</a></div></div> +<div class="ttc" id="aclassarmnn_1_1_layer_html_aeb2d638cc0e02c10075e015100996f2d"><div class="ttname"><a href="classarmnn_1_1_layer.html#aeb2d638cc0e02c10075e015100996f2d">armnn::Layer::ValidateAndCopyShape</a></div><div class="ttdeci">void ValidateAndCopyShape(const TensorShape &outputShape, const TensorShape &inferredShape, const ShapeInferenceMethod shapeInferenceMethod, const std::string &layerName, const unsigned int outputSlotIndex=0)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00457">Layer.cpp:457</a></div></div> <div class="ttc" id="aclassarmnn_1_1_layer_html_a0e36688a43c35668d8db5257274c68fe"><div class="ttname"><a href="classarmnn_1_1_layer.html#a0e36688a43c35668d8db5257274c68fe">armnn::Layer::GetOutputSlot</a></div><div class="ttdeci">const OutputSlot & GetOutputSlot(unsigned int index=0) const override</div><div class="ttdoc">Get the const output slot handle by slot index.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00339">Layer.hpp:339</a></div></div> <div class="ttc" id="aclassarmnn_1_1_gather_nd_layer_html_adfa912d0c4c6c00f1af2cbfa799572b7"><div class="ttname"><a href="classarmnn_1_1_gather_nd_layer.html#adfa912d0c4c6c00f1af2cbfa799572b7">armnn::GatherNdLayer::CreateWorkload</a></div><div class="ttdeci">virtual std::unique_ptr< IWorkload > CreateWorkload(const IWorkloadFactory &factory) const override</div><div class="ttdoc">Makes a workload for the Gather type.</div><div class="ttdef"><b>Definition:</b> <a href="_gather_nd_layer_8cpp_source.html#l00021">GatherNdLayer.cpp:21</a></div></div> <div class="ttc" id="aclassarmnn_1_1_layer_html_acf8b8e23bf647836592982f97088d375"><div class="ttname"><a href="classarmnn_1_1_layer.html#acf8b8e23bf647836592982f97088d375">armnn::Layer::GetInputSlot</a></div><div class="ttdeci">const InputSlot & GetInputSlot(unsigned int index) const override</div><div class="ttdoc">Get a const input slot handle by slot index.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00337">Layer.hpp:337</a></div></div> @@ -208,24 +228,26 @@ $(document).ready(function(){initNavTree('_gather_nd_layer_8cpp_source.html','') <div class="ttc" id="anamespacearmnn_html_a56943a0946e5f15e5e58054b8e7a04a4a3028cc42e40f9a1f4f8b35556d9715a4"><div class="ttname"><a href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4a3028cc42e40f9a1f4f8b35556d9715a4">armnn::LayerType::GatherNd</a></div><div class="ttdeci">@ GatherNd</div></div> <div class="ttc" id="aclassarmnn_1_1_layer_html_a7ddf0cf6f620d59c10e63495ace795d0"><div class="ttname"><a href="classarmnn_1_1_layer.html#a7ddf0cf6f620d59c10e63495ace795d0">armnn::Layer::GetName</a></div><div class="ttdeci">const char * GetName() const override</div><div class="ttdoc">Returns the name of the layer.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00332">Layer.hpp:332</a></div></div> <div class="ttc" id="aclassarmnn_1_1_layer_html"><div class="ttname"><a href="classarmnn_1_1_layer.html">armnn::Layer</a></div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00230">Layer.hpp:230</a></div></div> -<div class="ttc" id="aclassarmnn_1_1_input_slot_html_ada2ad7d1caeeb4ef6195c8925fad6a65"><div class="ttname"><a href="classarmnn_1_1_input_slot.html#ada2ad7d1caeeb4ef6195c8925fad6a65">armnn::InputSlot::GetTensorInfo</a></div><div class="ttdeci">const TensorInfo & GetTensorInfo() const override</div><div class="ttdoc">Gets the TensorInfo for this InputSlot.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00592">Layer.cpp:592</a></div></div> +<div class="ttc" id="aclassarmnn_1_1_input_slot_html_ada2ad7d1caeeb4ef6195c8925fad6a65"><div class="ttname"><a href="classarmnn_1_1_input_slot.html#ada2ad7d1caeeb4ef6195c8925fad6a65">armnn::InputSlot::GetTensorInfo</a></div><div class="ttdeci">const TensorInfo & GetTensorInfo() const override</div><div class="ttdoc">Gets the TensorInfo for this InputSlot.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00614">Layer.cpp:614</a></div></div> <div class="ttc" id="aclassarmnn_1_1_tensor_shape_html"><div class="ttname"><a href="classarmnn_1_1_tensor_shape.html">armnn::TensorShape</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00020">Tensor.hpp:20</a></div></div> <div class="ttc" id="a_gather_nd_layer_8hpp_html"><div class="ttname"><a href="_gather_nd_layer_8hpp.html">GatherNdLayer.hpp</a></div></div> <div class="ttc" id="aclassarmnn_1_1_tensor_shape_html_a157e27d41e9f6b21f0d3c025fa47dc24"><div class="ttname"><a href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">armnn::TensorShape::GetNumDimensions</a></div><div class="ttdeci">unsigned int GetNumDimensions() const</div><div class="ttdoc">Function that returns the tensor rank.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8cpp_source.html#l00174">Tensor.cpp:174</a></div></div> <div class="ttc" id="aclassarmnn_1_1_layer_html_a30a858b2b26d651a066537e499fbf40d"><div class="ttname"><a href="classarmnn_1_1_layer.html#a30a858b2b26d651a066537e499fbf40d">armnn::Layer::PrepInfoAndDesc</a></div><div class="ttdeci">WorkloadInfo PrepInfoAndDesc(QueueDescriptor &descriptor) const</div><div class="ttdoc">Helper function to reduce duplication in *Layer::CreateWorkload.</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00409">Layer.hpp:409</a></div></div> <div class="ttc" id="anamespacearmnn_html_a8e1f31031ad31cd8cc22d7c9daa32681af60357a8d17e45793298323f1b372a74"><div class="ttname"><a href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681af60357a8d17e45793298323f1b372a74">armnn::Dimensionality::Scalar</a></div><div class="ttdeci">@ Scalar</div></div> +<div class="ttc" id="aclassarmnn_1_1_layer_validation_exception_html"><div class="ttname"><a href="classarmnn_1_1_layer_validation_exception.html">armnn::LayerValidationException</a></div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00105">Exceptions.hpp:105</a></div></div> <div class="ttc" id="aclassarmnn_1_1_i_workload_factory_html"><div class="ttname"><a href="classarmnn_1_1_i_workload_factory.html">armnn::IWorkloadFactory</a></div><div class="ttdef"><b>Definition:</b> <a href="_workload_factory_8hpp_source.html#l00022">WorkloadFactory.hpp:22</a></div></div> <div class="ttc" id="aclassarmnn_1_1_gather_nd_layer_html_ac3733efe074cdaffa2ef42cadab39205"><div class="ttname"><a href="classarmnn_1_1_gather_nd_layer.html#ac3733efe074cdaffa2ef42cadab39205">armnn::GatherNdLayer::Clone</a></div><div class="ttdeci">GatherNdLayer * Clone(Graph &graph) const override</div><div class="ttdoc">Creates a dynamically-allocated copy of this layer.</div><div class="ttdef"><b>Definition:</b> <a href="_gather_nd_layer_8cpp_source.html#l00029">GatherNdLayer.cpp:29</a></div></div> -<div class="ttc" id="aclassarmnn_1_1_layer_html_a448afc716fda85394df1e8e5b7d530e8"><div class="ttname"><a href="classarmnn_1_1_layer.html#a448afc716fda85394df1e8e5b7d530e8">armnn::Layer::VerifyShapeInferenceType</a></div><div class="ttdeci">void VerifyShapeInferenceType(const TensorShape &outputShape, ShapeInferenceMethod shapeInferenceMethod)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00504">Layer.cpp:504</a></div></div> +<div class="ttc" id="aclassarmnn_1_1_layer_html_a448afc716fda85394df1e8e5b7d530e8"><div class="ttname"><a href="classarmnn_1_1_layer.html#a448afc716fda85394df1e8e5b7d530e8">armnn::Layer::VerifyShapeInferenceType</a></div><div class="ttdeci">void VerifyShapeInferenceType(const TensorShape &outputShape, ShapeInferenceMethod shapeInferenceMethod)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00526">Layer.cpp:526</a></div></div> <div class="ttc" id="aclassarmnn_1_1_gather_nd_layer_html_ab469bc3769acd2385a3a867dd3efc53b"><div class="ttname"><a href="classarmnn_1_1_gather_nd_layer.html#ab469bc3769acd2385a3a867dd3efc53b">armnn::GatherNdLayer::GatherNdLayer</a></div><div class="ttdeci">GatherNdLayer(const char *name)</div><div class="ttdoc">Constructor to create a GatherNdLayer.</div><div class="ttdef"><b>Definition:</b> <a href="_gather_nd_layer_8cpp_source.html#l00016">GatherNdLayer.cpp:16</a></div></div> -<div class="ttc" id="aclassarmnn_1_1_layer_html_af7f0460d32511de0da525f1817d13e8c"><div class="ttname"><a href="classarmnn_1_1_layer.html#af7f0460d32511de0da525f1817d13e8c">armnn::Layer::SetAdditionalInfo</a></div><div class="ttdeci">void SetAdditionalInfo(QueueDescriptor &descriptor) const</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00287">Layer.cpp:287</a></div></div> +<div class="ttc" id="aclassarmnn_1_1_layer_html_af7f0460d32511de0da525f1817d13e8c"><div class="ttname"><a href="classarmnn_1_1_layer.html#af7f0460d32511de0da525f1817d13e8c">armnn::Layer::SetAdditionalInfo</a></div><div class="ttdeci">void SetAdditionalInfo(QueueDescriptor &descriptor) const</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00303">Layer.cpp:303</a></div></div> +<div class="ttc" id="aclassarmnn_1_1_exception_html"><div class="ttname"><a href="classarmnn_1_1_exception.html">armnn::Exception</a></div><div class="ttdoc">Base class for all ArmNN exceptions so that users can filter to just those.</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00046">Exceptions.hpp:46</a></div></div> <div class="ttc" id="aclassarmnn_1_1_gather_nd_layer_html_a65ca562c882ad619684445a1402f415a"><div class="ttname"><a href="classarmnn_1_1_gather_nd_layer.html#a65ca562c882ad619684445a1402f415a">armnn::GatherNdLayer::InferOutputShapes</a></div><div class="ttdeci">std::vector< TensorShape > InferOutputShapes(const std::vector< TensorShape > &inputShapes) const override</div><div class="ttdoc">Infers the output shapes from given input shapes and layer properties.</div><div class="ttdef"><b>Definition:</b> <a href="_gather_nd_layer_8cpp_source.html#l00034">GatherNdLayer.cpp:34</a></div></div> <div class="ttc" id="anamespacearmnn_html_a8e1f31031ad31cd8cc22d7c9daa32681ab4b379bf7ded74c07595ccb85bc6fdc3"><div class="ttname"><a href="namespacearmnn.html#a8e1f31031ad31cd8cc22d7c9daa32681ab4b379bf7ded74c07595ccb85bc6fdc3">armnn::Dimensionality::Specified</a></div><div class="ttdeci">@ Specified</div></div> <div class="ttc" id="aclassarmnn_1_1_tensor_info_html_a8b5d0f8a24e9d9238f412260a552acf8"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html#a8b5d0f8a24e9d9238f412260a552acf8">armnn::TensorInfo::GetShape</a></div><div class="ttdeci">const TensorShape & GetShape() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00193">Tensor.hpp:193</a></div></div> <div class="ttc" id="aclassarmnn_1_1_gather_nd_layer_html"><div class="ttname"><a href="classarmnn_1_1_gather_nd_layer.html">armnn::GatherNdLayer</a></div><div class="ttdoc">This layer represents a GatherNd operator.</div><div class="ttdef"><b>Definition:</b> <a href="_gather_nd_layer_8hpp_source.html#l00014">GatherNdLayer.hpp:14</a></div></div> -<div class="ttc" id="aclassarmnn_1_1_gather_nd_layer_html_a8c8f543d7e9729362c266d12ec169966"><div class="ttname"><a href="classarmnn_1_1_gather_nd_layer.html#a8c8f543d7e9729362c266d12ec169966">armnn::GatherNdLayer::ValidateTensorShapesFromInputs</a></div><div class="ttdeci">void ValidateTensorShapesFromInputs() override</div><div class="ttdoc">Check if the input tensor shape(s) will lead to a valid configuration of GatherNdLayer.</div><div class="ttdef"><b>Definition:</b> <a href="_gather_nd_layer_8cpp_source.html#l00078">GatherNdLayer.cpp:78</a></div></div> +<div class="ttc" id="aclassarmnn_1_1_gather_nd_layer_html_a8c8f543d7e9729362c266d12ec169966"><div class="ttname"><a href="classarmnn_1_1_gather_nd_layer.html#a8c8f543d7e9729362c266d12ec169966">armnn::GatherNdLayer::ValidateTensorShapesFromInputs</a></div><div class="ttdeci">void ValidateTensorShapesFromInputs() override</div><div class="ttdoc">Check if the input tensor shape(s) will lead to a valid configuration of GatherNdLayer.</div><div class="ttdef"><b>Definition:</b> <a href="_gather_nd_layer_8cpp_source.html#l00089">GatherNdLayer.cpp:89</a></div></div> <div class="ttc" id="anamespacearmnn_html"><div class="ttname"><a href="namespacearmnn.html">armnn</a></div><div class="ttdoc">Copyright (c) 2021 ARM Limited and Contributors.</div><div class="ttdef"><b>Definition:</b> <a href="01__00__quick__start_8dox_source.html#l00006">01_00_quick_start.dox:6</a></div></div> -<div class="ttc" id="aclassarmnn_1_1_layer_html_a0607e36e88f38c34c71c663164b76776"><div class="ttname"><a href="classarmnn_1_1_layer.html#a0607e36e88f38c34c71c663164b76776">armnn::Layer::VerifyLayerConnections</a></div><div class="ttdeci">void VerifyLayerConnections(unsigned int expectedConnections, const CheckLocation &location) const</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00391">Layer.cpp:391</a></div></div> +<div class="ttc" id="aclassarmnn_1_1_layer_html_a0607e36e88f38c34c71c663164b76776"><div class="ttname"><a href="classarmnn_1_1_layer.html#a0607e36e88f38c34c71c663164b76776">armnn::Layer::VerifyLayerConnections</a></div><div class="ttdeci">void VerifyLayerConnections(unsigned int expectedConnections, const CheckLocation &location) const</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8cpp_source.html#l00410">Layer.cpp:410</a></div></div> <div class="ttc" id="aclassarmnn_1_1_tensor_shape_html_a5a212540c00931bd2a4b4041beda33ae"><div class="ttname"><a href="classarmnn_1_1_tensor_shape.html#a5a212540c00931bd2a4b4041beda33ae">armnn::TensorShape::GetDimensionality</a></div><div class="ttdeci">Dimensionality GetDimensionality() const</div><div class="ttdoc">Function that returns the tensor type.</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00092">Tensor.hpp:92</a></div></div> <div class="ttc" id="aclassarmnn_1_1_layer_html_afe508761cc8318b15329ba4acf7fbfec"><div class="ttname"><a href="classarmnn_1_1_layer.html#afe508761cc8318b15329ba4acf7fbfec">armnn::Layer::m_ShapeInferenceMethod</a></div><div class="ttdeci">ShapeInferenceMethod m_ShapeInferenceMethod</div><div class="ttdef"><b>Definition:</b> <a href="_layer_8hpp_source.html#l00441">Layer.hpp:441</a></div></div> <div class="ttc" id="anamespacearmnn_html_a56943a0946e5f15e5e58054b8e7a04a4"><div class="ttname"><a href="namespacearmnn.html#a56943a0946e5f15e5e58054b8e7a04a4">armnn::LayerType</a></div><div class="ttdeci">LayerType</div><div class="ttdoc">When adding a new layer, adapt also the LastLayer enum value in the enum class LayerType below.</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.html#l00491">Types.hpp:491</a></div></div> @@ -236,7 +258,7 @@ $(document).ready(function(){initNavTree('_gather_nd_layer_8cpp_source.html','') <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e0a84d05c80a2ef4231141dcbbeac5c8.html">armnn</a></li><li class="navelem"><a class="el" href="dir_9da6642ce0fd5a8c83524f1b621275be.html">layers</a></li><li class="navelem"><a class="el" href="_gather_nd_layer_8cpp.html">GatherNdLayer.cpp</a></li> - <li class="footer">Generated on Wed Feb 14 2024 16:36:14 for Arm NN by + <li class="footer">Generated on Thu May 16 2024 09:31:44 for Arm NN by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li> </ul> |