24.02.1
|
Go to the documentation of this file.
40 : _memory_group(std::move(memory_manager)),
42 _activationlayer_function(),
44 _is_activationlayer_enabled(false),
55 _conv_kernel = std::make_unique<kernels::CpuDirectConv3dKernel>();
58 if (_accumulator.
buffer() !=
nullptr)
65 _conv_kernel->configure(src0, src1, src2,
dst,
conv_info);
68 _is_activationlayer_enabled =
conv_info.act_info.enabled();
69 if (_is_activationlayer_enabled)
71 _activationlayer_function = std::make_unique<CpuActivation>();
103 if (_is_activationlayer_enabled)
108 _activationlayer_function->run(
pack);
static Status validate(const ITensorInfo *src0, const ITensorInfo *src1, const ITensorInfo *src2, const ITensorInfo *dst, const Conv3dInfo &conv_info)
Static function to check if given info will lead to a valid configuration.
virtual DataLayout data_layout() const =0
Get the data layout of the tensor.
static Status validate(const ITensorInfo *src0, const ITensorInfo *src1, const ITensorInfo *src2, const ITensorInfo *dst, const Conv3dInfo conv_info)
Static function to check if given info will lead to a valid configuration.
virtual void schedule_op(ICPPKernel *kernel, const Hints &hints, const Window &window, ITensorPack &tensors)=0
Runs the kernel in the same thread as the caller synchronously.
static Status validate(const ITensorInfo *input, const ITensorInfo *output, const ActivationLayerInfo &act_info)
Static function to check if given info will lead to a valid configuration.
void add_tensor(int id, ITensor *tensor)
Add tensor to the pack.
ITensor * get_tensor(int id)
Get tensor of a given id from the pac.
#define ARM_COMPUTE_RETURN_ON_ERROR(status)
Checks if a status contains an error and returns it.
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
TensorAllocator * allocator()
Return a pointer to the tensor's allocator.
static IScheduler & get()
Access the scheduler singleton.
uint8_t * buffer() const override
Interface to be implemented by the child class to return a pointer to CPU memory.
static constexpr size_t DimY
Alias for dimension 1 also known as Y dimension.
CpuDirectConv3d(std::shared_ptr< IMemoryManager > memory_manager=nullptr)
Describe a multidimensional execution window.
void run(ITensorPack &tensors) override
Run the kernels contained in the function.
Memory group resources scope handling class.
Copyright (c) 2017-2024 Arm Limited.
Descriptor used by the 3d Convolution function.
void configure(ITensorInfo *src0, ITensorInfo *src1, const ITensorInfo *src2, ITensorInfo *dst, const Conv3dInfo conv_info)
Set the input, weights, biases and output tensor info.
#define ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(...)
void free() override
Free allocated CPU memory.
Store the tensor's metadata.
#define ARM_COMPUTE_LOG_PARAMS(...)
@ NDHWC
Num samples, depth, height, width, channels.