Plot keras model

plot_model(model, ...)

Arguments

model

A keras model defined using keras::keras_model_sequential or keras::keras_model

...

not used

Examples

## ---- sequential ---- require(keras)
#> Loading required package: keras
#> Warning: package 'keras' was built under R version 3.5.2
# Sequential model with several different layers model <- keras_model_sequential() %>% layer_dense(10, input_shape = c(64, 64)) %>% layer_conv_1d(filters = 16, kernel_size = 8) %>% layer_max_pooling_1d() %>% layer_flatten() %>% layer_dense(25) %>% layer_dense(25, activation = "relu") %>% layer_dropout(0.25) %>% layer_dense(2, activation = "sigmoid") model
#> Model #> ________________________________________________________________________________ #> Layer (type) Output Shape Param # #> ================================================================================ #> dense_1 (Dense) (None, 64, 10) 650 #> ________________________________________________________________________________ #> conv1d_1 (Conv1D) (None, 57, 16) 1296 #> ________________________________________________________________________________ #> max_pooling1d_1 (MaxPooling1D) (None, 28, 16) 0 #> ________________________________________________________________________________ #> flatten_1 (Flatten) (None, 448) 0 #> ________________________________________________________________________________ #> dense_2 (Dense) (None, 25) 11225 #> ________________________________________________________________________________ #> dense_3 (Dense) (None, 25) 650 #> ________________________________________________________________________________ #> dropout_1 (Dropout) (None, 25) 0 #> ________________________________________________________________________________ #> dense_4 (Dense) (None, 2) 52 #> ================================================================================ #> Total params: 13,873 #> Trainable params: 13,873 #> Non-trainable params: 0 #> ________________________________________________________________________________ #> #>
model %>% plot_model() ## ---- network ---- # Model with several inputs and several outputs # Example from https://keras.rstudio.com/articles/functional_api.html model <- local({ main_input <- layer_input(shape = c(100), dtype = 'int32', name = 'main_input') lstm_out <- main_input %>% layer_embedding(input_dim = 10000, output_dim = 512, input_length = 100) %>% layer_lstm(units = 32) auxiliary_output <- lstm_out %>% layer_dense(units = 1, activation = 'sigmoid', name = 'aux_output') auxiliary_input <- layer_input(shape = c(5), name = 'aux_input') main_output <- layer_concatenate(c(lstm_out, auxiliary_input)) %>% layer_dense(units = 64, activation = 'relu') %>% layer_dense(units = 64, activation = 'relu') %>% layer_dense(units = 64, activation = 'relu') %>% layer_dense(units = 1, activation = 'sigmoid', name = 'main_output') keras_model( inputs = c(main_input, auxiliary_input), outputs = c(main_output, auxiliary_output) ) }) model
#> Model #> ________________________________________________________________________________ #> Layer (type) Output Shape Param # Connected to #> ================================================================================ #> main_input (InputLayer) (None, 100) 0 #> ________________________________________________________________________________ #> embedding_1 (Embedding) (None, 100, 512) 5120000 main_input[0][0] #> ________________________________________________________________________________ #> lstm_1 (LSTM) (None, 32) 69760 embedding_1[0][0] #> ________________________________________________________________________________ #> aux_input (InputLayer) (None, 5) 0 #> ________________________________________________________________________________ #> concatenate_1 (Concatenat (None, 37) 0 lstm_1[0][0] #> aux_input[0][0] #> ________________________________________________________________________________ #> dense_5 (Dense) (None, 64) 2432 concatenate_1[0][0] #> ________________________________________________________________________________ #> dense_6 (Dense) (None, 64) 4160 dense_5[0][0] #> ________________________________________________________________________________ #> dense_7 (Dense) (None, 64) 4160 dense_6[0][0] #> ________________________________________________________________________________ #> main_output (Dense) (None, 1) 65 dense_7[0][0] #> ________________________________________________________________________________ #> aux_output (Dense) (None, 1) 33 lstm_1[0][0] #> ================================================================================ #> Total params: 5,200,610 #> Trainable params: 5,200,610 #> Non-trainable params: 0 #> ________________________________________________________________________________ #> #>
model %>% plot_model()