24 #ifndef ARM_COMPUTE_CLGEMMCONVOLUTIONLAYER_H 25 #define ARM_COMPUTE_CLGEMMCONVOLUTIONLAYER_H 46 class CLWeightsReshapeKernel;
101 std::unique_ptr<CLWeightsReshapeKernel> _weights_reshape_kernel;
104 namespace weights_transformations
129 _bias_bit = (biases !=
nullptr) ? 1 : 0;
131 _func.configure(compile_context, input, biases, &_output, num_groups);
137 _output.allocator()->allocate();
151 _output.allocator()->free();
157 return ((0x9) | (_bias_bit << 7) | (_num_groups << 8));
163 int32_t _bias_bit{ 0 };
164 unsigned int _num_groups{ 0 };
304 std::unique_ptr<CLIm2ColKernel> _im2col_kernel;
307 std::unique_ptr<CLCol2ImKernel> _col2im_kernel;
319 bool _fuse_activation;
Base class for all functions.
Basic function to compute the convolution layer.
static CLKernelLibrary & get()
Access the KernelLibrary singleton.
Store the tensor's metadata.
Basic function to run opencl::kernels::ClActivationKernel.
Activation Layer Information class.
Copyright (c) 2017-2021 Arm Limited.
Convolution Layer Weights Information class.
virtual void prepare()
Prepare the function for executing.
CLConvolutionLayerReshapeWeights & operator=(const CLConvolutionLayerReshapeWeights &)=delete
Prevent instances of this class from being copied.
Basic function to execute GEMM on OpenCL.
const unsigned int num_groups
CLConvolutionLayerReshapeWeights()
Constructor.
GEMMLowp output stage info.
Padding and stride information class.
Weights manager interface to handle weights transformations.
static Status validate(const ITensorInfo *weights, const ITensorInfo *biases, const ITensorInfo *output, unsigned int num_groups=1)
Static function to check if given info will lead to a valid configuration of CLConvolutionLayerReshap...
Function to reshape and transpose the weights.
Interface for OpenCL tensor.
Manages all the OpenCL kernels compilation and caching, provides accessors for the OpenCL Context...
Class for specifying the size of an image or rectangle.
~CLConvolutionLayerReshapeWeights()
Default destructor.
Basic function to execute GEMMLowpMatrixMultiplyCore on OpenCL.
void configure(const ICLTensor *weights, const ICLTensor *biases, ICLTensor *output, unsigned int num_groups=1)
Set the input and output tensors.
void run() override
Run the kernels contained in the function.
Basic implementation of the OpenCL tensor interface.