blob: 481417a09eeb5a8a44ec5bf63ebd5f9d869c631d [file] [log] [blame]
<!-- 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: ITransformWeights 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&amp;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">
&#160;<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&amp;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&amp;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&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classarm__compute_1_1_i_transform_weights.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-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">ITransformWeights Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>Weights tensor transform interface In order to identify the different reshape functions, each reshape function has to generate a unique id.
<a href="classarm__compute_1_1_i_transform_weights.xhtml#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_i_transform_weights_8h_source.xhtml">ITransformWeights.h</a>&gt;</code></p>
<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:a3be73f42915ec7c1dc86f1fc3d55f16c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml#a3be73f42915ec7c1dc86f1fc3d55f16c">ITransformWeights</a> ()=default</td></tr>
<tr class="memdesc:a3be73f42915ec7c1dc86f1fc3d55f16c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor. <a href="#a3be73f42915ec7c1dc86f1fc3d55f16c">More...</a><br /></td></tr>
<tr class="separator:a3be73f42915ec7c1dc86f1fc3d55f16c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14340b394ad5337e5df508acfc761be2"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml#a14340b394ad5337e5df508acfc761be2">~ITransformWeights</a> ()=default</td></tr>
<tr class="memdesc:a14340b394ad5337e5df508acfc761be2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Destructor. <a href="#a14340b394ad5337e5df508acfc761be2">More...</a><br /></td></tr>
<tr class="separator:a14340b394ad5337e5df508acfc761be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada1643a59b8e0df2f7742c048cdf546d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml#ada1643a59b8e0df2f7742c048cdf546d">ITransformWeights</a> (const <a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</a> &amp;)=delete</td></tr>
<tr class="memdesc:ada1643a59b8e0df2f7742c048cdf546d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent instances of this class to be copy constructed. <a href="#ada1643a59b8e0df2f7742c048cdf546d">More...</a><br /></td></tr>
<tr class="separator:ada1643a59b8e0df2f7742c048cdf546d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae88b4b071d62e2347cff2560f1cc7d77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml#ae88b4b071d62e2347cff2560f1cc7d77">operator=</a> (const <a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</a> &amp;)=delete</td></tr>
<tr class="memdesc:ae88b4b071d62e2347cff2560f1cc7d77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent instances of this class to be copied. <a href="#ae88b4b071d62e2347cff2560f1cc7d77">More...</a><br /></td></tr>
<tr class="separator:ae88b4b071d62e2347cff2560f1cc7d77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a878b78d4a3173364df38b206ea17551d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml#a878b78d4a3173364df38b206ea17551d">ITransformWeights</a> (<a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</a> &amp;&amp;other)</td></tr>
<tr class="memdesc:a878b78d4a3173364df38b206ea17551d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be move constructed. <a href="#a878b78d4a3173364df38b206ea17551d">More...</a><br /></td></tr>
<tr class="separator:a878b78d4a3173364df38b206ea17551d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a659c3992e945dff7803f0cd4e695df4d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml#a659c3992e945dff7803f0cd4e695df4d">operator=</a> (<a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</a> &amp;&amp;other)</td></tr>
<tr class="memdesc:a659c3992e945dff7803f0cd4e695df4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be moved. <a href="#a659c3992e945dff7803f0cd4e695df4d">More...</a><br /></td></tr>
<tr class="separator:a659c3992e945dff7803f0cd4e695df4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbb145f6ce09dfdcff05acb800b76da0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml#abbb145f6ce09dfdcff05acb800b76da0">get_weights</a> ()=0</td></tr>
<tr class="memdesc:abbb145f6ce09dfdcff05acb800b76da0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the transformed weights. <a href="#abbb145f6ce09dfdcff05acb800b76da0">More...</a><br /></td></tr>
<tr class="separator:abbb145f6ce09dfdcff05acb800b76da0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad893d467b72461e2d242b457017678f2"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml#ad893d467b72461e2d242b457017678f2">uid</a> ()=0</td></tr>
<tr class="memdesc:ad893d467b72461e2d242b457017678f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that returns a unique id of the reshape function. <a href="#ad893d467b72461e2d242b457017678f2">More...</a><br /></td></tr>
<tr class="separator:ad893d467b72461e2d242b457017678f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18954417d3124a8095783ea13dc6d00b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml#a18954417d3124a8095783ea13dc6d00b">run</a> ()=0</td></tr>
<tr class="memdesc:a18954417d3124a8095783ea13dc6d00b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run the transformation function. <a href="#a18954417d3124a8095783ea13dc6d00b">More...</a><br /></td></tr>
<tr class="separator:a18954417d3124a8095783ea13dc6d00b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab0a52fdd148a54108e7bf49287d7c47"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml#aab0a52fdd148a54108e7bf49287d7c47">release</a> ()=0</td></tr>
<tr class="memdesc:aab0a52fdd148a54108e7bf49287d7c47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release transformed weights memory. <a href="#aab0a52fdd148a54108e7bf49287d7c47">More...</a><br /></td></tr>
<tr class="separator:aab0a52fdd148a54108e7bf49287d7c47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a107499c55d761f85406e7dfa751cbf5c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml#a107499c55d761f85406e7dfa751cbf5c">increase_refcount</a> ()</td></tr>
<tr class="memdesc:a107499c55d761f85406e7dfa751cbf5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increase the object's refcount. <a href="#a107499c55d761f85406e7dfa751cbf5c">More...</a><br /></td></tr>
<tr class="separator:a107499c55d761f85406e7dfa751cbf5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab360283eef792af17ef4bb54fdf112e0"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml#ab360283eef792af17ef4bb54fdf112e0">decrease_refcount</a> ()</td></tr>
<tr class="memdesc:ab360283eef792af17ef4bb54fdf112e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrease the object's refcount and return the updated value. <a href="#ab360283eef792af17ef4bb54fdf112e0">More...</a><br /></td></tr>
<tr class="separator:ab360283eef792af17ef4bb54fdf112e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadbb0bd6002839d9d1650fae463a36c2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml#aadbb0bd6002839d9d1650fae463a36c2">is_reshape_run</a> ()</td></tr>
<tr class="memdesc:aadbb0bd6002839d9d1650fae463a36c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that returns a flag on whether the weights are reshaped or not. <a href="#aadbb0bd6002839d9d1650fae463a36c2">More...</a><br /></td></tr>
<tr class="separator:aadbb0bd6002839d9d1650fae463a36c2"><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>Weights tensor transform interface In order to identify the different reshape functions, each reshape function has to generate a unique id. </p>
<p>We use the following conversion using an unsigned 32bit value:</p>
<p>Lower two bits store the target: 00 -&gt; NEON 01 -&gt; CL 10 -&gt; GLES 11 -&gt; Unused</p>
<p>Five bits store the id of the reshape function: 00000 -&gt; FullyConnectedLayerReshapeWeights 00001 -&gt; ConvertFullyConnectedWeights 00010 -&gt; ConvolutionLayerReshapeWeights 00011 -&gt; DepthwiseConvolutionLayerReshapeWeights 00100 -&gt; GEMMReshapeLHSMatrixKernel 00101 -&gt; GEMMReshapeRHSMatrixKernel</p>
<p>Rest of the bits are used for identifying special cases such as assembly functions and extra arguments in the reshape kernels. </p>
<p class="definition">Definition at line <a class="el" href="_i_transform_weights_8h_source.xhtml#l00056">56</a> of file <a class="el" href="_i_transform_weights_8h_source.xhtml">ITransformWeights.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a3be73f42915ec7c1dc86f1fc3d55f16c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3be73f42915ec7c1dc86f1fc3d55f16c">&#9670;&nbsp;</a></span>ITransformWeights() <span class="overload">[1/3]</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="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</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">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default Constructor. </p>
</div>
</div>
<a id="a14340b394ad5337e5df508acfc761be2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14340b394ad5337e5df508acfc761be2">&#9670;&nbsp;</a></span>~ITransformWeights()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual ~<a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</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">virtual</span><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default Destructor. </p>
</div>
</div>
<a id="ada1643a59b8e0df2f7742c048cdf546d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada1643a59b8e0df2f7742c048cdf546d">&#9670;&nbsp;</a></span>ITransformWeights() <span class="overload">[2/3]</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="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Prevent instances of this class to be copy constructed. </p>
</div>
</div>
<a id="a878b78d4a3173364df38b206ea17551d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a878b78d4a3173364df38b206ea17551d">&#9670;&nbsp;</a></span>ITransformWeights() <span class="overload">[3/3]</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="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>other</em></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>Allow instances of this class to be move constructed. </p>
<p class="definition">Definition at line <a class="el" href="_i_transform_weights_8h_source.xhtml#l00068">68</a> of file <a class="el" href="_i_transform_weights_8h_source.xhtml">ITransformWeights.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; *<span class="keyword">this</span> = std::move(other);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab360283eef792af17ef4bb54fdf112e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab360283eef792af17ef4bb54fdf112e0">&#9670;&nbsp;</a></span>decrease_refcount()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t decrease_refcount </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>Decrease the object's refcount and return the updated value. </p>
<dl class="section return"><dt>Returns</dt><dd>The updated refcount </dd></dl>
<p class="definition">Definition at line <a class="el" href="_i_transform_weights_8h_source.xhtml#l00107">107</a> of file <a class="el" href="_i_transform_weights_8h_source.xhtml">ITransformWeights.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> --_num_refcount;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div></div><!-- fragment -->
</div>
</div>
<a id="abbb145f6ce09dfdcff05acb800b76da0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbb145f6ce09dfdcff05acb800b76da0">&#9670;&nbsp;</a></span>get_weights()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a>* get_weights </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a pointer to the transformed weights. </p>
<dl class="section return"><dt>Returns</dt><dd>The pointer to the transformed <a class="el" href="classarm__compute_1_1_i_tensor.xhtml" title="Interface for NEON tensor.">ITensor</a> weights </dd></dl>
<p>Implemented in <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_convolution_layer_reshape_weights_transform.xhtml#a72297d6c4e315c6bfcdb499eda5c9a63">CLConvolutionLayerReshapeWeightsTransform</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_n_e_convolution_layer_reshape_weights_transform.xhtml#a514b2a72ac8b3be00a9be8f018054050">NEConvolutionLayerReshapeWeightsTransform</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_n_e_convert_fully_connected_weights_managed.xhtml#a514b2a72ac8b3be00a9be8f018054050">NEConvertFullyConnectedWeightsManaged</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_fully_connected_layer_reshape_weights_managed.xhtml#a72297d6c4e315c6bfcdb499eda5c9a63">CLFullyConnectedLayerReshapeWeightsManaged</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_n_e_fully_connected_layer_reshape_weights_managed.xhtml#a514b2a72ac8b3be00a9be8f018054050">NEFullyConnectedLayerReshapeWeightsManaged</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_convert_fully_connected_weights_managed.xhtml#a72297d6c4e315c6bfcdb499eda5c9a63">CLConvertFullyConnectedWeightsManaged</a>, and <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_g_e_m_m_reshape_r_h_s_matrix_kernel_managed.xhtml#a72297d6c4e315c6bfcdb499eda5c9a63">CLGEMMReshapeRHSMatrixKernelManaged</a>.</p>
<p class="reference">Referenced by <a class="el" href="_i_weights_manager_8cpp_source.xhtml#l00117">IWeightsManager::acquire()</a>, and <a class="el" href="_i_weights_manager_8cpp_source.xhtml#l00051">IWeightsManager::run()</a>.</p>
</div>
</div>
<a id="a107499c55d761f85406e7dfa751cbf5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a107499c55d761f85406e7dfa751cbf5c">&#9670;&nbsp;</a></span>increase_refcount()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void increase_refcount </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>Increase the object's refcount. </p>
<p class="definition">Definition at line <a class="el" href="_i_transform_weights_8h_source.xhtml#l00098">98</a> of file <a class="el" href="_i_transform_weights_8h_source.xhtml">ITransformWeights.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; ++_num_refcount;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_i_weights_manager_8cpp_source.xhtml#l00117">IWeightsManager::acquire()</a>.</p>
</div>
</div>
<a id="aadbb0bd6002839d9d1650fae463a36c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadbb0bd6002839d9d1650fae463a36c2">&#9670;&nbsp;</a></span>is_reshape_run()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool is_reshape_run </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>Function that returns a flag on whether the weights are reshaped or not. </p>
<dl class="section return"><dt>Returns</dt><dd>True if the function is reshaped </dd></dl>
<p class="definition">Definition at line <a class="el" href="_i_transform_weights_8h_source.xhtml#l00116">116</a> of file <a class="el" href="_i_transform_weights_8h_source.xhtml">ITransformWeights.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">return</span> _reshape_run;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div></div><!-- fragment -->
</div>
</div>
<a id="ae88b4b071d62e2347cff2560f1cc7d77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae88b4b071d62e2347cff2560f1cc7d77">&#9670;&nbsp;</a></span>operator=() <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="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</a>&amp; operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Prevent instances of this class to be copied. </p>
</div>
</div>
<a id="a659c3992e945dff7803f0cd4e695df4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a659c3992e945dff7803f0cd4e695df4d">&#9670;&nbsp;</a></span>operator=() <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="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</a>&amp; operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>other</em></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>Allow instances of this class to be moved. </p>
<p class="definition">Definition at line <a class="el" href="_i_transform_weights_8h_source.xhtml#l00073">73</a> of file <a class="el" href="_i_transform_weights_8h_source.xhtml">ITransformWeights.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">this</span> != &amp;other)</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; _num_refcount = other._num_refcount.load();</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; _reshape_run = other._reshape_run;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; }</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div></div><!-- fragment -->
</div>
</div>
<a id="aab0a52fdd148a54108e7bf49287d7c47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab0a52fdd148a54108e7bf49287d7c47">&#9670;&nbsp;</a></span>release()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void release </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Release transformed weights memory. </p>
<p>Implemented in <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_convolution_layer_reshape_weights_transform.xhtml#ad7ed3842c3160ae4b9f51acbf4564438">CLConvolutionLayerReshapeWeightsTransform</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_n_e_convolution_layer_reshape_weights_transform.xhtml#ad7ed3842c3160ae4b9f51acbf4564438">NEConvolutionLayerReshapeWeightsTransform</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_n_e_convert_fully_connected_weights_managed.xhtml#ad7ed3842c3160ae4b9f51acbf4564438">NEConvertFullyConnectedWeightsManaged</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_fully_connected_layer_reshape_weights_managed.xhtml#ad7ed3842c3160ae4b9f51acbf4564438">CLFullyConnectedLayerReshapeWeightsManaged</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_n_e_fully_connected_layer_reshape_weights_managed.xhtml#ad7ed3842c3160ae4b9f51acbf4564438">NEFullyConnectedLayerReshapeWeightsManaged</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_convert_fully_connected_weights_managed.xhtml#ad7ed3842c3160ae4b9f51acbf4564438">CLConvertFullyConnectedWeightsManaged</a>, and <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_g_e_m_m_reshape_r_h_s_matrix_kernel_managed.xhtml#ad7ed3842c3160ae4b9f51acbf4564438">CLGEMMReshapeRHSMatrixKernelManaged</a>.</p>
</div>
</div>
<a id="a18954417d3124a8095783ea13dc6d00b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18954417d3124a8095783ea13dc6d00b">&#9670;&nbsp;</a></span>run()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void run </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Run the transformation function. </p>
<p>Implemented in <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_convolution_layer_reshape_weights_transform.xhtml#ad1717410afd0be936c6213a63c8005fb">CLConvolutionLayerReshapeWeightsTransform</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_n_e_convolution_layer_reshape_weights_transform.xhtml#ad1717410afd0be936c6213a63c8005fb">NEConvolutionLayerReshapeWeightsTransform</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_n_e_convert_fully_connected_weights_managed.xhtml#ad1717410afd0be936c6213a63c8005fb">NEConvertFullyConnectedWeightsManaged</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_fully_connected_layer_reshape_weights_managed.xhtml#ad1717410afd0be936c6213a63c8005fb">CLFullyConnectedLayerReshapeWeightsManaged</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_n_e_fully_connected_layer_reshape_weights_managed.xhtml#ad1717410afd0be936c6213a63c8005fb">NEFullyConnectedLayerReshapeWeightsManaged</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_convert_fully_connected_weights_managed.xhtml#ad1717410afd0be936c6213a63c8005fb">CLConvertFullyConnectedWeightsManaged</a>, and <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_g_e_m_m_reshape_r_h_s_matrix_kernel_managed.xhtml#ad1717410afd0be936c6213a63c8005fb">CLGEMMReshapeRHSMatrixKernelManaged</a>.</p>
<p class="reference">Referenced by <a class="el" href="_i_weights_manager_8cpp_source.xhtml#l00051">IWeightsManager::run()</a>.</p>
</div>
</div>
<a id="ad893d467b72461e2d242b457017678f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad893d467b72461e2d242b457017678f2">&#9670;&nbsp;</a></span>uid()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual uint32_t uid </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Function that returns a unique id of the reshape function. </p>
<dl class="section return"><dt>Returns</dt><dd>The computed unique id </dd></dl>
<p>Implemented in <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_convolution_layer_reshape_weights_transform.xhtml#a6bd1bbf5326b5dd9bd821d6c8caf1dac">CLConvolutionLayerReshapeWeightsTransform</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_n_e_convolution_layer_reshape_weights_transform.xhtml#a6bd1bbf5326b5dd9bd821d6c8caf1dac">NEConvolutionLayerReshapeWeightsTransform</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_n_e_convert_fully_connected_weights_managed.xhtml#a6bd1bbf5326b5dd9bd821d6c8caf1dac">NEConvertFullyConnectedWeightsManaged</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_fully_connected_layer_reshape_weights_managed.xhtml#a6bd1bbf5326b5dd9bd821d6c8caf1dac">CLFullyConnectedLayerReshapeWeightsManaged</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_n_e_fully_connected_layer_reshape_weights_managed.xhtml#a6bd1bbf5326b5dd9bd821d6c8caf1dac">NEFullyConnectedLayerReshapeWeightsManaged</a>, <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_convert_fully_connected_weights_managed.xhtml#a6bd1bbf5326b5dd9bd821d6c8caf1dac">CLConvertFullyConnectedWeightsManaged</a>, and <a class="el" href="classarm__compute_1_1weights__transformations_1_1_c_l_g_e_m_m_reshape_r_h_s_matrix_kernel_managed.xhtml#a6bd1bbf5326b5dd9bd821d6c8caf1dac">CLGEMMReshapeRHSMatrixKernelManaged</a>.</p>
<p class="reference">Referenced by <a class="el" href="_i_weights_manager_8cpp_source.xhtml#l00117">IWeightsManager::acquire()</a>, and <a class="el" href="_i_weights_manager_8cpp_source.xhtml#l00051">IWeightsManager::run()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>arm_compute/runtime/<a class="el" href="_i_transform_weights_8h_source.xhtml">ITransformWeights.h</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="classarm__compute_1_1_i_transform_weights.xhtml">ITransformWeights</a></li>
<li class="footer">Generated on Thu Mar 5 2020 16:07:14 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>