Compute Library
 19.08
CLWinogradInputTransform Class Reference

Basic function to execute a CLWinogradInputTransformKernel. More...

#include <CLWinogradInputTransform.h>

Collaboration diagram for CLWinogradInputTransform:
[legend]

Public Member Functions

void configure (ICLTensor *input, ICLTensor *output, const WinogradInfo &winograd_info)
 Set the input and output tensors. More...
 
- Public Member Functions inherited from ICLSimpleFunction
 ICLSimpleFunction ()
 Default constructor. 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...
 

Static Public Member Functions

static Status validate (const ITensorInfo *input, const ITensorInfo *output, const WinogradInfo &winograd_info)
 Static function to check if given info will lead to a valid configuration of CLWinogradInputTransform. More...
 

Detailed Description

Basic function to execute a CLWinogradInputTransformKernel.

Definition at line 37 of file CLWinogradInputTransform.h.

Member Function Documentation

◆ configure()

void configure ( ICLTensor input,
ICLTensor output,
const WinogradInfo winograd_info 
)

Set the input and output tensors.

Note
Winograd input transform supports the following configurations for NCWH data layout F(output tile, kernel size):F(2x2, 3x3), F(2x1, 3x1), F(1x2, 1x3), F(4x4, 3x3), F(4x1, 3x1), F(1x4, 1x3), F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5)
Winograd input transform supports the following configurations for NHWC data layout F(output tile, kernel size):F(4x4, 3x3), F(4x1, 3x1), F(1x4, 1x3), F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5)

Strides: only unit strides

Parameters
[in]inputThe input tensor to transform. Data types supported: F16,F32
[in]outputThe output tensor. The shape for this tensor can be calculated using the utility function compute_winograd_input_transform_shape. Data types supported: Same as input
[in]winograd_infoContains Winograd's information described in WinogradInfo.

Definition at line 33 of file CLWinogradInputTransform.cpp.

34 {
35  auto k = arm_compute::support::cpp14::make_unique<CLWinogradInputTransformKernel>();
36  k->configure(input, output, winograd_info);
37  _kernel = std::move(k);
38  _border_handler.configure(input, _kernel->border_size(), BorderMode::CONSTANT, PixelValue());
39 }
Class describing the value of a pixel for any image format.
Definition: PixelValue.h:34

References arm_compute::CONSTANT, and arm_compute::test::validation::winograd_info.

Referenced by CLWinogradConvolutionLayer::configure().

◆ validate()

Status validate ( const ITensorInfo input,
const ITensorInfo output,
const WinogradInfo winograd_info 
)
static

Static function to check if given info will lead to a valid configuration of CLWinogradInputTransform.

Note
Winograd input transform supports the following configurations for NCWH data layout F(output tile, kernel size):F(2x2, 3x3), F(2x1, 3x1), F(1x2, 1x3), F(4x4, 3x3), F(4x1, 3x1), F(1x4, 1x3), F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5)
Winograd input transform supports the following configurations for NHWC data layout F(output tile, kernel size):F(4x4, 3x3), F(4x1, 3x1), F(1x4, 1x3), F(4x4, 5x5), F(4x1, 5x1), F(1x4, 1x5)

Strides: only unit strides

Parameters
[in]inputThe input tensor to transform. Data types supported: F16,F32
[in]outputThe output tensor. The shape for this tensor can be calculated using the utility function compute_winograd_input_transform_shape. Data types supported: Same as input
[in]winograd_infoContains Winograd's information described in WinogradInfo.
Returns
a status

Definition at line 41 of file CLWinogradInputTransform.cpp.

42 {
44  return Status{};
45 }
static Status validate(const ITensorInfo *input, const ITensorInfo *output, const WinogradInfo &winograd_info)
Static function to check if given info will lead to a valid configuration of CLWinogradInputTransform...
#define ARM_COMPUTE_RETURN_ON_ERROR(status)
Checks if a status contains an error and returns it.
Definition: Error.h:193
Status class.
Definition: Error.h:52

References ARM_COMPUTE_RETURN_ON_ERROR, CLWinogradInputTransformKernel::validate(), and arm_compute::test::validation::winograd_info.

Referenced by CLWinogradConvolutionLayer::validate().


The documentation for this class was generated from the following files: