38 struct CLDirectConvolutionLayer::Impl
40 const ICLTensor *
src{
nullptr };
41 const ICLTensor *weights{
nullptr };
42 const ICLTensor *biases{
nullptr };
43 ICLTensor *
dst{
nullptr };
44 std::unique_ptr<opencl::ClDirectConv2d> op{
nullptr };
48 : _impl(
std::make_unique<Impl>())
67 _impl->weights = weights;
68 _impl->biases = biases;
71 _impl->op = std::make_unique<opencl::ClDirectConv2d>();
72 _impl->op->configure(compile_context, input->
info(), weights->
info(), (biases !=
nullptr) ? biases->
info() :
nullptr, output->
info(),
conv_info, act_info);
static Status validate(const ITensorInfo *src, const ITensorInfo *weights, const ITensorInfo *biases, const ITensorInfo *dst, const PadStrideInfo &conv_info, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Static function to check if given info will lead to a valid configuration.
CLDirectConvolutionLayer & operator=(const CLDirectConvolutionLayer &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...
void run() override
Run the kernels contained in the function.
void configure(ICLTensor *input, const ICLTensor *weights, const ICLTensor *biases, ICLTensor *output, const PadStrideInfo &conv_info, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Set the input and output tensors.
static CLKernelLibrary & get()
Access the KernelLibrary singleton.
Store the tensor's metadata.
static Status validate(const ITensorInfo *input, const ITensorInfo *weights, const ITensorInfo *biases, const ITensorInfo *output, const PadStrideInfo &conv_info, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Static function to check if given info will lead to a valid configuration of CLDirectConvolutionLayer...
Activation Layer Information class.
SimpleTensor< float > src
Copyright (c) 2017-2022 Arm Limited.
Interface to enqueue OpenCL kernels and get/set the OpenCL CommandQueue and ICLTuner.
virtual ITensorInfo * info() const =0
Interface to be implemented by the child class to return the tensor's metadata.
Padding and stride information class.
Interface for OpenCL tensor.
CLDirectConvolutionLayer()
Constructor.
#define ARM_COMPUTE_LOG_PARAMS(...)
#define ARM_COMPUTE_ERROR_ON_NULLPTR(...)
~CLDirectConvolutionLayer()
Destructor.
Basic function to execute direct convolution function:
void add_tensor(int id, ITensor *tensor)
Add tensor to the pack.