34 struct NEDirectConvolutionLayer::Impl
36 ITensor *
src{
nullptr };
37 const ITensor *weights{
nullptr };
38 const ITensor *
bias{
nullptr };
39 ITensor *
dst{
nullptr };
40 std::unique_ptr<cpu::CpuDirectConv2d> op{
nullptr };
44 : _memory_manager(
std::move(memory_manager)), _impl(
std::make_unique<Impl>())
52 _impl->weights = weights;
55 _impl->op = std::make_unique<cpu::CpuDirectConv2d>(_memory_manager);
static Status validate(const ITensorInfo *src, const ITensorInfo *weights, const ITensorInfo *bias, const ITensorInfo *dst, const PadStrideInfo &conv_info, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Static function to check if given info will lead to a valid configuration.
~NEDirectConvolutionLayer()
Default destructor.
void run() override
Run the kernels contained in the function.
Store the tensor's metadata.
Activation Layer Information class.
Interface for CPU tensor.
SimpleTensor< float > src
Copyright (c) 2017-2023 Arm Limited.
NEDirectConvolutionLayer(std::shared_ptr< IMemoryManager > memory_manager=nullptr)
Constructor.
virtual ITensorInfo * info() const =0
Interface to be implemented by the child class to return the tensor's metadata.
Padding and stride information class.
void configure(ITensor *input, const ITensor *weights, const ITensor *bias, ITensor *output, const PadStrideInfo &conv_info, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Set the input, weights, biases and output tensors.
static Status validate(const ITensorInfo *input, const ITensorInfo *weights, const ITensorInfo *bias, const ITensorInfo *output, const PadStrideInfo &conv_info, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Static function to check if given info will lead to a valid configuration of NEDirectConvolutionLayer...
void add_tensor(int id, ITensor *tensor)
Add tensor to the pack.