31 struct NEPoolingLayer::Impl
33 ITensor *
src{
nullptr };
34 ITensor *
dst{
nullptr };
35 ITensor *indices{
nullptr };
36 std::shared_ptr<IMemoryManager> memory_manager{
nullptr };
37 std::unique_ptr<cpu::CpuPooling> op{
nullptr };
43 : _impl(
std::make_unique<Impl>())
45 _impl->memory_manager = std::move(memory_manager);
52 _impl->indices = indices;
53 _impl->op = std::make_unique<cpu::CpuPooling>(_impl->memory_manager);
54 _impl->op->configure(input->
info(), output->
info(), pool_info, (indices) ? indices->
info() :
nullptr);
static Status validate(const ITensorInfo *src, const ITensorInfo *dst, const PoolingLayerInfo &pool_info, const ITensorInfo *indices=nullptr)
Static function to check if given info will lead to a valid configuration of CpuPooling.
NEPoolingLayer(std::shared_ptr< IMemoryManager > memory_manager=nullptr)
Constructor.
Store the tensor's metadata.
Interface for Neon tensor.
SimpleTensor< float > src
Copyright (c) 2017-2021 Arm Limited.
~NEPoolingLayer()
Default destructor.
void run() override
Run the kernels contained in the function.
Pooling Layer Information struct.
virtual ITensorInfo * info() const =0
Interface to be implemented by the child class to return the tensor's metadata.
void configure(ITensor *input, ITensor *output, const PoolingLayerInfo &pool_info, ITensor *indices=nullptr)
Set the input and output tensors.
static Status validate(const ITensorInfo *input, const ITensorInfo *output, const PoolingLayerInfo &pool_info, const ITensorInfo *indices=nullptr)
Static function to check if given info will lead to a valid configuration of NEPoolingLayer.
void add_tensor(int id, ITensor *tensor)
Add tensor to the pack.