Interface for the NEON kernel to perform Winograd output transform.
More...
#include <NEWinogradConvolutionLayerKernel.h>
|
virtual unsigned int | get_output_storage_size (int n_batches, int n_rows, int n_cols, int n_output_channels, bool same_padding) const =0 |
| Determine how much memory (in units of TOut) to allocate for the (Winograd domain) output. More...
|
|
virtual int | get_matrix_stride (const KernelShape &kernel_shape, const Tensor4DShape &input_shape, const PaddingType padding_type) const =0 |
| Gets the stride between matrices in the output worspace. More...
|
|
virtual Tensor4DShape | get_output_shape (const KernelShape &kernel_shape, const Tensor4DShape &in_shape, const PaddingType padding) const =0 |
| Get the output shape of a convolution. More...
|
|
virtual void | configure (const ITensor *biases, const T *const output_workingspace, const int matrix_stride, T *const output, const int n_batches, const int n_rows, const int n_cols, const int n_channels)=0 |
| Configure the output transform kernel. More...
|
|
virtual | ~INEWinogradLayerTransformOutputKernel () |
|
virtual | ~ICPPKernel ()=default |
| Default destructor. More...
|
|
virtual void | run (const Window &window, const ThreadInfo &info)=0 |
| Execute the kernel on the passed window. More...
|
|
virtual const char * | name () const =0 |
| Name of the kernel. More...
|
|
| 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...
|
|
template<typename T>
class arm_compute::INEWinogradLayerTransformOutputKernel< T >
Interface for the NEON kernel to perform Winograd output transform.
Definition at line 171 of file NEWinogradConvolutionLayerKernel.h.
virtual void configure |
( |
const ITensor * |
biases, |
|
|
const T *const |
output_workingspace, |
|
|
const int |
matrix_stride, |
|
|
T *const |
output, |
|
|
const int |
n_batches, |
|
|
const int |
n_rows, |
|
|
const int |
n_cols, |
|
|
const int |
n_channels |
|
) |
| |
|
pure virtual |
Configure the output transform kernel.
- Parameters
-
[in] | biases | Pointer to the biases tensor. |
[in] | output_workingspace | Pointer to working space for the output tensor in the Winograd domain. |
[in] | matrix_stride | Output matrix stride, can be computed with winograd::WinogradGEMM<2, 2, 3, 3>::Convolution<float, float>::get_output_matrix_stride() |
[out] | output | Pointer to NHWC ordered output tensor, in the spatial domain. |
[in] | n_batches | Number of batches in the input tensor. |
[in] | n_rows | Number of rows in output tensor. |
[in] | n_cols | Number of columns in output tensor. |
[in] | n_channels | Number of feature maps in the output tensor. |
Implemented in NEWinogradLayerTransformOutputKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >.
virtual int get_matrix_stride |
( |
const KernelShape & |
kernel_shape, |
|
|
const Tensor4DShape & |
input_shape, |
|
|
const PaddingType |
padding_type |
|
) |
| const |
|
pure virtual |
virtual Tensor4DShape get_output_shape |
( |
const KernelShape & |
kernel_shape, |
|
|
const Tensor4DShape & |
in_shape, |
|
|
const PaddingType |
padding |
|
) |
| const |
|
pure virtual |
virtual unsigned int get_output_storage_size |
( |
int |
n_batches, |
|
|
int |
n_rows, |
|
|
int |
n_cols, |
|
|
int |
n_output_channels, |
|
|
bool |
same_padding |
|
) |
| const |
|
pure virtual |
Determine how much memory (in units of TOut) to allocate for the (Winograd domain) output.
- Parameters
-
[in] | n_batches | Number of batches in the output tensor. |
[in] | n_rows | Number of rows in each feature map of the input tensor. |
[in] | n_cols | Number of columns in each feature map of the input tensor. |
[in] | n_output_channels | Number of feature maps in the output tensor. |
[in] | same_padding | Use "SAME" padding, otherwise use "VALID". |
- Returns
- Storage size (in units of TOut) required.
Implemented in NEWinogradLayerTransformOutputKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >.
The documentation for this class was generated from the following file: