21.02
|
Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by the inverse of the sum of the logits. More...
#include <GCSoftmaxLayerKernel.h>
Public Member Functions | |
GCLogits1DNormKernel () | |
Default constructor. More... | |
GCLogits1DNormKernel (const GCLogits1DNormKernel &)=delete | |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
GCLogits1DNormKernel & | operator= (const GCLogits1DNormKernel &)=delete |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
GCLogits1DNormKernel (GCLogits1DNormKernel &&)=default | |
Allow instances of this class to be moved. More... | |
GCLogits1DNormKernel & | operator= (GCLogits1DNormKernel &&)=default |
Allow instances of this class to be moved. More... | |
void | configure (const IGCTensor *input, const IGCTensor *sum, IGCTensor *output) |
Set the input and output tensors. More... | |
void | run (const Window &window) override |
Enqueue the OpenGL ES shader to process the given window. More... | |
Public Member Functions inherited from IGCKernel | |
IGCKernel () | |
Constructor. More... | |
GCKernel & | kernel () |
Returns a reference to the GLES kernel of this object. More... | |
void | add_1D_tensor_argument (unsigned int &idx, const IGCTensor *tensor, const unsigned int binding_point, const Window &window) |
Add the passed 1D tensor's parameters to the object's kernel's arguments starting from the index idx. More... | |
void | add_2D_tensor_argument (unsigned int &idx, const IGCTensor *tensor, const unsigned int binding_point, const Window &window) |
Add the passed 2D tensor's parameters to the object's kernel's arguments starting from the index idx. More... | |
void | add_3D_tensor_argument (unsigned int &idx, const IGCTensor *tensor, const unsigned int binding_point, const Window &window) |
Add the passed 3D tensor's parameters to the object's kernel's arguments starting from the index idx. More... | |
unsigned int | num_arguments_per_1D_tensor () const |
Returns the number of arguments enqueued per 1D tensor object. More... | |
unsigned int | num_arguments_per_2D_tensor () const |
Returns the number of arguments enqueued per 2D tensor object. More... | |
unsigned int | num_arguments_per_3D_tensor () const |
Returns the number of arguments enqueued per 3D tensor object. More... | |
void | set_lws_hint (gles::NDRange &lws_hint) |
Set the Local-Workgroup-Size hint. More... | |
void | set_target (GPUTarget target) |
Set the targeted GPU architecture. More... | |
GPUTarget | get_target () const |
Get the targeted GPU architecture. More... | |
Public Member Functions inherited from IKernel | |
IKernel () | |
Constructor. More... | |
virtual | ~IKernel ()=default |
Destructor. More... | |
virtual bool | is_parallelisable () const |
Indicates whether or not the kernel is parallelisable. More... | |
virtual BorderSize | border_size () const |
The size of the border for that kernel. More... | |
const Window & | window () const |
The maximum window the kernel can be executed on. More... | |
Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by the inverse of the sum of the logits.
Definition at line 79 of file GCSoftmaxLayerKernel.h.
Default constructor.
Definition at line 199 of file GCSoftmaxLayerKernel.cpp.
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
|
default |
Allow instances of this class to be moved.
Set the input and output tensors.
[in] | input | Source tensor. Data types supported: F16/F32 |
[in] | sum | Sum tensor. Dimensions should be dim(input)-1. Data types supported: same as input |
[out] | output | Destination tensor. Data types supported: same as input |
Definition at line 204 of file GCSoftmaxLayerKernel.cpp.
References ARM_COMPUTE_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN, ARM_COMPUTE_ERROR_ON_MISMATCHING_DATA_TYPES, ARM_COMPUTE_ERROR_ON_MISMATCHING_SHAPES, ARM_COMPUTE_ERROR_ON_NULLPTR, arm_compute::auto_init_if_empty(), arm_compute::calculate_max_window(), GCKernelLibrary::create_kernel(), ITensorInfo::data_type(), ITensorInfo::dimension(), arm_compute::F16, arm_compute::F32, GCKernelLibrary::get(), ITensor::info(), arm_compute::test::validation::input, num_elems_processed_per_iteration, sum(), ITensorInfo::tensor_shape(), arm_compute::support::cpp11::to_string(), arm_compute::update_window_and_padding(), and ITensorInfo::valid_region().
Referenced by GCSoftmaxLayer::configure().
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
|
default |
Allow instances of this class to be moved.
|
overridevirtual |
Enqueue the OpenGL ES shader to process the given window.
[in] | window | Region on which to execute the kernel. (Must be a valid region of the window returned by window()). |
Implements IGCKernel.
Definition at line 252 of file GCSoftmaxLayerKernel.cpp.
References IGCKernel::add_3D_tensor_argument(), ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW, ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL, Window::collapse_if_possible(), Window::DimX, Window::DimZ, arm_compute::enqueue(), Window::first_slice_window_3D(), Window::set(), arm_compute::test::validation::reference::slice(), Window::slide_window_slice_3D(), and IKernel::window().