LoadSave: Load and save keras models

LoadSaveR Documentation

Load and save keras models

Description

These functions provide methods for loading and saving a keras model. As python objects, R functions such as readRDS will not work correctly. We have keras_save and keras_load to save and load the entire object, keras_save_weights and keras_load_weights to store only the weights, and keras_model_to_json and keras_model_from_json to store only the model architecture. It is also possible to use the get_weights and set_weights methods to manually extract and set weights from R objects (returned weights can be saved as an R data file).

Usage

keras_save(model, path = "model.h5")

keras_load(path = "model.h5")

keras_save_weights(model, path = "model.h5")

keras_load_weights(model, path = "model.h5")

keras_model_to_json(model, path = "model.json")

keras_model_from_json(path = "model.json")

Arguments

model

keras model object to save; or, for keras_load_weights the the model in which to load the weights

path

local path to save or load the data from

Author(s)

Taylor B. Arnold, taylor.arnold@acm.org

References

Chollet, Francois. 2015. Keras: Deep Learning library for Theano and TensorFlow.

See Also

Other model functions: Predict, Sequential, keras_compile, keras_fit

Examples

if (keras_available()) {
  # X_train <- matrix(rnorm(100 * 10), nrow = 100)
  # Y_train <- to_categorical(matrix(sample(0:2, 100, TRUE), ncol = 1), 3)
  mod <- Sequential()
  mod$add(Dense(units = 50, input_shape = 10))
  mod$add(Dropout(rate = 0.5))
  mod$add(Activation("relu"))
  mod$add(Dense(units = 3))
  mod$add(ActivityRegularization(l1 = 1))
  mod$add(Activation("softmax"))
  keras_compile(mod,  loss = 'categorical_crossentropy', optimizer = RMSprop())
  # keras_fit(mod, X_train, Y_train, batch_size = 32, epochs = 5,
  #           verbose = 0, validation_split = 0.2)
  
  # save/load the entire model object
  keras_save(mod, tf <- tempfile())
  mod2 <- keras_load(tf)
  
  # save/load just the weights file
  keras_save_weights(mod, tf <- tempfile())
  keras_load_weights(mod, tf)
  
  # save/load just the architecture (as human readable json)
  tf <- tempfile(fileext = ".json")
  keras_model_to_json(mod, tf)
  cat(readLines(tf))
  mod3 <- keras_model_from_json(tf)
}

kerasR documentation built on Aug. 17, 2022, 5:06 p.m.