keras_compile: Compile a keras model

View source: R/models.R

keras_compileR Documentation

Compile a keras model

Description

Models must be compiled before being fit or used for prediction. This function changes to input model object itself, and does not produce a return value.

Usage

keras_compile(model, optimizer, loss, metrics = NULL,
  sample_weight_mode = NULL)

Arguments

model

a keras model object, for example created with Sequential()

optimizer

name of optimizer) or optimizer object. See Optimizers.

loss

name of a loss function. See Details for possible choices.

metrics

vector of metric names to be evaluated by the model during training and testing. See Details for possible options. See EarlyStopping() for using these in callbacks.

sample_weight_mode

if you need to do timestep-wise sample weighting (2D weights), set this to temporal. None defaults to sample-wise weights (1D).

Loss functions

Possible losses are:

  • mean_squared_error

  • mean_absolute_error

  • mean_absolute_percentage_error

  • mean_squared_logarithmic_error

  • squared_hinge

  • hinge

  • categorical_crossentropy

  • sparse_categorical_crossentropy

  • binary_crossentropy

  • kullback_leibler_divergence

  • poisson

  • cosine_proximity.

Metrics

Possible metrics are:

  • binary_accuracy

  • categorical_accuracy

  • sparse_categorical_accuracy

  • top_k_categorical_accuracy

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: LoadSave, Predict, Sequential, 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 = dim(X_train)[2]))
  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)
  
  # You can also add layers directly as arguments to Sequential()

  mod <- Sequential(
    Dense(units = 50, input_shape = ncol(X_train)),
    Dropout(rate = 0.5),
    Activation("relu"),
    Dense(units = 3),
    ActivityRegularization(l1 = 1),
    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)
  
}


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