View source: R/create_model_set_learning.R
create_model_lstm_cnn_time_dist | R Documentation |
Creates a network consisting of an arbitrary number of CNN, LSTM and dense layers. Input is a 4D tensor, where axis correspond to:
batch size
number of samples in one batch
length of one sample
size of vocabulary
After LSTM/CNN part all representations get aggregated by summation. Can be used to make single prediction for combination of multiple input sequences. Architecture is equivalent to create_model_lstm_cnn_multi_input but instead of multiple input layers with 3D input, input here in one 4D tensor.
create_model_lstm_cnn_time_dist(
maxlen = 50,
dropout_lstm = 0,
recurrent_dropout_lstm = 0,
layer_lstm = NULL,
layer_dense = c(4),
solver = "adam",
learning_rate = 0.001,
vocabulary_size = 4,
bidirectional = FALSE,
stateful = FALSE,
batch_size = NULL,
compile = TRUE,
kernel_size = NULL,
filters = NULL,
strides = NULL,
pool_size = NULL,
padding = "same",
dilation_rate = NULL,
gap_time_dist = NULL,
use_bias = TRUE,
zero_mask = FALSE,
label_smoothing = 0,
label_noise_matrix = NULL,
last_layer_activation = "softmax",
loss_fn = "categorical_crossentropy",
auc_metric = FALSE,
f1_metric = FALSE,
samples_per_target,
batch_norm_momentum = 0.99,
verbose = TRUE,
model_seed = NULL,
aggregation_method = NULL,
transformer_args = NULL,
lstm_time_dist = NULL,
mixed_precision = FALSE,
bal_acc = FALSE,
mirrored_strategy = NULL
)
maxlen |
Length of predictor sequence. |
dropout_lstm |
Fraction of the units to drop for inputs. |
recurrent_dropout_lstm |
Fraction of the units to drop for recurrent state. |
layer_lstm |
Number of cells per network layer. Can be a scalar or vector. |
layer_dense |
Vector specifying number of neurons per dense layer after last LSTM or CNN layer (if no LSTM used). |
solver |
Optimization method, options are |
learning_rate |
Learning rate for optimizer. |
vocabulary_size |
Number of unique character in vocabulary. |
bidirectional |
Use bidirectional wrapper for lstm layers. |
stateful |
Boolean. Whether to use stateful LSTM layer. |
batch_size |
Number of samples that are used for one network update. Only used if |
compile |
Whether to compile the model. |
kernel_size |
Size of 1d convolutional layers. For multiple layers, assign a vector. (e.g, |
filters |
Number of filters. For multiple layers, assign a vector. |
strides |
Stride values. For multiple layers, assign a vector. |
pool_size |
Integer, size of the max pooling windows. For multiple layers, assign a vector. |
padding |
Padding of CNN layers, e.g. |
dilation_rate |
Integer, the dilation rate to use for dilated convolution. |
gap_time_dist |
Pooling or flatten method after last time distribution wrapper. Same options as for |
use_bias |
Boolean. Usage of bias for CNN layers. |
zero_mask |
Boolean, whether to apply zero masking before LSTM layer. Only used if model does not use any CNN layers. |
label_smoothing |
Float in [0, 1]. If 0, no smoothing is applied. If > 0, loss between the predicted labels and a smoothed version of the true labels, where the smoothing squeezes the labels towards 0.5. The closer the argument is to 1 the more the labels get smoothed. |
label_noise_matrix |
Matrix of label noises. Every row stands for one class and columns for percentage of labels in that class. If first label contains 5 percent wrong labels and second label no noise, then
|
last_layer_activation |
Activation function of output layer(s). For example |
loss_fn |
Either |
auc_metric |
Whether to add AUC metric. |
f1_metric |
Whether to add F1 metric. |
samples_per_target |
Number of samples to combine for one target. |
batch_norm_momentum |
Momentum for the moving mean and the moving variance. |
verbose |
Boolean. |
model_seed |
Set seed for model parameters in tensorflow if not |
aggregation_method |
At least one of the options |
transformer_args |
List of arguments for transformer blocks; see layer_transformer_block_wrapper.
Additionally, list can contain |
lstm_time_dist |
Vector containing number of units per LSTM cell. Applied after time distribution part. |
mixed_precision |
Whether to use mixed precision (https://www.tensorflow.org/guide/mixed_precision). |
bal_acc |
Whether to add balanced accuracy. |
mirrored_strategy |
Whether to use distributed mirrored strategy. If NULL, will use distributed mirrored strategy only if >1 GPU available. |
A keras model with time distribution wrapper applied to LSTM and CNN layers.
# Examples needs keras attached to run
maxlen <- 50
library(keras)
create_model_lstm_cnn_time_dist(
maxlen = maxlen,
vocabulary_size = 4,
samples_per_target = 7,
kernel_size = c(10, 10),
filters = c(64, 128),
pool_size = c(2, 2),
layer_lstm = c(32),
aggregation_method = c("max"),
layer_dense = c(64, 2),
learning_rate = 0.001)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.