23.05
|
Function to run the direct convolution. More...
#include <CpuDirectConv3d.h>
Public Member Functions | |
CpuDirectConv3d (std::shared_ptr< IMemoryManager > memory_manager=nullptr) | |
~CpuDirectConv3d () | |
void | configure (ITensorInfo *src0, ITensorInfo *src1, const ITensorInfo *src2, ITensorInfo *dst, const Conv3dInfo conv_info) |
Set the input, weights, biases and output tensor info. More... | |
void | run (ITensorPack &tensors) override |
Run the kernels contained in the function. More... | |
![]() | |
INEOperator (IRuntimeContext *ctx=nullptr) | |
Constructor. More... | |
INEOperator (const INEOperator &)=delete | |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
INEOperator (INEOperator &&)=default | |
Default move constructor. More... | |
INEOperator & | operator= (const INEOperator &)=delete |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
INEOperator & | operator= (INEOperator &&)=default |
Default move assignment operator. More... | |
~INEOperator () | |
Default destructor. More... | |
void | prepare (ITensorPack &constants) override |
Prepare the function for executing. More... | |
MemoryRequirements | workspace () const override |
Return the memory requirements required by the workspace. More... | |
![]() | |
virtual | ~IOperator ()=default |
Destructor. More... | |
Static Public Member Functions | |
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. More... | |
Function to run the direct convolution.
This function calls the following kernels:
Definition at line 53 of file CpuDirectConv3d.h.
CpuDirectConv3d | ( | std::shared_ptr< IMemoryManager > | memory_manager = nullptr | ) |
Definition at line 38 of file CpuDirectConv3d.cpp.
|
default |
void configure | ( | ITensorInfo * | src0, |
ITensorInfo * | src1, | ||
const ITensorInfo * | src2, | ||
ITensorInfo * | dst, | ||
const Conv3dInfo | conv_info | ||
) |
Set the input, weights, biases and output tensor info.
Valid data layouts:
Valid data type configurations:
src0 | src1 | src2 | dst |
---|---|---|---|
F16 | F16 | F16 | F16 |
F32 | F32 | F32 | F32 |
QASYMM8 | QASYMM8 | S32 | QASYMM8 |
QASYMM8_SIGNED | QASYMM8_SIGNED | S32 | QASYMM8_SIGNED |
[in,out] | src0 | Input tensor info. |
[in] | src1 | Set of kernels to convolve the input volume. The 2nd dimension must be the same as the src0's volume 1st dimension. |
[in] | src2 | Set of biases. Can be nullptr. |
[out] | dst | Output tensor info. The 1st dimensions must be equal to the 1st dimension of the kernels tensor. |
[in] | conv_info | Contains padding, stride, acitvation information. |
Definition at line 43 of file CpuDirectConv3d.cpp.
References Conv3dInfo::act_info, Tensor::allocator(), ARM_COMPUTE_ERROR_ON, ARM_COMPUTE_LOG_PARAMS, Tensor::buffer(), ITensorInfo::data_layout(), Window::DimY, ActivationLayerInfo::enabled(), TensorAllocator::free(), and arm_compute::NDHWC.
|
overridevirtual |
Run the kernels contained in the function.
[in] | tensors | Vector that contains the tensors to operate on. |
Reimplemented from INEOperator.
Definition at line 84 of file CpuDirectConv3d.cpp.
References arm_compute::ACL_DST, arm_compute::ACL_SRC, ITensorPack::add_tensor(), arm_compute::test::validation::dst, Scheduler::get(), ITensorPack::get_tensor(), arm_compute::test::validation::pack, and IScheduler::schedule_op().
|
static |
Static function to check if given info will lead to a valid configuration.
Similar to CpuDirectConv3d::configure()
Definition at line 69 of file CpuDirectConv3d.cpp.
References Conv3dInfo::act_info, ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR, ARM_COMPUTE_RETURN_ON_ERROR, ActivationLayerInfo::enabled(), CpuActivation::validate(), and CpuDirectConv3dKernel::validate().
Referenced by NEConv3D::configure(), and NEConv3D::validate().