Main Content

Deep learning convolution

The convolution operation applies sliding filters to the input data. Use 1-D and 2-D filters with ungrouped or grouped convolutions and 3-D filters with ungrouped convolutions.

Use grouped convolution for channel-wise separable (also known as depth-wise separable)
convolution. For each group, the operation convolves the input by moving filters along spatial
dimensions of the input data, computing the dot product of the weights and the data and adding
a bias. If the number of groups is equal to the number of channels, then this function
performs channel-wise convolution. If the number of groups is equal to `1`

,
this function performs ungrouped convolution.

**Note**

This function applies the deep learning convolution operation to `dlarray`

data. If
you want to apply convolution within a `layerGraph`

object
or `Layer`

array, use
one of the following layers:

computes the deep learning convolution of the input `dlY`

= dlconv(`dlX`

,`weights`

,`bias`

)`dlX`

using sliding
convolutional filters defined by `weights`

, and adds a constant
`bias`

. The input `dlX`

is a formatted
`dlarray`

with dimension labels. Convolution acts on dimensions that you
specify as `'S'`

dimensions. The output `dlY`

is a
formatted `dlarray`

with the same dimension labels as
`dlX`

.

specifies options using one or more name-value pair arguments in addition to the input
arguments in previous syntaxes. For example, `dlY`

= dlconv(___`Name,Value`

)`'Stride',3`

sets the stride
of the convolution operation.

`batchnorm`

| `dlarray`

| `dlfeval`

| `dlgradient`

| `fullyconnect`

| `maxpool`

| `relu`