| Model {keras3} | R Documentation |
Subclass the base Keras Model Class
Description
This is for advanced use cases where you need to subclass the base Model
type, e.g., you want to override the train_step() method.
If you just want to create or define a keras model, prefer keras_model()
or keras_model_sequential().
If you just want to encapsulate some custom logic and state, and don't need
to customize training behavior (besides calling self$add_loss() in the
call() method), prefer Layer().
Usage
Model(
classname,
initialize = NULL,
call = NULL,
train_step = NULL,
predict_step = NULL,
test_step = NULL,
compute_loss = NULL,
compute_metrics = NULL,
...,
public = list(),
private = list(),
inherit = NULL,
parent_env = parent.frame()
)
Arguments
classname |
String, the name of the custom class. (Conventionally, CamelCase). |
initialize, call, train_step, predict_step, test_step, compute_loss, compute_metrics |
Optional methods that can be overridden. |
..., public |
Additional methods or public members of the custom class. |
private |
Named list of R objects (typically, functions) to include in
instance private environments. |
inherit |
What the custom class will subclass. By default, the base keras class. |
parent_env |
The R environment that all class methods will have as a grandparent. |
Value
A model constructor function, which you can call to create an instance of the new model type.
Symbols in scope
All R function custom methods (public and private) will have the following symbols in scope:
-
self: The custom class instance. -
super: The custom class superclass. -
private: An R environment specific to the class instance. Any objects assigned here are invisible to the Keras framework. -
__class__andas.symbol(classname): the custom class type object.
See Also
active_property() (e.g., for a metrics property implemented as a
function).