21.02
|
Basic function to execute a depthwise convolution for kernel size 3x3xC. More...
#include <GCDepthwiseConvolutionLayer.h>
Public Member Functions | |
GCDepthwiseConvolutionLayer3x3 () | |
Default constructor. More... | |
void | configure (IGCTensor *input, const IGCTensor *weights, const IGCTensor *biases, IGCTensor *output, const PadStrideInfo &conv_info, unsigned int depth_multiplier=1, const ActivationLayerInfo &act_info=ActivationLayerInfo(), const Size2D &dilation=Size2D(1U, 1U)) |
Initialize the function's source, destination, conv and border_size. More... | |
void | run () override final |
Run the kernels contained in the function. More... | |
Public Member Functions inherited from IFunction | |
virtual | ~IFunction ()=default |
Destructor. More... | |
virtual void | prepare () |
Prepare the function for executing. More... | |
Basic function to execute a depthwise convolution for kernel size 3x3xC.
This function calls the following OpenGLES kernels:
Definition at line 46 of file GCDepthwiseConvolutionLayer.h.
Default constructor.
Definition at line 32 of file GCDepthwiseConvolutionLayer.cpp.
void configure | ( | IGCTensor * | input, |
const IGCTensor * | weights, | ||
const IGCTensor * | biases, | ||
IGCTensor * | output, | ||
const PadStrideInfo & | conv_info, | ||
unsigned int | depth_multiplier = 1 , |
||
const ActivationLayerInfo & | act_info = ActivationLayerInfo() , |
||
const Size2D & | dilation = Size2D(1U, 1U) |
||
) |
Initialize the function's source, destination, conv and border_size.
[in,out] | input | Source tensor. Data type supported: F16. (Written to only for border filling). |
[in] | weights | Weights tensor. A 3D tensor with shape [3, 3, IFM]. Data type supported: Same as input . |
[in] | biases | Biases tensor. A 1D tensor with shape [IFM]. Must be nullptr if not needed. Data type supported: Same as input . |
[out] | output | Destination tensor. Data type supported: same as input . |
[in] | conv_info | Padding and stride information to use for the convolution. |
[in] | depth_multiplier | (Optional) Multiplier to apply to the input's depth in order to retrieve the output's depth. Defaults to 1. |
[in] | act_info | (Optional) Activation layer information in case of a fused activation. |
[in] | dilation | (Optional) Dilation, in elements, across x and y. Defaults to (1, 1). Currently supports (1,1) only. |
Definition at line 37 of file GCDepthwiseConvolutionLayer.cpp.
References ARM_COMPUTE_ERROR_ON, ARM_COMPUTE_UNUSED, GCFillBorderKernel::configure(), GCActivationLayer::configure(), GCTensorShiftKernel::configure(), arm_compute::CONSTANT, ActivationLayerInfo::enabled(), Size2D::x(), and Size2D::y().
|
finaloverridevirtual |
Run the kernels contained in the function.
For Neon kernels:
For OpenCL kernels:
Implements IFunction.
Definition at line 60 of file GCDepthwiseConvolutionLayer.cpp.
References GCScheduler::dispatch(), GCScheduler::get(), GCScheduler::memory_barrier(), and IGCSimpleFunction::run().