24.02.1
|
Interface for the kernel to normalize the input 2D tensor across the first dimension with respect to mean and standard deviation of the same dimension. More...
#include <NEMeanStdDevNormalizationKernel.h>
Public Member Functions | |
const char * | name () const override |
Name of the kernel. More... | |
NEMeanStdDevNormalizationKernel () | |
Default constructor. More... | |
NEMeanStdDevNormalizationKernel (const NEMeanStdDevNormalizationKernel &)=delete | |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
NEMeanStdDevNormalizationKernel & | operator= (const NEMeanStdDevNormalizationKernel &)=delete |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
NEMeanStdDevNormalizationKernel (NEMeanStdDevNormalizationKernel &&)=default | |
Allow instances of this class to be moved. More... | |
NEMeanStdDevNormalizationKernel & | operator= (NEMeanStdDevNormalizationKernel &&)=default |
Allow instances of this class to be moved. More... | |
~NEMeanStdDevNormalizationKernel ()=default | |
Default destructor. More... | |
void | configure (ITensor *input, ITensor *output=nullptr, float epsilon=1e-8f) |
Initialise the kernel's input and outputs. More... | |
void | run (const Window &window, const ThreadInfo &info) override |
Execute the kernel on the passed window. More... | |
Public Member Functions inherited from ICPPKernel | |
virtual | ~ICPPKernel ()=default |
Default destructor. More... | |
virtual void | run_nd (const Window &window, const ThreadInfo &info, const Window &thread_locator) |
legacy compatibility layer for implemantions which do not support thread_locator In these cases we simply narrow the interface down the legacy version More... | |
virtual void | run_op (ITensorPack &tensors, const Window &window, const ThreadInfo &info) |
Execute the kernel on the passed window. More... | |
virtual size_t | get_mws (const CPUInfo &platform, size_t thread_count) const |
Return minimum workload size of the relevant kernel. More... | |
Public Member Functions inherited from IKernel | |
IKernel () | |
Constructor. More... | |
virtual | ~IKernel ()=default |
Destructor. More... | |
virtual bool | is_parallelisable () const |
Indicates whether or not the kernel is parallelisable. More... | |
virtual BorderSize | border_size () const |
The size of the border for that kernel. More... | |
const Window & | window () const |
The maximum window the kernel can be executed on. More... | |
bool | is_window_configured () const |
Function to check if the embedded window of this kernel has been configured. More... | |
Static Public Member Functions | |
static Status | validate (const ITensorInfo *input, const ITensorInfo *output=nullptr, float epsilon=1e-8f) |
Static function to check if given info will lead to a valid configuration of NEMeanStdDevNormalizationKernel. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from ICPPKernel | |
static constexpr size_t | default_mws = 1 |
Interface for the kernel to normalize the input 2D tensor across the first dimension with respect to mean and standard deviation of the same dimension.
Definition at line 38 of file NEMeanStdDevNormalizationKernel.h.
Default constructor.
Definition at line 123 of file NEMeanStdDevNormalizationKernel.cpp.
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
|
default |
Allow instances of this class to be moved.
|
default |
Default destructor.
Initialise the kernel's input and outputs.
[in,out] | input | Source tensor with 2 dimensions. In case of output tensor = nullptr, this tensor will store the result of the normalization. Data types supported: F16/F32. |
[out] | output | (Optional) Destination tensor. It can be nullptr in case of in-place computation. Data type supported: same as input |
[in] | epsilon | (Optional) Small float to avoid division by zero in case of zero standard deviation. Defaults to 1e-8. |
Definition at line 127 of file NEMeanStdDevNormalizationKernel.cpp.
References ARM_COMPUTE_ERROR_ON_NULLPTR, ARM_COMPUTE_ERROR_THROW_ON, arm_compute::quantization::epsilon, ITensor::info(), arm_compute::test::validation::input, NEMeanStdDevNormalizationKernel::validate(), and arm_compute::cpu::kernels::validate_and_configure_window().
|
inlineoverridevirtual |
Name of the kernel.
Implements ICPPKernel.
Definition at line 41 of file NEMeanStdDevNormalizationKernel.h.
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
|
default |
Allow instances of this class to be moved.
|
overridevirtual |
Execute the kernel on the passed window.
[in] | window | Region on which to execute the kernel. (Must be a region of the window returned by window()) |
[in] | info | Info about executing thread and CPU. |
Reimplemented from ICPPKernel.
Definition at line 153 of file NEMeanStdDevNormalizationKernel.cpp.
References ARM_COMPUTE_ERROR_ON, ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW, ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL, ARM_COMPUTE_UNUSED, arm_compute::test::validation::data_type, ITensor::info(), arm_compute::test::validation::info, and IKernel::window().
|
static |
Static function to check if given info will lead to a valid configuration of NEMeanStdDevNormalizationKernel.
[in] | input | Source tensor info with 2 dimensions. In case of output tensor info = nullptr, this tensor will store the result of the normalization. Data types supported: F16/F32. |
[in] | output | (Optional) Destination tensor info. It can be nullptr in case of in-place computation. Data type supported: same as input |
[in] | epsilon | (Optional) Small float to avoid division by zero in case of zero standard deviation. Defaults to 1e-8. |
Definition at line 144 of file NEMeanStdDevNormalizationKernel.cpp.
References ARM_COMPUTE_RETURN_ON_ERROR, ICloneable< T >::clone(), arm_compute::quantization::epsilon, arm_compute::test::validation::input, arm_compute::cpu::kernels::validate_and_configure_window(), and arm_compute::cpu::kernels::validate_arguments().
Referenced by NEMeanStdDevNormalizationKernel::configure(), and NEMeanStdDevNormalizationLayer::validate().