37 : _memory_group(
std::move(memory_manager)), _normalization_kernel(), _is_nchw(false), _permute_input(), _permute_output(), _permuted_input(), _permuted_output()
51 _normalization_kernel = std::make_unique<NEInstanceNormalizationLayerKernel>();
55 _memory_group.
manage(&_permuted_input);
56 _memory_group.
manage(&_permuted_output);
62 _normalization_kernel->configure(&_permuted_input, &_permuted_output, kernel_descriptor);
71 _normalization_kernel->configure(input, output, kernel_descriptor);
97 _permute_output.
run();
static Status validate(const ITensorInfo *input, const ITensorInfo *output, const InstanceNormalizationLayerKernelInfo &info)
Static function to check if given info will lead to a valid configuration of NEInstanceNormalizationL...
void configure(ITensor *input, ITensor *output, float gamma=1.0f, float beta=0.0f, float epsilon=1e-12f)
Set the input and output tensors.
Strides PermutationVector
Permutation vector.
~NEInstanceNormalizationLayer()
Default destructor.
Store the tensor's metadata.
NEInstanceNormalizationLayer(std::shared_ptr< IMemoryManager > memory_manager=nullptr)
Constructor.
Interface for CPU tensor.
void run() override
Run the kernels contained in the function.
Copyright (c) 2017-2023 Arm Limited.
TensorAllocator * allocator()
Return a pointer to the tensor's allocator.
ITensorInfo * info() const override
Interface to be implemented by the child class to return the tensor's metadata.
static Status validate(const ITensorInfo *input, const ITensorInfo *output, float gamma=1.0f, float beta=0.0f, float epsilon=1e-12f)
Static function to check if given info will lead to a valid configuration of NEInstanceNormalizationL...
void manage(IMemoryManageable *obj) override
Sets a object to be managed by the given memory group.
virtual ITensorInfo & set_data_layout(const DataLayout &data_layout)=0
Set the data layout of the tensor.
void allocate() override
Allocate size specified by TensorInfo of CPU memory.
virtual std::unique_ptr< T > clone() const =0
Provide a clone of the current object of class T.
virtual ITensorInfo * info() const =0
Interface to be implemented by the child class to return the tensor's metadata.
Num samples, channels, height, width.
void run() override
Run the kernels contained in the function.
Memory group resources scope handling class.
virtual void schedule(ICPPKernel *kernel, const Hints &hints)=0
Runs the kernel in the same thread as the caller synchronously.
static constexpr size_t DimZ
Alias for dimension 2 also known as Z dimension.
#define ARM_COMPUTE_LOG_PARAMS(...)
void configure(const ITensor *input, ITensor *output, const PermutationVector &perm)
Configure the permute function.
DataLayout
[DataLayout enum definition]
virtual DataLayout data_layout() const =0
Get the data layout of the tensor.
static IScheduler & get()
Access the scheduler singleton.