# layer_depthwise_conv_1d

## Depthwise 1D convolution

## Description

Depthwise 1D convolution

## Usage

```
layer_depthwise_conv_1d(
object,
kernel_size, strides = 1L,
padding = "valid",
depth_multiplier = 1L,
data_format = NULL,
dilation_rate = 1L,
activation = NULL,
use_bias = TRUE,
depthwise_initializer = "glorot_uniform",
bias_initializer = "zeros",
depthwise_regularizer = NULL,
bias_regularizer = NULL,
activity_regularizer = NULL,
depthwise_constraint = NULL,
bias_constraint = NULL,
... )
```

## Arguments

Arguments | Description |
---|---|

object | What to compose the new `Layer` instance with. Typically a Sequential model or a Tensor (e.g., as returned by `layer_input()` ). The return value depends on `object` . If `object` is: - missing or `NULL` , the `Layer` instance is returned. - a `Sequential` model, the model with an additional layer is returned. - a Tensor, the output tensor from `layer_instance(object)` is returned. |

kernel_size | An integer, specifying the height and width of the 1D convolution window. Can be a single integer to specify the same value for all spatial dimensions. |

strides | An integer, specifying the strides of the convolution along the height and width. Can be a single integer to specify the same value for all spatial dimensions. Specifying any stride value != 1 is incompatible with specifying any `dilation_rate` value != 1. |

padding | one of `'valid'` or `'same'` (case-insensitive). `"valid"` means no padding. `"same"` results in padding with zeros evenly to the left/right or up/down of the input such that output has the same height/width dimension as the input. |

depth_multiplier | The number of depthwise convolution output channels for each input channel. The total number of depthwise convolution output channels will be equal to `filters_in * depth_multiplier` . |

data_format | A string, one of `"channels_last"` (default) or `"channels_first"` . The ordering of the dimensions in the inputs. `channels_last` corresponds to inputs with shape `(batch_size, height, width, channels)` while `channels_first` corresponds to inputs with shape `(batch_size, channels, height, width)` . It defaults to the `image_data_format` value found in your Keras config file at `~/.keras/keras.json` . If you never set it, then it will be ‘channels_last’. |

dilation_rate | A single integer, specifying the dilation rate to use for dilated convolution. Currently, specifying any `dilation_rate` value != 1 is incompatible with specifying any stride value != 1. |

activation | Activation function to use. If you don’t specify anything, no activation is applied (see `?activation_relu` ). |

use_bias | Boolean, whether the layer uses a bias vector. |

depthwise_initializer | Initializer for the depthwise kernel matrix (see `initializer_glorot_uniform` ). If NULL, the default initializer (`"glorot_uniform"` ) will be used. |

bias_initializer | Initializer for the bias vector (see `keras.initializers` ). If NULL, the default initializer (‘zeros’) will be used. |

depthwise_regularizer | Regularizer function applied to the depthwise kernel matrix (see `regularizer_l1()` ). |

bias_regularizer | Regularizer function applied to the bias vector (see `regularizer_l1()` ). |

activity_regularizer | Regularizer function applied to the output of the layer (its ‘activation’) (see `regularizer_l1()` ). |

depthwise_constraint | Constraint function applied to the depthwise kernel matrix (see `constraint_maxnorm()` ). |

bias_constraint | Constraint function applied to the bias vector (see `constraint_maxnorm()` ). |

… | standard layer arguments. |

## Details

Depthwise convolution is a type of convolution in which each input channel is convolved with a different kernel (called a depthwise kernel). You can understand depthwise convolution as the first step in a depthwise separable convolution. It is implemented via the following steps:

Split the input into individual channels.

Convolve each channel with an individual depthwise kernel with

`depth_multiplier`

output channels.Concatenate the convolved outputs along the channels axis.

Unlike a regular 1D convolution, depthwise convolution does not mix information across different input channels. The

`depth_multiplier`

argument determines how many filter are applied to one input channel. As such, it controls the amount of output channels that are generated per input channel in the depthwise step.

## See Also

https://www.tensorflow.org/api_docs/python/tf/keras/layers/DepthwiseConv1D

Other convolutional layers:

`layer_conv_1d_transpose()`

,`layer_conv_1d()`

,`layer_conv_2d_transpose()`

,`layer_conv_2d()`

,`layer_conv_3d_transpose()`

,`layer_conv_3d()`

,`layer_conv_lstm_2d()`

,`layer_cropping_1d()`

,`layer_cropping_2d()`

,`layer_cropping_3d()`

,`layer_depthwise_conv_2d()`

,`layer_separable_conv_1d()`

,`layer_separable_conv_2d()`

,`layer_upsampling_1d()`

,`layer_upsampling_2d()`

,`layer_upsampling_3d()`

,`layer_zero_padding_1d()`

,`layer_zero_padding_2d()`

,`layer_zero_padding_3d()`