2D Convolution
- group NVCV_C_ALGORITHM_CONV2D
Functions
-
NVCVStatus cvcudaConv2DCreate(NVCVOperatorHandle *handle)
Constructs an instance of the Conv2D.
- Parameters
handle – [out] Where the operator instance handle will be written to.
Must not be NULL.
- Return values
NVCV_ERROR_INVALID_ARGUMENT – Handle is null.
NVCV_ERROR_OUT_OF_MEMORY – Not enough memory to create the operator.
NVCV_SUCCESS – Operation executed successfully.
-
NVCVStatus cvcudaConv2DVarShapeSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVImageBatchHandle in, NVCVImageBatchHandle out, NVCVImageBatchHandle kernel, NVCVTensorHandle kernelAnchor, NVCVBorderType borderMode)
Executes the Conv2D operation on the given cuda stream. This operation does not wait for completion.
Limitations:
Input: Data Layout: [kNHWC, kHWC] Channels: [1, 3, 4]
Data Type
Allowed
8bit Unsigned
Yes
8bit Signed
No
16bit Unsigned
Yes
16bit Signed
Yes
32bit Unsigned
No
32bit Signed
Yes
32bit Float
Yes
64bit Float
No
Output: Data Layout: [kNHWC, kHWC] Channels: [1, 3, 4]
Data Type
Allowed
8bit Unsigned
Yes
8bit Signed
No
16bit Unsigned
Yes
16bit Signed
Yes
32bit Unsigned
No
32bit Signed
Yes
32bit Float
Yes
64bit Float
No
Input/Output dependency
Property | Input == Output -------------- | ------------- Data Layout | Yes Data Type | Yes Number | Yes Channels | Yes Width | Yes Height | Yes
- Parameters
handle – [in] Handle to the operator.
Must not be NULL.
stream – [in] Handle to a valid CUDA stream.
in – [in] Input tensor.
out – [out] Output tensor.
kernel – [in] Convolution kernels (one for each batch image) to be used. Each image width and height correspond to the kernel width and height.
Must be of pixel type NVCV_DATA_TYPE_F32
kernelAnchor – [in] 1D Tensor with the anchor of each kernel (one for each batch image). The anchor (x, y) indicates the relative position of a filtered point within the kernel. (-1, -1) means that the anchor is at the kernel center.
Must be of pixel type NVCV_DATA_TYPE_2S32
borderMode – [in] Border mode to be used when accessing elements outside, cf.
NVCVBorderType
.
- Return values
NVCV_ERROR_INVALID_ARGUMENT – Some parameter is outside valid range.
NVCV_ERROR_INTERNAL – Internal error in the operator, invalid types passed in.
NVCV_SUCCESS – Operation executed successfully.
-
NVCVStatus cvcudaConv2DCreate(NVCVOperatorHandle *handle)