Welcome to our Support Center

DepthwiseConv2D

Description

Define the depthwise convolution 2D layer according to its parameters. To be used for the TimeDistributed layer. Type : polymorphic.

 

Input parameters

 

parameters : layer parameters.

ย sizeย :ย arrayย integer, specify the height and width of the 2D convolution window. Can be a single integer to specify the same value for all spatial dimensions.
Default value โ€œ[3,3]โ€.
ย strideย :ย arrayย integer, specify the strides of the convolution along the height and width. Can be a single integer to specify the same value for all spatial dimensions.
Default value โ€œ[1,1]โ€.
ย activationย :ย enum, activation function to use.
Default value โ€œreluโ€.
ย optimizer :

ย algorithmย :ย enum, (name of optimizer) for optimizer instance.
Default value โ€œadamโ€.
ย learning_rate :ย float, define the learning rate to use.
Default value โ€œ0.001โ€.
ย beta_1 :ย float, define the exponential decay rate for the 1st moment estimates.
Default value โ€œ0.9โ€.
ย beta_2 :ย float, define the exponential decay rate for the 2nd moment estimates.
Default value โ€œ0.999โ€.

ย use_bias? :ย boolean, whether the layer uses a bias vector.
Default value โ€œTrueโ€.
ย paddingย :ย boolean, False = โ€œvalidโ€ means no padding. True = โ€œ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.
Default value โ€œFalseโ€.
ย data_format :ย enum, one ofย channels_lastย orย channels_firstย (default) . The ordering of the dimensions in the inputs.ย channel_lastย corresponds to inputs with shapeย (batch, steps, features)ย whileย channels_firstย corresponds to inputs with shapeย (batch, features, steps).
Default value โ€œchannels_firstโ€.
ย depthwise_filter_initializerย :ย enum, initializer for the depthwise kernel matrix.
Default value โ€œglorot_uniformโ€.
ย bias_initializerย :ย enum, initializer for the bias vector.
Default value โ€œzeroโ€.
ย training?ย :ย boolean, whether the layer is in training mode (can store data for backward).
Default value โ€œTrueโ€.
ย store?ย :ย boolean, whether the layer stores the last iteration gradient (accessible via the โ€œget_gradientsโ€ function).
Default value โ€œFalseโ€.
ย update?ย :ย boolean, whether the layerโ€™s variables should be updated during backward. Equivalent to freeze the layer.
Default value โ€œTrueโ€.
ย lda_coeff :ย float, defines the coefficient by which the loss derivative will be multiplied before being sent to the previous layer (since during the backward run we go backwards).
Default value โ€œ1โ€.

 

Output parameters

 

ย DepthwiseConv2D out : layer depthwise convolution 2D architecture.

Example

All these exemples are snippets PNG, you can drop these Snippet onto the block diagram and get the depicted code added to your VI (Do not forget to install HAIBAL library to run it).

DepthwiseConv2D layer inside TimeDistributed layer

1 – Generate a set of data

We generate an array of data of type single and shape [batch_size, time, channels, rows, cols] (channel first is default layer configuration).
In case of channel last layer configuration, shape is [batch_size, time, rows, cols, channels].

2 – Define graph

First, we define the first layer of the graph which is an Input layer (explicit input layer method). This layer is setup as an input array shaped [time = 6, channels = 5, rows = 128, cols = 128].
Then, we add to the graph the TimeDistributed layer which we setup with a DepthwiseConv2D layer using the define method.

3 – Run graph

We call the forward method and retrieve the result with the โ€œPrediction 5Dโ€ method.
This method returns two variables, the first one is the layer information (cluster composed of the layer name, the graph index and the shape of the output layer) and the second one is the prediction with a shape of [batch_size, time, channels, new_rows, new_cols].

 

Table of Contents
Index