About Keras Layers
Overview
Keras layers are the fundamental building block of keras models. Layers are created using a wide variety of layer_
functions and are typically composed together by stacking calls to them using the pipe %>%
operator. For example:
model <- keras_model_sequential()
model %>%
layer_dense(units = 32, input_shape = c(784)) %>%
layer_activation('relu') %>%
layer_dense(units = 10) %>%
layer_activation('softmax')
A wide variety of layers are available, including:
Properties
All layers share the following properties:
layer$name
— String, must be unique within a model.layer$input_spec
— List of input specifications. Each entry describes one required input: (ndim, dtype). A layer withn
input tensors must have aninput_spec
of lengthn
.layer$trainable
— Boolean, whether the layer weights will be updated during training.layer$uses_learning_phase
– Whether any operation of the layer usesK.in_training_phase()
orK.in_test_phase()
.layer$input_shape
— Input shape. Provided for convenience, but note that there may be cases in which this attribute is ill-defined (e.g. a shared layer with multiple input shapes), in which case requestinginput_shape
will result in an error. Prefer usingget_input_shape_at(layer, node_index)
.layer$output_shape
— Output shape. See above.layer$inbound_nodes
— List of nodes.layer$outbound_nodes
— List of nodes.layer$input
,layer$output
— Input/output tensor(s). Note that if the layer is used more than once (shared layer), this is ill-defined and will result in an error. In such cases, useget_input_at(layer, node_index)
.layer$input_mask
,layer$output_mask
— Same as above, for masks.layer$trainable_weights
— List of variables.layer$non_trainable_weights
— List of variables.layer$weights
— The concatenation of the lists trainable_weights and non_trainable_weights (in this order).layer$constraints
— Mapping of weights to constraints.
Functions
The following functions are available for interacting with layers:
get_config() from_config()
|
Layer/Model configuration |
get_weights() set_weights()
|
Layer/Model weights as R arrays |
count_params()
|
Count the total number of scalars composing the weights. |
get_input_at() get_output_at() get_input_shape_at() get_output_shape_at() get_input_mask_at() get_output_mask_at()
|
Retrieve tensors for layers with multiple nodes |
reset_states()
|
Reset the states for a layer |