Diff of /man/merge_models.Rd [000000] .. [409433]

Switch to side-by-side view

--- a
+++ b/man/merge_models.Rd
@@ -0,0 +1,55 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/create_model_utils.R
+\name{merge_models}
+\alias{merge_models}
+\title{Merge two models}
+\usage{
+merge_models(
+  models,
+  layer_names,
+  layer_dense,
+  solver = "adam",
+  learning_rate = 1e-04,
+  freeze_base_model = c(FALSE, FALSE),
+  model_seed = NULL
+)
+}
+\arguments{
+\item{models}{List of two models.}
+
+\item{layer_names}{Vector of length 2 with names of layers to merge.}
+
+\item{layer_dense}{Vector specifying number of neurons per dense layer after last LSTM or CNN layer (if no LSTM used).}
+
+\item{solver}{Optimization method, options are \verb{"adam", "adagrad", "rmsprop"} or \code{"sgd"}.}
+
+\item{learning_rate}{Learning rate for optimizer.}
+
+\item{freeze_base_model}{Boolean vector of length 2. Whether to freeze weights of individual models.}
+
+\item{model_seed}{Set seed for model parameters in tensorflow if not \code{NULL}.}
+}
+\value{
+A keras model merging two input models.
+}
+\description{
+Combine two models at certain layers and add dense layer(s) afterwards.
+}
+\examples{
+\dontshow{if (reticulate::py_module_available("tensorflow")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf}
+model_1 <- create_model_lstm_cnn(layer_lstm = c(64, 64), maxlen = 50, layer_dense = c(32, 4),
+                                 verbose = FALSE)
+model_2 <- create_model_lstm_cnn(layer_lstm = c(32), maxlen = 40, 
+                                 layer_dense = c(8, 2), verbose = FALSE)
+# get names of second to last layers
+num_layers_1 <- length(model_1$get_config()$layers)
+layer_name_1 <- model_1$get_config()$layers[[num_layers_1 - 1]]$name
+num_layers_2 <- length(model_2$get_config()$layers)
+layer_name_2 <- model_2$get_config()$layers[[num_layers_2 - 1]]$name
+# merge models
+model <- merge_models(models = list(model_1, model_2),
+                      layer_names = c(layer_name_1, layer_name_2),
+                      layer_dense = c(6, 2), 
+                      freeze_base_model = c(FALSE, FALSE)) 
+\dontshow{\}) # examplesIf}
+}