Configure a Keras model for training

Configure a Keras model for training

compile(object, optimizer, loss, metrics = NULL, loss_weights = NULL,
  sample_weight_mode = NULL, weighted_metrics = NULL,
  target_tensors = NULL, ...)

Arguments

object

Model object to compile.

optimizer

Name of optimizer or optimizer instance.

loss

Name of objective function or objective function. If the model has multiple outputs, you can use a different loss on each output by passing a dictionary or a list of objectives. The loss value that will be minimized by the model will then be the sum of all individual losses.

metrics

List of metrics to be evaluated by the model during training and testing. Typically you will use metrics='accuracy'. To specify different metrics for different outputs of a multi-output model, you could also pass a named list such as metrics=list(output_a = 'accuracy').

loss_weights

Optional list specifying scalar coefficients to weight the loss contributions of different model outputs. The loss value that will be minimized by the model will then be the weighted sum of all indvidual losses, weighted by the loss_weights coefficients.

sample_weight_mode

If you need to do timestep-wise sample weighting (2D weights), set this to "temporal". NULL defaults to sample-wise weights (1D). If the model has multiple outputs, you can use a different sample_weight_mode on each output by passing a list of modes.

weighted_metrics

List of metrics to be evaluated and weighted by sample_weight or class_weight during training and testing

target_tensors

By default, Keras will create a placeholder for the model's target, which will be fed with the target data during training. If instead you would like to use your own target tensor (in turn, Keras will not expect external data for these targets at training time), you can specify them via the target_tensors argument. It should be a single tensor (for a single-output sequential model),

...

When using the Theano/CNTK backends, these arguments are passed into K.function. When using the TensorFlow backend, these arguments are passed into tf$Session()$run.

See also

Other model functions: evaluate.keras.engine.training.Model, evaluate_generator, fit_generator, fit, get_config, get_layer, keras_model_sequential, keras_model, multi_gpu_model, pop_layer, predict.keras.engine.training.Model, predict_generator, predict_on_batch, predict_proba, summary.keras.engine.training.Model, train_on_batch