blob: 608597bb9432011a35af999083002652bcf2b576 [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: arm_compute::graph_utils Namespace 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">19.11.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('namespacearm__compute_1_1graph__utils.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="#nested-classes">Data Structures</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">arm_compute::graph_utils Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph__utils_1_1_caffe_preproccessor.xhtml">CaffePreproccessor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Caffe preproccessor. <a href="classarm__compute_1_1graph__utils_1_1_caffe_preproccessor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph__utils_1_1_detection_output_accessor.xhtml">DetectionOutputAccessor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detection output accessor class. <a href="classarm__compute_1_1graph__utils_1_1_detection_output_accessor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph__utils_1_1_dummy_accessor.xhtml">DummyAccessor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dummy accessor class. <a href="classarm__compute_1_1graph__utils_1_1_dummy_accessor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph__utils_1_1_image_accessor.xhtml">ImageAccessor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="struct_image.xhtml" title="Structure to hold Image information.">Image</a> accessor class. <a href="classarm__compute_1_1graph__utils_1_1_image_accessor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph__utils_1_1_i_preprocessor.xhtml">IPreprocessor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Preprocessor interface. <a href="classarm__compute_1_1graph__utils_1_1_i_preprocessor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph__utils_1_1_num_py_accessor.xhtml">NumPyAccessor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NumPy accessor class. <a href="classarm__compute_1_1graph__utils_1_1_num_py_accessor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph__utils_1_1_num_py_bin_loader.xhtml">NumPyBinLoader</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Numpy Binary loader class. <a href="classarm__compute_1_1graph__utils_1_1_num_py_bin_loader.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph__utils_1_1_p_p_m_writer.xhtml">PPMWriter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">PPM writer class. <a href="classarm__compute_1_1graph__utils_1_1_p_p_m_writer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph__utils_1_1_print_accessor.xhtml">PrintAccessor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print accessor class. <a href="classarm__compute_1_1graph__utils_1_1_print_accessor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph__utils_1_1_random_accessor.xhtml">RandomAccessor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Random accessor class. <a href="classarm__compute_1_1graph__utils_1_1_random_accessor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph__utils_1_1_save_num_py_accessor.xhtml">SaveNumPyAccessor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">SaveNumPy accessor class. <a href="classarm__compute_1_1graph__utils_1_1_save_num_py_accessor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph__utils_1_1_t_f_preproccessor.xhtml">TFPreproccessor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">TF preproccessor. <a href="classarm__compute_1_1graph__utils_1_1_t_f_preproccessor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph__utils_1_1_top_n_predictions_accessor.xhtml">TopNPredictionsAccessor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Result accessor class. <a href="classarm__compute_1_1graph__utils_1_1_top_n_predictions_accessor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph__utils_1_1_validation_input_accessor.xhtml">ValidationInputAccessor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input Accessor used for network validation. <a href="classarm__compute_1_1graph__utils_1_1_validation_input_accessor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1graph__utils_1_1_validation_output_accessor.xhtml">ValidationOutputAccessor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output Accessor used for network validation. <a href="classarm__compute_1_1graph__utils_1_1_validation_output_accessor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab7e905c7bfd2944e67bd069a3de3e7a2"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph__utils.xhtml#ab7e905c7bfd2944e67bd069a3de3e7a2">get_random_accessor</a> (<a class="el" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a> lower, <a class="el" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a> upper, const std::random_device::result_type seed=0)</td></tr>
<tr class="memdesc:ab7e905c7bfd2944e67bd069a3de3e7a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates appropriate random accessor. <a href="#ab7e905c7bfd2944e67bd069a3de3e7a2">More...</a><br /></td></tr>
<tr class="separator:ab7e905c7bfd2944e67bd069a3de3e7a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30bee0b52a919bbcb1dc48b1b6546a16"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph__utils.xhtml#a30bee0b52a919bbcb1dc48b1b6546a16">get_weights_accessor</a> (const std::string &amp;path, const std::string &amp;data_file, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> file_layout=<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a>)</td></tr>
<tr class="memdesc:a30bee0b52a919bbcb1dc48b1b6546a16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates appropriate weights accessor according to the specified path. <a href="#a30bee0b52a919bbcb1dc48b1b6546a16">More...</a><br /></td></tr>
<tr class="separator:a30bee0b52a919bbcb1dc48b1b6546a16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab14324184f90f342227699c161654b1b"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph__utils.xhtml#ab14324184f90f342227699c161654b1b">get_input_accessor</a> (const <a class="el" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml">arm_compute::utils::CommonGraphParams</a> &amp;graph_parameters, std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1graph__utils_1_1_i_preprocessor.xhtml">IPreprocessor</a> &gt; preprocessor=nullptr, bool bgr=true)</td></tr>
<tr class="memdesc:ab14324184f90f342227699c161654b1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates appropriate input accessor according to the specified graph parameters. <a href="#ab14324184f90f342227699c161654b1b">More...</a><br /></td></tr>
<tr class="separator:ab14324184f90f342227699c161654b1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3d177d243f5fb34544105a4ee4e1f58"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph__utils.xhtml#ae3d177d243f5fb34544105a4ee4e1f58">get_output_accessor</a> (const <a class="el" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml">arm_compute::utils::CommonGraphParams</a> &amp;graph_parameters, size_t top_n=5, bool is_validation=false, std::ostream &amp;output_stream=std::cout)</td></tr>
<tr class="memdesc:ae3d177d243f5fb34544105a4ee4e1f58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates appropriate output accessor according to the specified graph parameters. <a href="#ae3d177d243f5fb34544105a4ee4e1f58">More...</a><br /></td></tr>
<tr class="separator:ae3d177d243f5fb34544105a4ee4e1f58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff280480ba1a9075fed13fbb15ca0063"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph__utils.xhtml#aff280480ba1a9075fed13fbb15ca0063">get_detection_output_accessor</a> (const <a class="el" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml">arm_compute::utils::CommonGraphParams</a> &amp;graph_parameters, std::vector&lt; <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &gt; tensor_shapes, bool is_validation=false, std::ostream &amp;output_stream=std::cout)</td></tr>
<tr class="memdesc:aff280480ba1a9075fed13fbb15ca0063"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates appropriate output accessor according to the specified graph parameters. <a href="#aff280480ba1a9075fed13fbb15ca0063">More...</a><br /></td></tr>
<tr class="separator:aff280480ba1a9075fed13fbb15ca0063"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10e9c53263d766cbd37e4e37f5e8091e"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph__utils.xhtml#a10e9c53263d766cbd37e4e37f5e8091e">get_npy_output_accessor</a> (const std::string &amp;npy_path, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> shape, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> data_layout=<a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a>, std::ostream &amp;output_stream=std::cout)</td></tr>
<tr class="memdesc:a10e9c53263d766cbd37e4e37f5e8091e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates appropriate npy output accessor according to the specified npy_path. <a href="#a10e9c53263d766cbd37e4e37f5e8091e">More...</a><br /></td></tr>
<tr class="separator:a10e9c53263d766cbd37e4e37f5e8091e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6207a1b742579b07b8f4b14e542a7b3a"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph__utils.xhtml#a6207a1b742579b07b8f4b14e542a7b3a">get_save_npy_output_accessor</a> (const std::string &amp;npy_name, const bool is_fortran=false)</td></tr>
<tr class="memdesc:a6207a1b742579b07b8f4b14e542a7b3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates appropriate npy output accessor according to the specified npy_path. <a href="#a6207a1b742579b07b8f4b14e542a7b3a">More...</a><br /></td></tr>
<tr class="separator:a6207a1b742579b07b8f4b14e542a7b3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a655bfc2ace1def9f00aab1c9356abb53"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph__utils.xhtml#a655bfc2ace1def9f00aab1c9356abb53">get_print_output_accessor</a> (std::ostream &amp;output_stream=std::cout)</td></tr>
<tr class="memdesc:a655bfc2ace1def9f00aab1c9356abb53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates print tensor accessor. <a href="#a655bfc2ace1def9f00aab1c9356abb53">More...</a><br /></td></tr>
<tr class="separator:a655bfc2ace1def9f00aab1c9356abb53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3a897163a7fe23208f1d9c618062ee2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph__utils.xhtml#ab3a897163a7fe23208f1d9c618062ee2">permute_shape</a> (<a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> tensor_shape, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> in_data_layout, <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> out_data_layout)</td></tr>
<tr class="memdesc:ab3a897163a7fe23208f1d9c618062ee2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permutes a given tensor shape given the input and output data layout. <a href="#ab3a897163a7fe23208f1d9c618062ee2">More...</a><br /></td></tr>
<tr class="separator:ab3a897163a7fe23208f1d9c618062ee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6dc388200717b5fae17342af13f5e41"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35d">graph::Target</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph__utils.xhtml#ab6dc388200717b5fae17342af13f5e41">set_target_hint</a> (int target)</td></tr>
<tr class="memdesc:ab6dc388200717b5fae17342af13f5e41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility function to return the TargetHint. <a href="#ab6dc388200717b5fae17342af13f5e41">More...</a><br /></td></tr>
<tr class="separator:ab6dc388200717b5fae17342af13f5e41"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="aff280480ba1a9075fed13fbb15ca0063"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff280480ba1a9075fed13fbb15ca0063">&#9670;&nbsp;</a></span>get_detection_output_accessor()</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&lt;<a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a>&gt; arm_compute::graph_utils::get_detection_output_accessor </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml">arm_compute::utils::CommonGraphParams</a> &amp;&#160;</td>
<td class="paramname"><em>graph_parameters</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &gt;&#160;</td>
<td class="paramname"><em>tensor_shapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>is_validation</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>output_stream</em> = <code>std::cout</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Generates appropriate output accessor according to the specified graph parameters. </p>
<dl class="section note"><dt>Note</dt><dd>If the output accessor is requested to validate the graph then <a class="el" href="classarm__compute_1_1graph__utils_1_1_validation_output_accessor.xhtml" title="Output Accessor used for network validation.">ValidationOutputAccessor</a> is generated else if output_accessor_file is empty will generate a <a class="el" href="classarm__compute_1_1graph__utils_1_1_dummy_accessor.xhtml" title="Dummy accessor class.">DummyAccessor</a> else will generate a <a class="el" href="classarm__compute_1_1graph__utils_1_1_top_n_predictions_accessor.xhtml" title="Result accessor class.">TopNPredictionsAccessor</a></dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">graph_parameters</td><td>Graph parameters </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tensor_shapes</td><td>Network input images tensor shapes. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">is_validation</td><td>(Optional) Validation flag (default = false) </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output_stream</td><td>(Optional) Output stream (default = std::cout)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An appropriate tensor accessor </dd></dl>
<p class="definition">Definition at line <a class="el" href="_graph_utils_8h_source.xhtml#l00577">577</a> of file <a class="el" href="_graph_utils_8h_source.xhtml">GraphUtils.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;{</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(is_validation);</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">if</span>(!graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a8795de58b39cf31914df35a032c1a486">validation_file</a>.empty())</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; {</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;ValidationOutputAccessor&gt;(graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a8795de58b39cf31914df35a032c1a486">validation_file</a>,</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; output_stream,</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a5c135a9c2ced82186156930974ded8a0">validation_range_start</a>,</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a1543de48b9546e5e234de4c1196f0d0f">validation_range_end</a>);</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; }</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#ad48071cd70c8b31c4ebdd6445eddaa0c">labels</a>.empty())</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; {</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;DummyAccessor&gt;(0);</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; }</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; {</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;DetectionOutputAccessor&gt;(graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#ad48071cd70c8b31c4ebdd6445eddaa0c">labels</a>, tensor_shapes, output_stream);</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; }</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160;}</div><div class="ttc" id="structarm__compute_1_1utils_1_1_common_graph_params_xhtml_a5c135a9c2ced82186156930974ded8a0"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a5c135a9c2ced82186156930974ded8a0">arm_compute::utils::CommonGraphParams::validation_range_start</a></div><div class="ttdeci">unsigned int validation_range_start</div><div class="ttdef"><b>Definition:</b> <a href="_common_graph_options_8h_source.xhtml#l00107">CommonGraphOptions.h:107</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_graph_params_xhtml_a1543de48b9546e5e234de4c1196f0d0f"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a1543de48b9546e5e234de4c1196f0d0f">arm_compute::utils::CommonGraphParams::validation_range_end</a></div><div class="ttdeci">unsigned int validation_range_end</div><div class="ttdef"><b>Definition:</b> <a href="_common_graph_options_8h_source.xhtml#l00108">CommonGraphOptions.h:108</a></div></div>
<div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00152">Error.h:152</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_graph_params_xhtml_a8795de58b39cf31914df35a032c1a486"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a8795de58b39cf31914df35a032c1a486">arm_compute::utils::CommonGraphParams::validation_file</a></div><div class="ttdeci">std::string validation_file</div><div class="ttdef"><b>Definition:</b> <a href="_common_graph_options_8h_source.xhtml#l00104">CommonGraphOptions.h:104</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_graph_params_xhtml_ad48071cd70c8b31c4ebdd6445eddaa0c"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#ad48071cd70c8b31c4ebdd6445eddaa0c">arm_compute::utils::CommonGraphParams::labels</a></div><div class="ttdeci">std::string labels</div><div class="ttdef"><b>Definition:</b> <a href="_common_graph_options_8h_source.xhtml#l00103">CommonGraphOptions.h:103</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00152">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_common_graph_options_8h_source.xhtml#l00103">CommonGraphParams::labels</a>, <a class="el" href="_common_graph_options_8h_source.xhtml#l00104">CommonGraphParams::validation_file</a>, <a class="el" href="_common_graph_options_8h_source.xhtml#l00108">CommonGraphParams::validation_range_end</a>, and <a class="el" href="_common_graph_options_8h_source.xhtml#l00107">CommonGraphParams::validation_range_start</a>.</p>
</div>
</div>
<a id="ab14324184f90f342227699c161654b1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab14324184f90f342227699c161654b1b">&#9670;&nbsp;</a></span>get_input_accessor()</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&lt;<a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a>&gt; arm_compute::graph_utils::get_input_accessor </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml">arm_compute::utils::CommonGraphParams</a> &amp;&#160;</td>
<td class="paramname"><em>graph_parameters</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1graph__utils_1_1_i_preprocessor.xhtml">IPreprocessor</a> &gt;&#160;</td>
<td class="paramname"><em>preprocessor</em> = <code>nullptr</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bgr</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Generates appropriate input accessor according to the specified graph parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">graph_parameters</td><td>Graph parameters </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">preprocessor</td><td>(Optional) Preproccessor object </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">bgr</td><td>(Optional) Fill the first plane with blue channel (default = true)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An appropriate tensor accessor </dd></dl>
<p class="definition">Definition at line <a class="el" href="_graph_utils_8h_source.xhtml#l00497">497</a> of file <a class="el" href="_graph_utils_8h_source.xhtml">GraphUtils.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;{</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">if</span>(!graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a8795de58b39cf31914df35a032c1a486">validation_file</a>.empty())</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; {</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;ValidationInputAccessor&gt;(graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a8795de58b39cf31914df35a032c1a486">validation_file</a>,</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a91652a4f41fde8020674577dd0e5933d">validation_path</a>,</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; std::move(preprocessor),</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; bgr,</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a5c135a9c2ced82186156930974ded8a0">validation_range_start</a>,</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a1543de48b9546e5e234de4c1196f0d0f">validation_range_end</a>);</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; }</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; {</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keyword">const</span> std::string &amp;image_file = graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a96b4a087acee7543a7624102a67fc14d">image</a>;</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keyword">const</span> std::string &amp;image_file_lower = <a class="code" href="namespacearm__compute.xhtml#a0a7bb17a0a0414a7162f635776a02eb5">lower_string</a>(image_file);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1utility.xhtml#af8cd4923f17276faa2f7a1a60e7acb17">arm_compute::utility::endswith</a>(image_file_lower, <span class="stringliteral">&quot;.npy&quot;</span>))</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; {</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;NumPyBinLoader&gt;(image_file, graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#aa56f0562febf49bc0e29a4257551191b">data_layout</a>);</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; }</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1utility.xhtml#af8cd4923f17276faa2f7a1a60e7acb17">arm_compute::utility::endswith</a>(image_file_lower, <span class="stringliteral">&quot;.jpeg&quot;</span>)</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; || <a class="code" href="namespacearm__compute_1_1utility.xhtml#af8cd4923f17276faa2f7a1a60e7acb17">arm_compute::utility::endswith</a>(image_file_lower, <span class="stringliteral">&quot;.jpg&quot;</span>)</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; || <a class="code" href="namespacearm__compute_1_1utility.xhtml#af8cd4923f17276faa2f7a1a60e7acb17">arm_compute::utility::endswith</a>(image_file_lower, <span class="stringliteral">&quot;.ppm&quot;</span>))</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; {</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;ImageAccessor&gt;(image_file, bgr, std::move(preprocessor));</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; }</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; {</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;DummyAccessor&gt;();</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; }</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; }</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;}</div><div class="ttc" id="structarm__compute_1_1utils_1_1_common_graph_params_xhtml_a91652a4f41fde8020674577dd0e5933d"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a91652a4f41fde8020674577dd0e5933d">arm_compute::utils::CommonGraphParams::validation_path</a></div><div class="ttdeci">std::string validation_path</div><div class="ttdef"><b>Definition:</b> <a href="_common_graph_options_8h_source.xhtml#l00105">CommonGraphOptions.h:105</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_graph_params_xhtml_a5c135a9c2ced82186156930974ded8a0"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a5c135a9c2ced82186156930974ded8a0">arm_compute::utils::CommonGraphParams::validation_range_start</a></div><div class="ttdeci">unsigned int validation_range_start</div><div class="ttdef"><b>Definition:</b> <a href="_common_graph_options_8h_source.xhtml#l00107">CommonGraphOptions.h:107</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a0a7bb17a0a0414a7162f635776a02eb5"><div class="ttname"><a href="namespacearm__compute.xhtml#a0a7bb17a0a0414a7162f635776a02eb5">arm_compute::lower_string</a></div><div class="ttdeci">std::string lower_string(const std::string &amp;val)</div><div class="ttdoc">Lower a given string.</div><div class="ttdef"><b>Definition:</b> <a href="src_2core_2_utils_8cpp_source.xhtml#l00333">Utils.cpp:333</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_graph_params_xhtml_aa56f0562febf49bc0e29a4257551191b"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#aa56f0562febf49bc0e29a4257551191b">arm_compute::utils::CommonGraphParams::data_layout</a></div><div class="ttdeci">arm_compute::DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_common_graph_options_8h_source.xhtml#l00096">CommonGraphOptions.h:96</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_graph_params_xhtml_a1543de48b9546e5e234de4c1196f0d0f"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a1543de48b9546e5e234de4c1196f0d0f">arm_compute::utils::CommonGraphParams::validation_range_end</a></div><div class="ttdeci">unsigned int validation_range_end</div><div class="ttdef"><b>Definition:</b> <a href="_common_graph_options_8h_source.xhtml#l00108">CommonGraphOptions.h:108</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1utility_xhtml_af8cd4923f17276faa2f7a1a60e7acb17"><div class="ttname"><a href="namespacearm__compute_1_1utility.xhtml#af8cd4923f17276faa2f7a1a60e7acb17">arm_compute::utility::endswith</a></div><div class="ttdeci">bool endswith(const std::string &amp;str, const std::string &amp;suffix)</div><div class="ttdoc">Checks if a string contains a given suffix.</div><div class="ttdef"><b>Definition:</b> <a href="_utility_8h_source.xhtml#l00176">Utility.h:176</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_graph_params_xhtml_a8795de58b39cf31914df35a032c1a486"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a8795de58b39cf31914df35a032c1a486">arm_compute::utils::CommonGraphParams::validation_file</a></div><div class="ttdeci">std::string validation_file</div><div class="ttdef"><b>Definition:</b> <a href="_common_graph_options_8h_source.xhtml#l00104">CommonGraphOptions.h:104</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_graph_params_xhtml_a96b4a087acee7543a7624102a67fc14d"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a96b4a087acee7543a7624102a67fc14d">arm_compute::utils::CommonGraphParams::image</a></div><div class="ttdeci">std::string image</div><div class="ttdef"><b>Definition:</b> <a href="_common_graph_options_8h_source.xhtml#l00102">CommonGraphOptions.h:102</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_common_graph_options_8h_source.xhtml#l00096">CommonGraphParams::data_layout</a>, <a class="el" href="_utility_8h_source.xhtml#l00176">arm_compute::utility::endswith()</a>, <a class="el" href="_common_graph_options_8h_source.xhtml#l00102">CommonGraphParams::image</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00333">arm_compute::lower_string()</a>, <a class="el" href="_common_graph_options_8h_source.xhtml#l00104">CommonGraphParams::validation_file</a>, <a class="el" href="_common_graph_options_8h_source.xhtml#l00105">CommonGraphParams::validation_path</a>, <a class="el" href="_common_graph_options_8h_source.xhtml#l00108">CommonGraphParams::validation_range_end</a>, and <a class="el" href="_common_graph_options_8h_source.xhtml#l00107">CommonGraphParams::validation_range_start</a>.</p>
</div>
</div>
<a id="a10e9c53263d766cbd37e4e37f5e8091e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10e9c53263d766cbd37e4e37f5e8091e">&#9670;&nbsp;</a></span>get_npy_output_accessor()</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&lt;<a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a>&gt; arm_compute::graph_utils::get_npy_output_accessor </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>npy_path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td>
<td class="paramname"><em>shape</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>&#160;</td>
<td class="paramname"><em>data_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
<td class="paramname"><em>data_layout</em> = <code><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>output_stream</em> = <code>std::cout</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Generates appropriate npy output accessor according to the specified npy_path. </p>
<dl class="section note"><dt>Note</dt><dd>If npy_path is empty will generate a <a class="el" href="classarm__compute_1_1graph__utils_1_1_dummy_accessor.xhtml" title="Dummy accessor class.">DummyAccessor</a> else will generate a NpyAccessor</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">npy_path</td><td>Path to npy file. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the numpy tensor data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data_type</td><td>DataType of the numpy tensor data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data_layout</td><td>DataLayout of the numpy tensor data. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output_stream</td><td>(Optional) Output stream</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An appropriate tensor accessor </dd></dl>
<p class="definition">Definition at line <a class="el" href="_graph_utils_8h_source.xhtml#l00611">611</a> of file <a class="el" href="_graph_utils_8h_source.xhtml">GraphUtils.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160;{</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">if</span>(npy_path.empty())</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; {</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;DummyAccessor&gt;(0);</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; }</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; {</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;NumPyAccessor&gt;(npy_path, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">data_type</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">data_layout</a>, output_stream);</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; }</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;}</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">AbsoluteDifference.cpp:97</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acf5f12bbab64dd614bd8220c97fe484f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acf5f12bbab64dd614bd8220c97fe484f">arm_compute::test::validation::data_layout</a></div><div class="ttdeci">const DataLayout data_layout</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">Im2Col.cpp:146</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a5f5b6c4337eac9e2e0046ca2304d80dc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a5f5b6c4337eac9e2e0046ca2304d80dc">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00135">ArithmeticAddition.cpp:135</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_n_e_o_n_2_im2_col_8cpp_source.xhtml#l00146">arm_compute::test::validation::data_layout</a>, <a class="el" href="_c_l_2_arithmetic_addition_8cpp_source.xhtml#l00135">arm_compute::test::validation::data_type</a>, and <a class="el" href="_c_l_2_absolute_difference_8cpp_source.xhtml#l00097">arm_compute::test::validation::shape</a>.</p>
</div>
</div>
<a id="ae3d177d243f5fb34544105a4ee4e1f58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3d177d243f5fb34544105a4ee4e1f58">&#9670;&nbsp;</a></span>get_output_accessor()</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&lt;<a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a>&gt; arm_compute::graph_utils::get_output_accessor </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml">arm_compute::utils::CommonGraphParams</a> &amp;&#160;</td>
<td class="paramname"><em>graph_parameters</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>top_n</em> = <code>5</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>is_validation</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>output_stream</em> = <code>std::cout</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Generates appropriate output accessor according to the specified graph parameters. </p>
<dl class="section note"><dt>Note</dt><dd>If the output accessor is requested to validate the graph then <a class="el" href="classarm__compute_1_1graph__utils_1_1_validation_output_accessor.xhtml" title="Output Accessor used for network validation.">ValidationOutputAccessor</a> is generated else if output_accessor_file is empty will generate a <a class="el" href="classarm__compute_1_1graph__utils_1_1_dummy_accessor.xhtml" title="Dummy accessor class.">DummyAccessor</a> else will generate a <a class="el" href="classarm__compute_1_1graph__utils_1_1_top_n_predictions_accessor.xhtml" title="Result accessor class.">TopNPredictionsAccessor</a></dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">graph_parameters</td><td>Graph parameters </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">top_n</td><td>(Optional) Number of output classes to print (default = 5) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">is_validation</td><td>(Optional) Validation flag (default = false) </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output_stream</td><td>(Optional) Output stream (default = std::cout)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An appropriate tensor accessor </dd></dl>
<p class="definition">Definition at line <a class="el" href="_graph_utils_8h_source.xhtml#l00543">543</a> of file <a class="el" href="_graph_utils_8h_source.xhtml">GraphUtils.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;{</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <a class="code" href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a>(is_validation);</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keywordflow">if</span>(!graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a8795de58b39cf31914df35a032c1a486">validation_file</a>.empty())</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; {</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;ValidationOutputAccessor&gt;(graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a8795de58b39cf31914df35a032c1a486">validation_file</a>,</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; output_stream,</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a5c135a9c2ced82186156930974ded8a0">validation_range_start</a>,</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a1543de48b9546e5e234de4c1196f0d0f">validation_range_end</a>);</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; }</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#ad48071cd70c8b31c4ebdd6445eddaa0c">labels</a>.empty())</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; {</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;DummyAccessor&gt;(0);</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; }</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; {</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;TopNPredictionsAccessor&gt;(graph_parameters.<a class="code" href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#ad48071cd70c8b31c4ebdd6445eddaa0c">labels</a>, top_n, output_stream);</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; }</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;}</div><div class="ttc" id="structarm__compute_1_1utils_1_1_common_graph_params_xhtml_a5c135a9c2ced82186156930974ded8a0"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a5c135a9c2ced82186156930974ded8a0">arm_compute::utils::CommonGraphParams::validation_range_start</a></div><div class="ttdeci">unsigned int validation_range_start</div><div class="ttdef"><b>Definition:</b> <a href="_common_graph_options_8h_source.xhtml#l00107">CommonGraphOptions.h:107</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_graph_params_xhtml_a1543de48b9546e5e234de4c1196f0d0f"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a1543de48b9546e5e234de4c1196f0d0f">arm_compute::utils::CommonGraphParams::validation_range_end</a></div><div class="ttdeci">unsigned int validation_range_end</div><div class="ttdef"><b>Definition:</b> <a href="_common_graph_options_8h_source.xhtml#l00108">CommonGraphOptions.h:108</a></div></div>
<div class="ttc" id="_error_8h_xhtml_a6dc630a6ae9cc063b3924bcea8dee9d6"><div class="ttname"><a href="_error_8h.xhtml#a6dc630a6ae9cc063b3924bcea8dee9d6">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(...)</div><div class="ttdoc">To avoid unused variables warnings.</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00152">Error.h:152</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_graph_params_xhtml_a8795de58b39cf31914df35a032c1a486"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#a8795de58b39cf31914df35a032c1a486">arm_compute::utils::CommonGraphParams::validation_file</a></div><div class="ttdeci">std::string validation_file</div><div class="ttdef"><b>Definition:</b> <a href="_common_graph_options_8h_source.xhtml#l00104">CommonGraphOptions.h:104</a></div></div>
<div class="ttc" id="structarm__compute_1_1utils_1_1_common_graph_params_xhtml_ad48071cd70c8b31c4ebdd6445eddaa0c"><div class="ttname"><a href="structarm__compute_1_1utils_1_1_common_graph_params.xhtml#ad48071cd70c8b31c4ebdd6445eddaa0c">arm_compute::utils::CommonGraphParams::labels</a></div><div class="ttdeci">std::string labels</div><div class="ttdef"><b>Definition:</b> <a href="_common_graph_options_8h_source.xhtml#l00103">CommonGraphOptions.h:103</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00152">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_common_graph_options_8h_source.xhtml#l00103">CommonGraphParams::labels</a>, <a class="el" href="_common_graph_options_8h_source.xhtml#l00104">CommonGraphParams::validation_file</a>, <a class="el" href="_common_graph_options_8h_source.xhtml#l00108">CommonGraphParams::validation_range_end</a>, and <a class="el" href="_common_graph_options_8h_source.xhtml#l00107">CommonGraphParams::validation_range_start</a>.</p>
</div>
</div>
<a id="a655bfc2ace1def9f00aab1c9356abb53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a655bfc2ace1def9f00aab1c9356abb53">&#9670;&nbsp;</a></span>get_print_output_accessor()</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&lt;<a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a>&gt; arm_compute::graph_utils::get_print_output_accessor </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>output_stream</em> = <code>std::cout</code></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>Generates print tensor accessor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">output_stream</td><td>(Optional) Output stream</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A print tensor accessor </dd></dl>
<p class="definition">Definition at line <a class="el" href="_graph_utils_8h_source.xhtml#l00651">651</a> of file <a class="el" href="_graph_utils_8h_source.xhtml">GraphUtils.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;{</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;PrintAccessor&gt;(output_stream);</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="ab7e905c7bfd2944e67bd069a3de3e7a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7e905c7bfd2944e67bd069a3de3e7a2">&#9670;&nbsp;</a></span>get_random_accessor()</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&lt;<a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a>&gt; arm_compute::graph_utils::get_random_accessor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a>&#160;</td>
<td class="paramname"><em>lower</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a>&#160;</td>
<td class="paramname"><em>upper</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::random_device::result_type&#160;</td>
<td class="paramname"><em>seed</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Generates appropriate random accessor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">lower</td><td>Lower random values bound </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">upper</td><td>Upper random values bound </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">seed</td><td>Random generator seed</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A ramdom accessor </dd></dl>
<p class="definition">Definition at line <a class="el" href="_graph_utils_8h_source.xhtml#l00460">460</a> of file <a class="el" href="_graph_utils_8h_source.xhtml">GraphUtils.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;{</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;RandomAccessor&gt;(lower, upper, seed);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a6207a1b742579b07b8f4b14e542a7b3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6207a1b742579b07b8f4b14e542a7b3a">&#9670;&nbsp;</a></span>get_save_npy_output_accessor()</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&lt;<a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a>&gt; arm_compute::graph_utils::get_save_npy_output_accessor </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>npy_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>is_fortran</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Generates appropriate npy output accessor according to the specified npy_path. </p>
<dl class="section note"><dt>Note</dt><dd>If npy_path is empty will generate a <a class="el" href="classarm__compute_1_1graph__utils_1_1_dummy_accessor.xhtml" title="Dummy accessor class.">DummyAccessor</a> else will generate a SaveNpyAccessor</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">npy_name</td><td>Npy filename. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">is_fortran</td><td>(Optional) If true, save tensor in fortran order.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An appropriate tensor accessor </dd></dl>
<p class="definition">Definition at line <a class="el" href="_graph_utils_8h_source.xhtml#l00633">633</a> of file <a class="el" href="_graph_utils_8h_source.xhtml">GraphUtils.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;{</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">if</span>(npy_name.empty())</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; {</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;DummyAccessor&gt;(0);</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; }</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; {</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;SaveNumPyAccessor&gt;(npy_name, is_fortran);</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; }</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a30bee0b52a919bbcb1dc48b1b6546a16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30bee0b52a919bbcb1dc48b1b6546a16">&#9670;&nbsp;</a></span>get_weights_accessor()</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&lt;<a class="el" href="classarm__compute_1_1graph_1_1_i_tensor_accessor.xhtml">graph::ITensorAccessor</a>&gt; arm_compute::graph_utils::get_weights_accessor </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>data_file</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
<td class="paramname"><em>file_layout</em> = <code><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Generates appropriate weights accessor according to the specified path. </p>
<dl class="section note"><dt>Note</dt><dd>If path is empty will generate a <a class="el" href="classarm__compute_1_1graph__utils_1_1_dummy_accessor.xhtml" title="Dummy accessor class.">DummyAccessor</a> else will generate a <a class="el" href="classarm__compute_1_1graph__utils_1_1_num_py_bin_loader.xhtml" title="Numpy Binary loader class.">NumPyBinLoader</a></dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Path to the data files </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data_file</td><td>Relative path to the data files from path </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">file_layout</td><td>(Optional) Layout of file. Defaults to NCHW</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An appropriate tensor accessor </dd></dl>
<p class="definition">Definition at line <a class="el" href="_graph_utils_8h_source.xhtml#l00475">475</a> of file <a class="el" href="_graph_utils_8h_source.xhtml">GraphUtils.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;{</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">if</span>(path.empty())</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; {</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;DummyAccessor&gt;();</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; }</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; {</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">return</span> arm_compute::support::cpp14::make_unique&lt;NumPyBinLoader&gt;(path + data_file, file_layout);</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; }</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="ab3a897163a7fe23208f1d9c618062ee2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3a897163a7fe23208f1d9c618062ee2">&#9670;&nbsp;</a></span>permute_shape()</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_tensor_shape.xhtml">TensorShape</a> arm_compute::graph_utils::permute_shape </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a>&#160;</td>
<td class="paramname"><em>tensor_shape</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
<td class="paramname"><em>in_data_layout</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
<td class="paramname"><em>out_data_layout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Permutes a given tensor shape given the input and output data layout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">tensor_shape</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a> shape to permute </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">in_data_layout</td><td>Input tensor shape data layout </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">out_data_layout</td><td>Output tensor shape data layout</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Permuted tensor shape </dd></dl>
<p class="definition">Definition at line <a class="el" href="_graph_utils_8h_source.xhtml#l00664">664</a> of file <a class="el" href="_graph_utils_8h_source.xhtml">GraphUtils.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;{</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">if</span>(in_data_layout != out_data_layout)</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; {</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <a class="code" href="classarm__compute_1_1_strides.xhtml">arm_compute::PermutationVector</a> perm_vec = (in_data_layout == DataLayout::NCHW) ? <a class="code" href="classarm__compute_1_1_strides.xhtml">arm_compute::PermutationVector</a>(2<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>, 0<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>, 1<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>) : <a class="code" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">arm_compute::PermutationVector</a>(1<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>, 2<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>, 0<a class="code" href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">U</a>);</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <a class="code" href="namespacearm__compute.xhtml#a21c3e11887f3acf9284ca763372c7da0">arm_compute::permute</a>(tensor_shape, perm_vec);</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; }</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">return</span> tensor_shape;</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;}</div><div class="ttc" id="namespacearm__compute_xhtml_a33e65be485104e2e9e69fca551d6f492"><div class="ttname"><a href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">arm_compute::PermutationVector</a></div><div class="ttdeci">Strides PermutationVector</div><div class="ttdoc">Permutation vector.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00047">Types.h:47</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a21c3e11887f3acf9284ca763372c7da0"><div class="ttname"><a href="namespacearm__compute.xhtml#a21c3e11887f3acf9284ca763372c7da0">arm_compute::permute</a></div><div class="ttdeci">void permute(Dimensions&lt; T &gt; &amp;dimensions, const PermutationVector &amp;perm)</div><div class="ttdoc">Permutes given Dimensions according to a permutation vector.</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00570">Helpers.h:570</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1utils_1_1cast_xhtml_a2ea3d1fc01a3a442900249ca182ffa5e"><div class="ttname"><a href="namespacearm__compute_1_1utils_1_1cast.xhtml#a2ea3d1fc01a3a442900249ca182ffa5e">arm_compute::utils::cast::U</a></div><div class="ttdeci">U</div><div class="ttdef"><b>Definition:</b> <a href="_saturate_cast_8h_source.xhtml#l00057">SaturateCast.h:57</a></div></div>
<div class="ttc" id="classarm__compute_1_1_strides_xhtml"><div class="ttname"><a href="classarm__compute_1_1_strides.xhtml">arm_compute::Strides</a></div><div class="ttdoc">Strides of an item in bytes.</div><div class="ttdef"><b>Definition:</b> <a href="_strides_8h_source.xhtml#l00037">Strides.h:37</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">arm_compute::NCHW</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00570">arm_compute::permute()</a>, and <a class="el" href="_saturate_cast_8h_source.xhtml#l00057">arm_compute::utils::cast::U</a>.</p>
<p class="reference">Referenced by <a class="el" href="graph__validate__utils_8h_source.xhtml#l00640">GraphValidateExample&lt; DepthwiseConvolutionLayer, DepthConvolutionOptions, DepthConvolutionVerifyAccessor &gt;::do_setup()</a>, and <a class="el" href="graph__validate__utils_8h_source.xhtml#l00421">VerifyAccessor&lt; D &gt;::output_shape()</a>.</p>
</div>
</div>
<a id="ab6dc388200717b5fae17342af13f5e41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6dc388200717b5fae17342af13f5e41">&#9670;&nbsp;</a></span>set_target_hint()</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="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35d">graph::Target</a> arm_compute::graph_utils::set_target_hint </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>target</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>Utility function to return the TargetHint. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>Integer value which expresses the selected target. Must be 0 for NEON or 1 for OpenCL or 2 (OpenCL with Tuner)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the TargetHint </dd></dl>
<p class="definition">Definition at line <a class="el" href="_graph_utils_8h_source.xhtml#l00680">680</a> of file <a class="el" href="_graph_utils_8h_source.xhtml">GraphUtils.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;{</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <a class="code" href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a>(target &gt; 3, <span class="stringliteral">&quot;Invalid target. Target must be 0 (NEON), 1 (OpenCL), 2 (OpenCL + Tuner), 3 (GLES)&quot;</span>);</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">if</span>((target == 1 || target == 2))</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; {</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">return</span> graph::Target::CL;</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; }</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(target == 3)</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; {</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">return</span> graph::Target::GC;</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; }</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; {</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keywordflow">return</span> graph::Target::NEON;</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; }</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a0b0eb3235749a2909dc5a101afe59a1b"><div class="ttname"><a href="_error_8h.xhtml#a0b0eb3235749a2909dc5a101afe59a1b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond, msg)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00456">Error.h:456</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_error_8h_source.xhtml#l00456">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35da5bc574a47246f122016869b32a6aa6f0">arm_compute::graph::CL</a>, <a class="el" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35da7359c3eb5c57547295a76ac1bf775b29">arm_compute::graph::GC</a>, and <a class="el" href="namespacearm__compute_1_1graph.xhtml#a31488d29805a596498c0234ae392d35dacaf162e9233294cadf62d2a71a14ca09">arm_compute::graph::NEON</a>.</p>
</div>
</div>
</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__utils.xhtml">graph_utils</a></li>
<li class="footer">Generated on Wed Jan 22 2020 18:07:58 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>