Welcome to our Support Center

Dense

Description

Setup and add the dense layer into the model during the definition graph step. Type : polymorphic.

 

Input parameters

 

Graph in : model architecture.

parameters : layer parameters.

units : integer, dimensionality of the output space.
activation : enum, activation function to use.
Default value “linear”.
use_bias? : boolean, whether the layer uses a bias vector.
Default value “True”.
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”.

weight_initializer : enum, initializer for the kernel weights 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”.

in/out param :

input_shape : integer array, shape (not including the batch axis). NB : To be used only if it is the first layer of the model.
 output_behavior : enum, setup if the layer is an output layer.
Default “Not Output”​​​.

name (optional) : string, name of the layer.

 

Output parameters

 

Graph out : model architecture.

Dimension

Input shape

N-Dimension tensor with shape: [batch Size, input_dim 1,…, input_dim N]. The most common situation would be a 2D input with shape [batch size, input_dim 1 = Input dimension].

 

Output shape

N-Dimension tensor with shape: [batch Size, units 1,…, units N]. For instance, for a 2D input with shape [batch size, input_dim 1], the output would have shape [batch size, units 1].

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).

Dense layer with explicit input layer

1 – Generate a set of data

We generate an array of data of type single and shape [batch_size = 10, input_dim = 5].

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 [input_dim = 5].
Then we add to the graph the Dense layer.

3 – Run graph

We call the forward method and retrieve the result with the “Prediction 2D” 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, units].

 

Dense layer with implicit input layer

1 – Generate a set of data

We generate an array of data of type single and shape [batch_size = 10, input_dim = 5].

2 – Define graph

First, we define the Dense layer as the input layer of the graph (implicit input layer method). To do this, we send in the “input_shape” variable of the “in/out param” cluster an array of shape [input_dim = 5].
An input layer will be implicitly created and the name of this input layer will be the same name as its parent prefixed with “input_”.
Then we add to the graph the Dense layer.

3 – Run graph

We call the forward method and retrieve the result with the “Prediction 2D” 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, units].

 

Dense layer, batch and dimension

1 – Generate a set of data

We generate an array of data of type single and shape [number of batch = 9, batch_size = 10, input_dim = 5].

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 [input_dim = 5].
Then we add to the graph the Dense layer.

3 – Run graph

We call the forward method and retrieve the result with the “Prediction 2D” 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, units].

 

(Expert) Train model with dense layers (2D)

1 – Define graph

We define a graph with one input layer (A batch of 1D tensor –> 2D array input data), two dense hidden layer and one output layer (A batch of 1D tensor –> 2D array predicted data – output data).

2 – Generate a set of data

We generate array of cosinus data dimensionnated of type single and shape [number of batch = 10, batch_size = 10, input_dim = 6] – 3D array

3 – Train model

We call the forward method  inside a batch loop (2D array) then we call 2D loss (Ytrue is a batch of 1D tensor –> 2D array predicted data – output true data) then we update weight of the model by using Backward function.

4 – Test model

Every epoch we sequentially make a prediction with the model on the complete dataset (1 Batch of all 1D tensor –> 2D array) and we read the predicted result.

 

(Expert) Train model with dense layers (3D)

1 – Define graph

We define a graph with one input layer (A batch of 2D tensor –> 3D array input data), two dense hidden layer and one output layer (A batch of 2D tensor –> 2D array predicted data – output data).

2 – Generate a set of data

We generate array of cosinus data dimensionnated of type single and shape [number of batch = 10, batch_size = 10, input_dim1 = 3, input_dim2 = 2] – 4D array

3 – Train model

We call the forward method  inside a batch loop (3D array) then we call 3D loss (Ytrue is a batch of 2D tensor –> 3D array predicted data – output true data) then we update weight of the model by using Backward function.

4 – Test model

Every epoch we sequentially make a prediction with the model on the complete dataset (1 Batch of all 2D tensor –> 3D array) and we read the predicted result. 

 

Table of Contents