24.02.1
|
Basic function to simulate a directly convolution layer with 3 spatial dimensions. More...
#include <ClDirectConv3d.h>
Public Member Functions | |
ClDirectConv3d ()=default | |
void | configure (const CLCompileContext &compile_context, const ITensorInfo *src0, const ITensorInfo *src1, const ITensorInfo *src2, ITensorInfo *dst, const Conv3dInfo &conv3d_info) |
Set the src and dst tensors. More... | |
void | run (ITensorPack &tensors) override |
Run the kernels contained in the function. More... | |
Public Member Functions inherited from ICLOperator | |
ICLOperator (IRuntimeContext *ctx=nullptr) | |
Constructor. More... | |
ICLOperator (const ICLOperator &)=delete | |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
ICLOperator (ICLOperator &&)=default | |
Default move constructor. More... | |
ICLOperator & | operator= (const ICLOperator &)=delete |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
ICLOperator & | operator= (ICLOperator &&)=default |
Default move assignment operator. 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... | |
Public Member Functions inherited from IOperator | |
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 &conv3d_info) |
Static function to check if given info will lead to a valid configuration. More... | |
Basic function to simulate a directly convolution layer with 3 spatial dimensions.
This function calls the following OpenCL kernels:
Definition at line 44 of file ClDirectConv3d.h.
|
default |
void configure | ( | const CLCompileContext & | compile_context, |
const ITensorInfo * | src0, | ||
const ITensorInfo * | src1, | ||
const ITensorInfo * | src2, | ||
ITensorInfo * | dst, | ||
const Conv3dInfo & | conv3d_info | ||
) |
Set the src and dst tensors.
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] | compile_context | The compile context to be used. |
[in] | src0 | Source tensor. 4 lower dimensions represent a single src [IFM, width, height, depth], while every optional dimension from 5 and above represent a batch of srcs. |
[in] | src1 | Weights tensor. Weights are 5D tensor with dimensions [OFM, IFM, kernel_w, kernel_h, kernel_d]. |
[in] | src2 | Biases tensor. Shared biases supported. Biases are 1D tensor with dimensions [OFM]. |
[out] | dst | Destination tensor. 4 lower dimensions represent a single dst [OFM, width, height, depth], while the rest represent batch of dsts. |
[in] | conv3d_info | Contains strides, padding, rounding, activation, dilation and fast math information. Activation and fast math are currently unused. |
Definition at line 34 of file ClDirectConv3d.cpp.
References ARM_COMPUTE_ERROR_ON_NULLPTR, and arm_compute::test::validation::dst.
|
overridevirtual |
Run the kernels contained in the function.
[in] | tensors | Vector that contains the tensors to operate on. |
Reimplemented from ICLOperator.
Definition at line 59 of file ClDirectConv3d.cpp.
References CLScheduler::enqueue_op(), and CLScheduler::get().
|
static |
Static function to check if given info will lead to a valid configuration.
Similar to ClDirectConv3d::configure()
Definition at line 49 of file ClDirectConv3d.cpp.
References ARM_COMPUTE_RETURN_ON_ERROR, arm_compute::test::validation::dst, and ClDirectConv3dKernel::validate().
Referenced by CLConv3D::validate().