The “layer_flatten” Function in R

  • Package: keras

  • Purpose: Flatten the input while maintaining the batch size.

  • General class: Layer

  • Required argument(s): None

  • Notable optional arguments: None

  • Example:

  • # Load the required library
    library(keras)

    # Define a simple neural network model with a flatten layer
    model <- keras_model_sequential() %>%
    layer_conv_2d(filters = 32, kernel_size = c(3, 3), activation = 'relu', input_shape = c(28, 28, 1)) %>%
    layer_max_pooling_2d(pool_size = c(2, 2)) %>%
    layer_flatten() %>%
    layer_dense(units = 128, activation = 'relu') %>%
    layer_dense(units = 10, activation = 'softmax')

    # Compile the model
    model %>% compile(
    loss = 'categorical_crossentropy',
    optimizer = optimizer_adam(),
    metrics = c('accuracy')
    )

    # Summary of the model
    summary(model)

  • In this example, the layer_flatten function from the keras package is used to flatten the input while preserving the batch size. The model starts with a 2D convolutional layer followed by a max pooling layer. The layer_flatten function is then used to flatten the output of the max pooling layer, transforming it into a 1D vector, which can be fed into the fully connected dense layers that follow. This is commonly used in convolutional neural networks to transition from convolutional layers to dense layers.

Previous
Previous

The “layer_conv_2d” Function in R

Next
Next

The “layer_dropout” Function in R