conv1d#
1D convolution
Performs a convolution operation of two inputs. Three convolution modes are available: full, same, and valid. The mode controls how much (if any) of the output is truncated to remove filter ramps. The method parameter allows either direct or FFT-based convolution. Direct performs the typical sliding-window dot product approach, whereas FFT uses the convolution theorem. The FFT method may be faster for large inputs, but both methods should be tested for the target input sizes.
-
template<typename In1Type, typename In2Type>
__MATX_INLINE__ auto matx::conv1d(const In1Type &i1, const In2Type &i2, matxConvCorrMode_t mode = MATX_C_MODE_FULL, matxConvCorrMethod_t method = MATX_C_METHOD_DIRECT)# 1D convolution
- Template Parameters:
In1Type – Type of first input
In2Type – Type of second input
- Parameters:
i1 – First input operator
i2 – Second input operator
mode – Convolution mode (FULL, SAME, or VALID)
method – Convolution method (direct or FFT). Only complex inputs are supported for FFT currently
Examples#
// 1D convolution in FULL mode where every output is stored
(this->cv = conv1d(this->av, this->bv, MATX_C_MODE_FULL)).run(this->exec);
(out2 = conv1d(in1, in2, {2}, MATX_C_MODE_SAME)).run(this->exec);
-
template<typename In1Type, typename In2Type>
__MATX_INLINE__ auto matx::conv1d(const In1Type &i1, const In2Type &i2, const int32_t (&axis)[1], matxConvCorrMode_t mode = MATX_C_MODE_FULL, matxConvCorrMethod_t method = MATX_C_METHOD_DIRECT)# 1D convolution
- Template Parameters:
In1Type – Type of first input
In2Type – Type of second input
- Parameters:
i1 – First input operator
i2 – Second input operator
axis – the axis to perform convolution
mode – Convolution mode (FULL, SAME, or VALID)
method – Convolution method (direct or FFT). Only complex inputs are supported for FFT currently
Examples#
(out2 = conv1d(in1, in2, {1}, MATX_C_MODE_SAME)).run(this->exec);