Description Usage Arguments Note Examples
Freeze weights in a model or layer so that they are no longer trainable.
1 2 3 | freeze_weights(object, from = NULL, to = NULL)
unfreeze_weights(object, from = NULL, to = NULL)
|
object |
Keras model or layer object |
from |
Layer instance, layer name, or layer index within model |
to |
Layer instance, layer name, or layer index within model |
The from
and to
layer arguments are both inclusive.
When applied to a model, the freeze or unfreeze is a global operation over all layers in the model (i.e. layers not within the specified range will be set to the opposite value, e.g. unfrozen for a call to freeze).
Models must be compiled again after weights are frozen or unfrozen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | ## Not run:
# instantiate a VGG16 model
conv_base <- application_vgg16(
weights = "imagenet",
include_top = FALSE,
input_shape = c(150, 150, 3)
)
# freeze it's weights
freeze_weights(conv_base)
# create a composite model that includes the base + more layers
model <- keras_model_sequential()
conv_base
layer_flatten()
layer_dense(units = 256, activation = "relu")
layer_dense(units = 1, activation = "sigmoid")
# compile
model
loss = "binary_crossentropy",
optimizer = optimizer_rmsprop(lr = 2e-5),
metrics = c("accuracy")
)
# unfreeze weights from "block5_conv1" on
unfreeze_weights(conv_base, from = "block5_conv1")
# compile again since we froze or unfroze weights
model
loss = "binary_crossentropy",
optimizer = optimizer_rmsprop(lr = 2e-5),
metrics = c("accuracy")
)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.