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