37 : _kernel(nullptr), _border_handler(), _shift_handler()
48 auto k = std::make_unique<GCDirectConvolutionLayer1x1Kernel>();
49 k->configure(input, weights, biases, output, conv_info, act_info);
50 _kernel = std::move(k);
52 else if(kernel_size == 3)
54 auto k = std::make_unique<GCDirectConvolutionLayer3x3Kernel>();
55 k->configure(input, weights, biases, output, conv_info, act_info);
56 _kernel = std::move(k);
58 else if(kernel_size == 5)
60 auto k = std::make_unique<GCDirectConvolutionLayer5x5Kernel>();
61 k->configure(input, weights, biases, output, conv_info, act_info);
62 _kernel = std::move(k);
Class describing the value of a pixel for any image format.
void configure(IGCTensor *input, const IGCTensor *weights, const IGCTensor *biases, IGCTensor *output, const PadStrideInfo &conv_info, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Set the input and output tensors.
virtual size_t dimension(size_t index) const =0
Return the size of the requested dimension.
void dispatch(IGCKernel &kernel, bool flush=true)
Schedule the execution of the passed kernel if possible.
#define ARM_COMPUTE_ERROR(msg)
Print the given message then throw an std::runtime_error.
void memory_barrier()
Defines a barrier ordering memory transactions.
Interface for GLES Compute tensor.
Activation Layer Information class.
Copyright (c) 2017-2021 Arm Limited.
GCDirectConvolutionLayer()
Default constructor.
static GCScheduler & get()
Access the scheduler singleton.
void configure(const IGCTensor *tensor, BorderSize border_size, BorderMode border_mode, const PixelValue &constant_border_value=PixelValue())
Initialise the kernel's input, output and border mode.
virtual ITensorInfo * info() const =0
Interface to be implemented by the child class to return the tensor's metadata.
void run() override final
Run the kernels contained in the function.
Padding and stride information class.
Interface to enqueue GLES kernels and get/set the GLES CommandQueue.
void configure(IGCTensor *input)
Set the input of the kernel.