SHOGUN  4.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
List of all members | Public Types | Static Public Member Functions
convolve< Backend, Matrix > Struct Template Reference

Detailed Description

template<enum Backend, class Matrix>
struct shogun::linalg::implementation::convolve< Backend, Matrix >

Generic class which is specialized for different backends to perform the convolve operation

Definition at line 60 of file Convolve.h.

Public Types

typedef Matrix::Scalar T
 

Static Public Member Functions

static void compute (Matrix X, Matrix W, Matrix Y, bool flip, bool overwrite, int32_t stride_x, int32_t stride_y)
 

Member Typedef Documentation

typedef Matrix::Scalar T

The scalar type

Definition at line 63 of file Convolve.h.

Member Function Documentation

static void compute ( Matrix  X,
Matrix  W,
Matrix  Y,
bool  flip,
bool  overwrite,
int32_t  stride_x,
int32_t  stride_y 
)
static

Computes the 2D convolution of X with W

NOTE: For the ViennaCL backend, the size of W (number of bytes) must not exceed CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE.

Parameters
XInput image
WFilter coefficients. The dimensions of the matrix must be odd-numbered.
YOutput image of the same size as the input image, as the borders of the input image are implicitly padded with zeros during the computation
flipIf true the filter coefficients are flipped, performing cross-correlation instead of convolution
overwriteIf true, the values in Y are overwritten with result of the computation. Otherwise, the result is added to the existing values in Y.
stride_xStride in the x (column) direction
stride_yStride in the y (row) direction

The documentation for this struct was generated from the following file:

SHOGUN Machine Learning Toolbox - Documentation