Title: | R Interface to 'Keras' |
---|---|
Description: | Interface to 'Keras' <https://keras.io>, a high-level neural networks 'API'. 'Keras' was developed with a focus on enabling fast experimentation, supports both convolution based networks and recurrent networks (as well as combinations of the two), and runs seamlessly on both 'CPU' and 'GPU' devices. |
Authors: | Tomasz Kalinowski [ctb, cph, cre], Daniel Falbel [ctb, cph], JJ
Allaire [aut, cph], François Chollet [aut, cph], RStudio [ctb,
cph, fnd], Google [ctb, cph, fnd], Yuan Tang [ctb, cph]
|
Maintainer: | Tomasz Kalinowski <[email protected]> |
License: | MIT + file LICENSE |
Version: | 2.15.0 |
Built: | 2025-01-16 06:57:46 UTC |
Source: | CRAN |
Keras is a high-level neural networks API, developed with a focus on enabling fast experimentation. Keras has the following key features:
Allows the same code to run on CPU or on GPU, seamlessly.
User-friendly API which makes it easy to quickly prototype deep learning models.
Built-in support for convolutional networks (for computer vision), recurrent networks (for sequence processing), and any combination of both.
Supports arbitrary network architectures: multi-input or multi-output models, layer sharing, model sharing, etc. This means that Keras is appropriate for building essentially any deep learning model, from a memory network to a neural Turing machine.
Is capable of running on top of multiple back-ends including TensorFlow, CNTK, or Theano.
See the package website at https://tensorflow.rstudio.com for complete documentation.
Maintainer: Tomasz Kalinowski [email protected] [contributor, copyright holder]
Authors:
JJ Allaire [copyright holder]
François Chollet [copyright holder]
Other contributors:
Daniel Falbel [email protected] [contributor, copyright holder]
RStudio [contributor, copyright holder, funder]
Google [contributor, copyright holder, funder]
Yuan Tang [email protected] (ORCID) [contributor, copyright holder]
Wouter Van Der Bijl [contributor, copyright holder]
Martin Studer [contributor, copyright holder]
Sigrid Keydana [contributor]
Useful links:
Report bugs at https://github.com/rstudio/keras/issues
Make an Active Binding
sym %<-active% value
sym %<-active% value
sym |
symbol to bind |
value |
A function to call when the value of |
Active bindings defined in a %py_class%
are converted to
@property
decorated methods.
value
, invisibly
set.seed(1234) x %<-active% function(value) { message("Evaluating function of active binding") if(missing(value)) runif(1) else message("Received: ", value) } x x x <- "foo" x <- "foo" x rm(x) # cleanup
set.seed(1234) x %<-active% function(value) { message("Evaluating function of active binding") if(missing(value)) runif(1) else message("Received: ", value) } x x x <- "foo" x <- "foo" x rm(x) # cleanup
Make a python class constructor
spec %py_class% body
spec %py_class% body
spec |
a bare symbol |
body |
an expression that can be evaluated to construct the class methods. |
The python class constructor, invisibly. Note, the same constructor is also assigned in the parent frame.
## Not run: MyClass %py_class% { initialize <- function(x) { print("Hi from MyClass$initialize()!") self$x <- x } my_method <- function() { self$x } } my_class_instance <- MyClass(42) my_class_instance$my_method() MyClass2(MyClass) %py_class% { "This will be a __doc__ string for MyClass2" initialize <- function(...) { "This will be the __doc__ string for the MyClass2.__init__() method" print("Hi from MyClass2$initialize()!") super$initialize(...) } } my_class_instance2 <- MyClass2(42) my_class_instance2$my_method() reticulate::py_help(MyClass2) # see the __doc__ strings and more! # In addition to `self`, there is also `private` available. # This is an R environment unique to each class instance, where you can # store objects that you don't want converted to Python, but still want # available from methods. You can also assign methods to private, and # `self` and `private` will be available in private methods. MyClass %py_class% { initialize <- function(x) { print("Hi from MyClass$initialize()!") private$y <- paste("A Private field:", x) } get_private_field <- function() { private$y } private$a_private_method <- function() { cat("a_private_method() was called.\n") cat("private$y is ", sQuote(private$y), "\n") } call_private_method <- function() private$a_private_method() # equivalent of @property decorator in python an_active_property %<-active% function(x = NULL) { if(!is.null(x)) { cat("`an_active_property` was assigned", x, "\n") return(x) } else { cat("`an_active_property` was accessed\n") return(42) } } } inst1 <- MyClass(1) inst2 <- MyClass(2) inst1$get_private_field() inst2$get_private_field() inst1$call_private_method() inst2$call_private_method() inst1$an_active_property inst1$an_active_property <- 11 ## End(Not run)
## Not run: MyClass %py_class% { initialize <- function(x) { print("Hi from MyClass$initialize()!") self$x <- x } my_method <- function() { self$x } } my_class_instance <- MyClass(42) my_class_instance$my_method() MyClass2(MyClass) %py_class% { "This will be a __doc__ string for MyClass2" initialize <- function(...) { "This will be the __doc__ string for the MyClass2.__init__() method" print("Hi from MyClass2$initialize()!") super$initialize(...) } } my_class_instance2 <- MyClass2(42) my_class_instance2$my_method() reticulate::py_help(MyClass2) # see the __doc__ strings and more! # In addition to `self`, there is also `private` available. # This is an R environment unique to each class instance, where you can # store objects that you don't want converted to Python, but still want # available from methods. You can also assign methods to private, and # `self` and `private` will be available in private methods. MyClass %py_class% { initialize <- function(x) { print("Hi from MyClass$initialize()!") private$y <- paste("A Private field:", x) } get_private_field <- function() { private$y } private$a_private_method <- function() { cat("a_private_method() was called.\n") cat("private$y is ", sQuote(private$y), "\n") } call_private_method <- function() private$a_private_method() # equivalent of @property decorator in python an_active_property %<-active% function(x = NULL) { if(!is.null(x)) { cat("`an_active_property` was assigned", x, "\n") return(x) } else { cat("`an_active_property` was accessed\n") return(42) } } } inst1 <- MyClass(1) inst2 <- MyClass(2) inst1$get_private_field() inst2$get_private_field() inst1$call_private_method() inst2$call_private_method() inst1$an_active_property inst1$an_active_property <- 11 ## End(Not run)
relu(...)
: Applies the rectified linear unit activation function.
elu(...)
: Exponential Linear Unit.
selu(...)
: Scaled Exponential Linear Unit (SELU).
hard_sigmoid(...)
: Hard sigmoid activation function.
linear(...)
: Linear activation function (pass-through).
sigmoid(...)
: Sigmoid activation function, sigmoid(x) = 1 / (1 + exp(-x))
.
softmax(...)
: Softmax converts a vector of values to a probability distribution.
softplus(...)
: Softplus activation function, softplus(x) = log(exp(x) + 1)
.
softsign(...)
: Softsign activation function, softsign(x) = x / (abs(x) + 1)
.
tanh(...)
: Hyperbolic tangent activation function.
exponential(...)
: Exponential activation function.
gelu(...)
: Applies the Gaussian error linear unit (GELU) activation function.
swish(...)
: Swish activation function, swish(x) = x * sigmoid(x)
.
activation_relu(x, alpha = 0, max_value = NULL, threshold = 0) activation_elu(x, alpha = 1) activation_selu(x) activation_hard_sigmoid(x) activation_linear(x) activation_sigmoid(x) activation_softmax(x, axis = -1) activation_softplus(x) activation_softsign(x) activation_tanh(x) activation_exponential(x) activation_gelu(x, approximate = FALSE) activation_swish(x)
activation_relu(x, alpha = 0, max_value = NULL, threshold = 0) activation_elu(x, alpha = 1) activation_selu(x) activation_hard_sigmoid(x) activation_linear(x) activation_sigmoid(x) activation_softmax(x, axis = -1) activation_softplus(x) activation_softsign(x) activation_tanh(x) activation_exponential(x) activation_gelu(x, approximate = FALSE) activation_swish(x)
x |
Tensor |
alpha |
Alpha value |
max_value |
Max value |
threshold |
Threshold value for thresholded activation. |
axis |
Integer, axis along which the softmax normalization is applied |
approximate |
A bool, whether to enable approximation. |
Activations functions can either be used through layer_activation()
, or
through the activation argument supported by all forward layers.
activation_selu()
to be used together with the initialization "lecun_normal".
activation_selu()
to be used together with the dropout variant "AlphaDropout".
Tensor with the same shape and dtype as x
.
activation_swish()
: Searching for Activation Functions
activation_gelu()
: Gaussian Error Linear Units (GELUs)
activation_selu()
: Self-Normalizing Neural Networks
activation_elu()
: Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)
https://www.tensorflow.org/api_docs/python/tf/keras/activations
Fits the state of the preprocessing layer to the data being passed
adapt(object, data, ..., batch_size = NULL, steps = NULL)
adapt(object, data, ..., batch_size = NULL, steps = NULL)
object |
Preprocessing layer object |
data |
The data to train on. It can be passed either as a
|
... |
Used for forwards and backwards compatibility. Passed on to the underlying method. |
batch_size |
Integer or |
steps |
Integer or |
After calling adapt
on a layer, a preprocessing layer's state will not
update during training. In order to make preprocessing layers efficient in
any distribution context, they are kept constant with respect to any
compiled tf.Graph
s that call the layer. This does not affect the layer use
when adapting each layer only once, but if you adapt a layer multiple times
you will need to take care to re-compile any compiled functions as follows:
If you are adding a preprocessing layer to a keras.Model
, you need to
call compile(model)
after each subsequent call to adapt()
.
If you are calling a preprocessing layer inside tfdatasets::dataset_map()
,
you should call dataset_map()
again on the input tf.data.Dataset
after each
adapt()
.
If you are using a tensorflow::tf_function()
directly which calls a preprocessing
layer, you need to call tf_function
again on your callable after
each subsequent call to adapt()
.
keras_model
example with multiple adapts:
layer <- layer_normalization(axis=NULL) adapt(layer, c(0, 2)) model <- keras_model_sequential(layer) predict(model, c(0, 1, 2)) # [1] -1 0 1 adapt(layer, c(-1, 1)) compile(model) # This is needed to re-compile model.predict! predict(model, c(0, 1, 2)) # [1] 0 1 2
tf.data.Dataset
example with multiple adapts:
layer <- layer_normalization(axis=NULL) adapt(layer, c(0, 2)) input_ds <- tfdatasets::range_dataset(0, 3) normalized_ds <- input_ds %>% tfdatasets::dataset_map(layer) str(reticulate::iterate(normalized_ds)) # List of 3 # $ :tf.Tensor([-1.], shape=(1,), dtype=float32) # $ :tf.Tensor([0.], shape=(1,), dtype=float32) # $ :tf.Tensor([1.], shape=(1,), dtype=float32) adapt(layer, c(-1, 1)) normalized_ds <- input_ds %>% tfdatasets::dataset_map(layer) # Re-map over the input dataset. str(reticulate::iterate(normalized_ds$as_numpy_iterator())) # List of 3 # $ : num [1(1d)] -1 # $ : num [1(1d)] 0 # $ : num [1(1d)] 1
Instantiates the DenseNet architecture.
application_densenet( blocks, include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000 ) application_densenet121( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000 ) application_densenet169( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000 ) application_densenet201( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000 ) densenet_preprocess_input(x, data_format = NULL)
application_densenet( blocks, include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000 ) application_densenet121( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000 ) application_densenet169( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000 ) application_densenet201( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000 ) densenet_preprocess_input(x, data_format = NULL)
blocks |
numbers of building blocks for the four dense layers. |
include_top |
whether to include the fully-connected layer at the top of the network. |
weights |
one of |
input_tensor |
optional Keras tensor (i.e. output of |
input_shape |
optional shape list, only to be specified if |
pooling |
optional pooling mode for feature extraction when
|
classes |
optional number of classes to classify images into, only to be
specified if |
x |
a 3D or 4D array consists of RGB values within |
data_format |
data format of the image tensor. |
Optionally loads weights pre-trained
on ImageNet. Note that when using TensorFlow,
for best performance you should set
image_data_format='channels_last'
in your Keras config
at ~/.keras/keras.json.
The model and the weights are compatible with TensorFlow, Theano, and CNTK. The data format convention used by the model is the one specified in your Keras config file.
Instantiates the EfficientNetB0 architecture
application_efficientnet_b0( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) application_efficientnet_b1( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) application_efficientnet_b2( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) application_efficientnet_b3( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) application_efficientnet_b4( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) application_efficientnet_b5( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) application_efficientnet_b6( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) application_efficientnet_b7( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... )
application_efficientnet_b0( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) application_efficientnet_b1( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) application_efficientnet_b2( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) application_efficientnet_b3( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) application_efficientnet_b4( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) application_efficientnet_b5( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) application_efficientnet_b6( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) application_efficientnet_b7( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... )
include_top |
Whether to include the fully-connected
layer at the top of the network. Defaults to |
weights |
One of |
input_tensor |
Optional Keras tensor
(i.e. output of |
input_shape |
Optional shape list, only to be specified
if |
pooling |
Optional pooling mode for feature extraction
when
|
classes |
Optional number of classes to classify images into, only to be
specified if |
classifier_activation |
A string or callable. The activation function to
use on the "top" layer. Ignored unless |
... |
For backwards and forwards compatibility |
Reference:
This function returns a Keras image classification model, optionally loaded with weights pre-trained on ImageNet.
For image classification use cases, see this page for detailed examples.
For transfer learning use cases, make sure to read the guide to transfer learning & fine-tuning.
EfficientNet models expect their inputs to be float tensors of pixels with values in the [0-255]
range.
Each Keras Application typically expects a specific kind of input preprocessing.
For EfficientNet, input preprocessing is included as part of the model
(as a Rescaling
layer), and thus a calling a preprocessing function is not necessary.
Inception-ResNet v2 model, with weights trained on ImageNet
application_inception_resnet_v2( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax", ... ) inception_resnet_v2_preprocess_input(x)
application_inception_resnet_v2( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax", ... ) inception_resnet_v2_preprocess_input(x)
include_top |
Whether to include the fully-connected
layer at the top of the network. Defaults to |
weights |
One of |
input_tensor |
Optional Keras tensor
(i.e. output of |
input_shape |
optional shape list, only to be specified
if |
pooling |
Optional pooling mode for feature extraction
when
|
classes |
Optional number of classes to classify images into, only to be
specified if |
classifier_activation |
A string or callable. The activation function to
use on the "top" layer. Ignored unless |
... |
For backwards and forwards compatibility |
x |
|
Do note that the input image format for this model is different than for the VGG16 and ResNet models (299x299 instead of 224x224).
The inception_resnet_v2_preprocess_input()
function should be used for image
preprocessing.
A Keras model instance.
Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning(https://arxiv.org/abs/1512.00567)
Inception V3 model, with weights pre-trained on ImageNet.
application_inception_v3( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax", ... ) inception_v3_preprocess_input(x)
application_inception_v3( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax", ... ) inception_v3_preprocess_input(x)
include_top |
Whether to include the fully-connected
layer at the top of the network. Defaults to |
weights |
One of |
input_tensor |
Optional Keras tensor
(i.e. output of |
input_shape |
optional shape list, only to be specified
if |
pooling |
Optional pooling mode for feature extraction
when
|
classes |
Optional number of classes to classify images into, only to be
specified if |
classifier_activation |
A string or callable. The activation function to
use on the "top" layer. Ignored unless |
... |
For backwards and forwards compatibility |
x |
|
Do note that the input image format for this model is different than for the VGG16 and ResNet models (299x299 instead of 224x224).
The inception_v3_preprocess_input()
function should be used for image
preprocessing.
A Keras model instance.
MobileNet model architecture.
application_mobilenet( input_shape = NULL, alpha = 1, depth_multiplier = 1L, dropout = 0.001, include_top = TRUE, weights = "imagenet", input_tensor = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) mobilenet_preprocess_input(x) mobilenet_decode_predictions(preds, top = 5) mobilenet_load_model_hdf5(filepath)
application_mobilenet( input_shape = NULL, alpha = 1, depth_multiplier = 1L, dropout = 0.001, include_top = TRUE, weights = "imagenet", input_tensor = NULL, pooling = NULL, classes = 1000L, classifier_activation = "softmax", ... ) mobilenet_preprocess_input(x) mobilenet_decode_predictions(preds, top = 5) mobilenet_load_model_hdf5(filepath)
input_shape |
optional shape list, only to be specified if |
alpha |
controls the width of the network.
|
depth_multiplier |
depth multiplier for depthwise convolution (also called the resolution multiplier) |
dropout |
dropout rate |
include_top |
whether to include the fully-connected layer at the top of the network. |
weights |
|
input_tensor |
optional Keras tensor (i.e. output of |
pooling |
Optional pooling mode for feature extraction when
|
classes |
optional number of classes to classify images into, only to be
specified if |
classifier_activation |
A string or callable. The activation function to
use on the "top" layer. Ignored unless |
... |
For backwards and forwards compatibility |
x |
input tensor, 4D |
preds |
Tensor encoding a batch of predictions. |
top |
integer, how many top-guesses to return. |
filepath |
File path |
The mobilenet_preprocess_input()
function should be used for image
preprocessing. To load a saved instance of a MobileNet model use
the mobilenet_load_model_hdf5()
function. To prepare image input
for MobileNet use mobilenet_preprocess_input()
. To decode
predictions use mobilenet_decode_predictions()
.
application_mobilenet()
and mobilenet_load_model_hdf5()
return a
Keras model instance. mobilenet_preprocess_input()
returns image input
suitable for feeding into a mobilenet model. mobilenet_decode_predictions()
returns a list of data frames with variables class_name
, class_description
,
and score
(one data frame per sample in batch input).
MobileNetV2 model architecture
application_mobilenet_v2( input_shape = NULL, alpha = 1, include_top = TRUE, weights = "imagenet", input_tensor = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax", ... ) mobilenet_v2_preprocess_input(x) mobilenet_v2_decode_predictions(preds, top = 5) mobilenet_v2_load_model_hdf5(filepath)
application_mobilenet_v2( input_shape = NULL, alpha = 1, include_top = TRUE, weights = "imagenet", input_tensor = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax", ... ) mobilenet_v2_preprocess_input(x) mobilenet_v2_decode_predictions(preds, top = 5) mobilenet_v2_load_model_hdf5(filepath)
input_shape |
optional shape list, only to be specified if |
alpha |
controls the width of the network.
|
include_top |
whether to include the fully-connected layer at the top of the network. |
weights |
|
input_tensor |
optional Keras tensor (i.e. output of |
pooling |
Optional pooling mode for feature extraction when
|
classes |
optional number of classes to classify images into, only to be
specified if |
classifier_activation |
A string or callable. The activation function to
use on the "top" layer. Ignored unless |
... |
For backwards and forwards compatibility |
x |
input tensor, 4D |
preds |
Tensor encoding a batch of predictions. |
top |
integer, how many top-guesses to return. |
filepath |
File path |
application_mobilenet_v2()
and mobilenet_v2_load_model_hdf5()
return a
Keras model instance. mobilenet_v2_preprocess_input()
returns image input
suitable for feeding into a mobilenet v2 model. mobilenet_v2_decode_predictions()
returns a list of data frames with variables class_name
, class_description
,
and score
(one data frame per sample in batch input).
application_mobilenet
Instantiates the MobileNetV3Large architecture
application_mobilenet_v3_large( input_shape = NULL, alpha = 1, minimalistic = FALSE, include_top = TRUE, weights = "imagenet", input_tensor = NULL, classes = 1000L, pooling = NULL, dropout_rate = 0.2, classifier_activation = "softmax", include_preprocessing = TRUE ) application_mobilenet_v3_small( input_shape = NULL, alpha = 1, minimalistic = FALSE, include_top = TRUE, weights = "imagenet", input_tensor = NULL, classes = 1000L, pooling = NULL, dropout_rate = 0.2, classifier_activation = "softmax", include_preprocessing = TRUE )
application_mobilenet_v3_large( input_shape = NULL, alpha = 1, minimalistic = FALSE, include_top = TRUE, weights = "imagenet", input_tensor = NULL, classes = 1000L, pooling = NULL, dropout_rate = 0.2, classifier_activation = "softmax", include_preprocessing = TRUE ) application_mobilenet_v3_small( input_shape = NULL, alpha = 1, minimalistic = FALSE, include_top = TRUE, weights = "imagenet", input_tensor = NULL, classes = 1000L, pooling = NULL, dropout_rate = 0.2, classifier_activation = "softmax", include_preprocessing = TRUE )
input_shape |
Optional shape vector, to be specified if you would
like to use a model with an input image resolution that is not
|
alpha |
controls the width of the network. This is known as the depth multiplier in the MobileNetV3 paper, but the name is kept for consistency with MobileNetV1 in Keras.
|
minimalistic |
In addition to large and small models this module also contains so-called minimalistic models, these models have the same per-layer dimensions characteristic as MobilenetV3 however, they don't utilize any of the advanced blocks (squeeze-and-excite units, hard-swish, and 5x5 convolutions). While these models are less efficient on CPU, they are much more performant on GPU/DSP. |
include_top |
Boolean, whether to include the fully-connected
layer at the top of the network. Defaults to |
weights |
String, one of |
input_tensor |
Optional Keras tensor (i.e. output of
|
classes |
Integer, optional number of classes to classify images
into, only to be specified if |
pooling |
String, optional pooling mode for feature extraction
when
|
dropout_rate |
fraction of the input units to drop on the last layer. |
classifier_activation |
A string or callable. The activation function to use
on the "top" layer. Ignored unless |
include_preprocessing |
Boolean, whether to include the preprocessing
layer ( |
Reference:
Searching for MobileNetV3 (ICCV 2019)
MACs stands for Multiply Adds
Classification Checkpoint | MACs(M) | Parameters(M) | Top1 Accuracy | Pixel1 CPU(ms) |
mobilenet_v3_large_1.0_224 | 217 | 5.4 | 75.6 | 51.2 |
mobilenet_v3_large_0.75_224 | 155 | 4.0 | 73.3 | 39.8 |
mobilenet_v3_large_minimalistic_1.0_224 | 209 | 3.9 | 72.3 | 44.1 |
mobilenet_v3_small_1.0_224 | 66 | 2.9 | 68.1 | 15.8 |
mobilenet_v3_small_0.75_224 | 44 | 2.4 | 65.4 | 12.8 |
mobilenet_v3_small_minimalistic_1.0_224 | 65 | 2.0 | 61.9 | 12.2 |
For image classification use cases, see this page for detailed examples.
For transfer learning use cases, make sure to read the guide to transfer learning & fine-tuning.
A keras Model
instance
Each Keras application typically expects a specific kind of input preprocessing.
For ModelNetV3, by default input preprocessing is included as a part of the
model (as a Rescaling
layer), and thus
a preprocessing function is not necessary. In this use case, ModelNetV3 models expect their inputs
to be float tensors of pixels with values in the [0-255]
range.
At the same time, preprocessing as a part of the model (i.e. Rescaling
layer) can be disabled by setting include_preprocessing
argument to FALSE.
With preprocessing disabled ModelNetV3 models expect their inputs to be float
tensors of pixels with values in the [-1, 1]
range.
https://www.tensorflow.org/api_docs/python/tf/keras/applications/MobileNetV3Large
https://www.tensorflow.org/api_docs/python/tf/keras/applications/MobileNetV3Small
Note that only TensorFlow is supported for now,
therefore it only works with the data format
image_data_format='channels_last'
in your Keras config
at ~/.keras/keras.json
.
application_nasnet( input_shape = NULL, penultimate_filters = 4032L, num_blocks = 6L, stem_block_filters = 96L, skip_reduction = TRUE, filter_multiplier = 2L, include_top = TRUE, weights = NULL, input_tensor = NULL, pooling = NULL, classes = 1000, default_size = NULL ) application_nasnetlarge( input_shape = NULL, include_top = TRUE, weights = NULL, input_tensor = NULL, pooling = NULL, classes = 1000 ) application_nasnetmobile( input_shape = NULL, include_top = TRUE, weights = NULL, input_tensor = NULL, pooling = NULL, classes = 1000 ) nasnet_preprocess_input(x)
application_nasnet( input_shape = NULL, penultimate_filters = 4032L, num_blocks = 6L, stem_block_filters = 96L, skip_reduction = TRUE, filter_multiplier = 2L, include_top = TRUE, weights = NULL, input_tensor = NULL, pooling = NULL, classes = 1000, default_size = NULL ) application_nasnetlarge( input_shape = NULL, include_top = TRUE, weights = NULL, input_tensor = NULL, pooling = NULL, classes = 1000 ) application_nasnetmobile( input_shape = NULL, include_top = TRUE, weights = NULL, input_tensor = NULL, pooling = NULL, classes = 1000 ) nasnet_preprocess_input(x)
input_shape |
Optional shape list, the input shape is by default |
penultimate_filters |
Number of filters in the penultimate layer.
NASNet models use the notation |
num_blocks |
Number of repeated blocks of the NASNet model. NASNet
models use the notation |
stem_block_filters |
Number of filters in the initial stem block |
skip_reduction |
Whether to skip the reduction step at the tail end
of the network. Set to |
filter_multiplier |
Controls the width of the network.
|
include_top |
Whether to include the fully-connected layer at the top of the network. |
weights |
|
input_tensor |
Optional Keras tensor (i.e. output of |
pooling |
Optional pooling mode for feature extraction when
|
classes |
Optional number of classes to classify images into, only to be
specified if |
default_size |
Specifies the default image size of the model |
x |
a 4D array consists of RGB values within |
Instantiates the ResNet architecture
application_resnet50( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, ... ) application_resnet101( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, ... ) application_resnet152( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, ... ) application_resnet50_v2( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax", ... ) application_resnet101_v2( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax", ... ) application_resnet152_v2( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax", ... ) resnet_preprocess_input(x) resnet_v2_preprocess_input(x)
application_resnet50( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, ... ) application_resnet101( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, ... ) application_resnet152( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, ... ) application_resnet50_v2( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax", ... ) application_resnet101_v2( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax", ... ) application_resnet152_v2( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax", ... ) resnet_preprocess_input(x) resnet_v2_preprocess_input(x)
include_top |
Whether to include the fully-connected
layer at the top of the network. Defaults to |
weights |
One of |
input_tensor |
Optional Keras tensor
(i.e. output of |
input_shape |
optional shape list, only to be specified
if |
pooling |
Optional pooling mode for feature extraction
when
|
classes |
Optional number of classes to classify images into, only to be
specified if |
... |
For backwards and forwards compatibility |
classifier_activation |
A string or callable. The activation function to
use on the "top" layer. Ignored unless |
x |
|
Reference:
Deep Residual Learning for Image Recognition (CVPR 2015)
For image classification use cases, see this page for detailed examples.
For transfer learning use cases, make sure to read the guide to transfer learning & fine-tuning.
Note: each Keras Application expects a specific kind of input preprocessing.
For ResNet, call tf.keras.applications.resnet.preprocess_input
on your
inputs before passing them to the model.
resnet.preprocess_input
will convert the input images from RGB to BGR,
then will zero-center each color channel with respect to the ImageNet dataset,
without scaling.
https://www.tensorflow.org/api_docs/python/tf/keras/applications/resnet50/ResNet50
https://www.tensorflow.org/api_docs/python/tf/keras/applications/resnet/ResNet101
https://www.tensorflow.org/api_docs/python/tf/keras/applications/resnet/ResNet152
https://www.tensorflow.org/api_docs/python/tf/keras/applications/resnet_v2/ResNet50V2
https://www.tensorflow.org/api_docs/python/tf/keras/applications/resnet_v2/ResNet101V2
https://www.tensorflow.org/api_docs/python/tf/keras/applications/resnet_v2/ResNet152V2
## Not run: library(keras) # instantiate the model model <- application_resnet50(weights = 'imagenet') # load the image img_path <- "elephant.jpg" img <- image_load(img_path, target_size = c(224,224)) x <- image_to_array(img) # ensure we have a 4d tensor with single element in the batch dimension, # the preprocess the input for prediction using resnet50 x <- array_reshape(x, c(1, dim(x))) x <- imagenet_preprocess_input(x) # make predictions then decode and print them preds <- model %>% predict(x) imagenet_decode_predictions(preds, top = 3)[[1]] ## End(Not run)
## Not run: library(keras) # instantiate the model model <- application_resnet50(weights = 'imagenet') # load the image img_path <- "elephant.jpg" img <- image_load(img_path, target_size = c(224,224)) x <- image_to_array(img) # ensure we have a 4d tensor with single element in the batch dimension, # the preprocess the input for prediction using resnet50 x <- array_reshape(x, c(1, dim(x))) x <- imagenet_preprocess_input(x) # make predictions then decode and print them preds <- model %>% predict(x) imagenet_decode_predictions(preds, top = 3)[[1]] ## End(Not run)
VGG16 and VGG19 models for Keras.
application_vgg16( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax" ) application_vgg19( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax" )
application_vgg16( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax" ) application_vgg19( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax" )
include_top |
whether to include the 3 fully-connected layers at the top of the network. |
weights |
One of |
input_tensor |
Optional Keras tensor
(i.e. output of |
input_shape |
optional shape list, only to be specified if |
pooling |
Optional pooling mode for feature extraction
when
|
classes |
Optional number of classes to classify images into, only to be
specified if |
classifier_activation |
A string or callable. The activation function to
use on the "top" layer. Ignored unless |
Optionally loads weights pre-trained on ImageNet.
The imagenet_preprocess_input()
function should be used for image preprocessing.
Keras model instance.
- Very Deep Convolutional Networks for Large-Scale Image Recognition
## Not run: library(keras) model <- application_vgg16(weights = 'imagenet', include_top = FALSE) img_path <- "elephant.jpg" img <- image_load(img_path, target_size = c(224,224)) x <- image_to_array(img) x <- array_reshape(x, c(1, dim(x))) x <- imagenet_preprocess_input(x) features <- model %>% predict(x) ## End(Not run)
## Not run: library(keras) model <- application_vgg16(weights = 'imagenet', include_top = FALSE) img_path <- "elephant.jpg" img <- image_load(img_path, target_size = c(224,224)) x <- image_to_array(img) x <- array_reshape(x, c(1, dim(x))) x <- imagenet_preprocess_input(x) features <- model %>% predict(x) ## End(Not run)
Instantiates the Xception architecture
application_xception( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax", ... ) xception_preprocess_input(x)
application_xception( include_top = TRUE, weights = "imagenet", input_tensor = NULL, input_shape = NULL, pooling = NULL, classes = 1000, classifier_activation = "softmax", ... ) xception_preprocess_input(x)
include_top |
Whether to include the fully-connected
layer at the top of the network. Defaults to |
weights |
One of |
input_tensor |
Optional Keras tensor
(i.e. output of |
input_shape |
optional shape list, only to be specified
if |
pooling |
Optional pooling mode for feature extraction
when
|
classes |
Optional number of classes to classify images into, only to be
specified if |
classifier_activation |
A string or callable. The activation function to
use on the "top" layer. Ignored unless |
... |
For backwards and forwards compatibility |
x |
|
For image classification use cases, see this page for detailed examples.
For transfer learning use cases, make sure to read the guide to transfer learning & fine-tuning.
The default input image size for this model is 299x299.
Each Keras Application typically expects a specific kind of input preprocessing.
For Xception, call xception_preprocess_input()
on your
inputs before passing them to the model.
xception_preprocess_input()
will scale input pixels between -1 and 1.
Obtain a reference to the keras.backend
Python module used to implement
tensor operations.
backend(convert = TRUE)
backend(convert = TRUE)
convert |
Boolean; should Python objects be automatically converted
to their R equivalent? If set to |
Reference to Keras backend python module.
See the documentation here https://keras.io/backend/ for additional details on the available functions.
Bidirectional wrapper for RNNs
bidirectional( object, layer, merge_mode = "concat", weights = NULL, backward_layer = NULL, ... )
bidirectional( object, layer, merge_mode = "concat", weights = NULL, backward_layer = NULL, ... )
object |
What to compose the new
|
layer |
A
|
merge_mode |
Mode by which outputs of the forward and backward RNNs will
be combined. One of |
weights |
Split and propagated to the |
backward_layer |
Optional |
... |
standard layer arguments. |
Other layer wrappers:
time_distributed()
Callback to back up and restore the training state
callback_backup_and_restore(backup_dir, ...)
callback_backup_and_restore(backup_dir, ...)
backup_dir |
String, path to store the checkpoint.
e.g. |
... |
For backwards and forwards compatibility |
BackupAndRestore
callback is intended to recover training from an
interruption that has happened in the middle of a fit(model)
execution, by
backing up the training states in a temporary checkpoint file (with the help
of a tf.train.CheckpointManager
), at the end of each epoch. Each backup
overwrites the previously written checkpoint file, so at any given time there
is at most one such checkpoint file for backup/restoring purpose.
If training restarts before completion, the training state (which includes the
Model
weights and epoch number) is restored to the most recently saved state
at the beginning of a new fit()
run. At the completion of a fit()
run, the temporary checkpoint file is deleted.
Note that the user is responsible to bring jobs back after the interruption. This callback is important for the backup and restore mechanism for fault tolerance purpose, and the model to be restored from an previous checkpoint is expected to be the same as the one used to back up. If user changes arguments passed to compile or fit, the checkpoint saved for fault tolerance can become invalid.
Note:
This callback is not compatible with eager execution disabled.
A checkpoint is saved at the end of each epoch. After restoring,
fit()
redoes any partial work during the unfinished epoch in which the
training got restarted (so the work done before the interruption doesn't
affect the final model state).
This works for both single worker and multi-worker modes. When fit()
is used with tf.distribute
, it supports tf.distribute.MirroredStrategy
,
tf.distribute.MultiWorkerMirroredStrategy
, tf.distribute.TPUStrategy
, and
tf.distribute.experimental.ParameterServerStrategy
.
Supports all values that can be represented as a string
callback_csv_logger(filename, separator = ",", append = FALSE)
callback_csv_logger(filename, separator = ",", append = FALSE)
filename |
filename of the csv file, e.g. 'run/log.csv'. |
separator |
string used to separate elements in the csv file. |
append |
|
Other callbacks:
callback_early_stopping()
,
callback_lambda()
,
callback_learning_rate_scheduler()
,
callback_model_checkpoint()
,
callback_progbar_logger()
,
callback_reduce_lr_on_plateau()
,
callback_remote_monitor()
,
callback_tensorboard()
,
callback_terminate_on_naan()
Stop training when a monitored quantity has stopped improving.
callback_early_stopping( monitor = "val_loss", min_delta = 0, patience = 0, verbose = 0, mode = c("auto", "min", "max"), baseline = NULL, restore_best_weights = FALSE )
callback_early_stopping( monitor = "val_loss", min_delta = 0, patience = 0, verbose = 0, mode = c("auto", "min", "max"), baseline = NULL, restore_best_weights = FALSE )
monitor |
quantity to be monitored. |
min_delta |
minimum change in the monitored quantity to qualify as an improvement, i.e. an absolute change of less than min_delta, will count as no improvement. |
patience |
number of epochs with no improvement after which training will be stopped. |
verbose |
verbosity mode, 0 or 1. |
mode |
one of "auto", "min", "max". In |
baseline |
Baseline value for the monitored quantity to reach. Training will stop if the model doesn't show improvement over the baseline. |
restore_best_weights |
Whether to restore model weights from
the epoch with the best value of the monitored quantity.
If |
Other callbacks:
callback_csv_logger()
,
callback_lambda()
,
callback_learning_rate_scheduler()
,
callback_model_checkpoint()
,
callback_progbar_logger()
,
callback_reduce_lr_on_plateau()
,
callback_remote_monitor()
,
callback_tensorboard()
,
callback_terminate_on_naan()
This callback is constructed with anonymous functions that will be called at the appropriate time. Note that the callbacks expects positional arguments, as:
callback_lambda( on_epoch_begin = NULL, on_epoch_end = NULL, on_batch_begin = NULL, on_batch_end = NULL, on_train_batch_begin = NULL, on_train_batch_end = NULL, on_train_begin = NULL, on_train_end = NULL, on_predict_batch_begin = NULL, on_predict_batch_end = NULL, on_predict_begin = NULL, on_predict_end = NULL, on_test_batch_begin = NULL, on_test_batch_end = NULL, on_test_begin = NULL, on_test_end = NULL )
callback_lambda( on_epoch_begin = NULL, on_epoch_end = NULL, on_batch_begin = NULL, on_batch_end = NULL, on_train_batch_begin = NULL, on_train_batch_end = NULL, on_train_begin = NULL, on_train_end = NULL, on_predict_batch_begin = NULL, on_predict_batch_end = NULL, on_predict_begin = NULL, on_predict_end = NULL, on_test_batch_begin = NULL, on_test_batch_end = NULL, on_test_begin = NULL, on_test_end = NULL )
on_epoch_begin |
called at the beginning of every epoch. |
on_epoch_end |
called at the end of every epoch. |
on_batch_begin |
called at the beginning of every training batch. |
on_batch_end |
called at the end of every training batch. |
on_train_batch_begin |
called at the beginning of every batch. |
on_train_batch_end |
called at the end of every batch. |
on_train_begin |
called at the beginning of model training. |
on_train_end |
called at the end of model training. |
on_predict_batch_begin |
called at the beginning of a batch in predict methods. |
on_predict_batch_end |
called at the end of a batch in predict methods. |
on_predict_begin |
called at the beginning of prediction. |
on_predict_end |
called at the end of prediction. |
on_test_batch_begin |
called at the beginning of a batch in evaluate methods. Also called at the beginning of a validation batch in the fit methods, if validation data is provided. |
on_test_batch_end |
called at the end of a batch in evaluate methods. Also called at the end of a validation batch in the fit methods, if validation data is provided. |
on_test_begin |
called at the beginning of evaluation or validation. |
on_test_end |
called at the end of evaluation or validation. |
on_epoch_begin
and on_epoch_end
expect two positional arguments: epoch
, logs
on_batch_*
, on_train_batch_*
, on_predict_batch_*
and on_test_batch_*
, expect
two positional arguments: batch
, logs
on_train_*
, on_test_*
and on_predict_*
expect one positional argument: logs
Other callbacks:
callback_csv_logger()
,
callback_early_stopping()
,
callback_learning_rate_scheduler()
,
callback_model_checkpoint()
,
callback_progbar_logger()
,
callback_reduce_lr_on_plateau()
,
callback_remote_monitor()
,
callback_tensorboard()
,
callback_terminate_on_naan()
Learning rate scheduler.
callback_learning_rate_scheduler(schedule)
callback_learning_rate_scheduler(schedule)
schedule |
a function that takes an epoch index as input (integer, indexed from 0) and current learning rate and returns a new learning rate as output (float). |
Other callbacks:
callback_csv_logger()
,
callback_early_stopping()
,
callback_lambda()
,
callback_model_checkpoint()
,
callback_progbar_logger()
,
callback_reduce_lr_on_plateau()
,
callback_remote_monitor()
,
callback_tensorboard()
,
callback_terminate_on_naan()
filepath
can contain named formatting options, which will be filled the
value of epoch
and keys in logs
(passed in on_epoch_end
). For example:
if filepath
is weights.{epoch:02d}-{val_loss:.2f}.hdf5
, then the model
checkpoints will be saved with the epoch number and the validation loss in
the filename.
callback_model_checkpoint( filepath, monitor = "val_loss", verbose = 0, save_best_only = FALSE, save_weights_only = FALSE, mode = c("auto", "min", "max"), period = NULL, save_freq = "epoch" )
callback_model_checkpoint( filepath, monitor = "val_loss", verbose = 0, save_best_only = FALSE, save_weights_only = FALSE, mode = c("auto", "min", "max"), period = NULL, save_freq = "epoch" )
filepath |
string, path to save the model file. |
monitor |
quantity to monitor. |
verbose |
verbosity mode, 0 or 1. |
save_best_only |
if |
save_weights_only |
if |
mode |
one of "auto", "min", "max". If |
period |
Interval (number of epochs) between checkpoints. |
save_freq |
|
if filepath
is
weights.{epoch:02d}-{val_loss:.2f}.hdf5
,: then the model checkpoints will
be saved with the epoch number and the validation loss in the filename.
Other callbacks:
callback_csv_logger()
,
callback_early_stopping()
,
callback_lambda()
,
callback_learning_rate_scheduler()
,
callback_progbar_logger()
,
callback_reduce_lr_on_plateau()
,
callback_remote_monitor()
,
callback_tensorboard()
,
callback_terminate_on_naan()
Callback that prints metrics to stdout.
callback_progbar_logger(count_mode = "samples", stateful_metrics = NULL)
callback_progbar_logger(count_mode = "samples", stateful_metrics = NULL)
count_mode |
One of "steps" or "samples". Whether the progress bar should count samples seens or steps (batches) seen. |
stateful_metrics |
List of metric names that should not
be averaged onver an epoch. Metrics in this list will be logged
as-is in |
Other callbacks:
callback_csv_logger()
,
callback_early_stopping()
,
callback_lambda()
,
callback_learning_rate_scheduler()
,
callback_model_checkpoint()
,
callback_reduce_lr_on_plateau()
,
callback_remote_monitor()
,
callback_tensorboard()
,
callback_terminate_on_naan()
Models often benefit from reducing the learning rate by a factor of 2-10 once learning stagnates. This callback monitors a quantity and if no improvement is seen for a 'patience' number of epochs, the learning rate is reduced.
callback_reduce_lr_on_plateau( monitor = "val_loss", factor = 0.1, patience = 10, verbose = 0, mode = c("auto", "min", "max"), min_delta = 1e-04, cooldown = 0, min_lr = 0 )
callback_reduce_lr_on_plateau( monitor = "val_loss", factor = 0.1, patience = 10, verbose = 0, mode = c("auto", "min", "max"), min_delta = 1e-04, cooldown = 0, min_lr = 0 )
monitor |
quantity to be monitored. |
factor |
factor by which the learning rate will be reduced. new_lr = lr \* factor |
patience |
number of epochs with no improvement after which learning rate will be reduced. |
verbose |
int. 0: quiet, 1: update messages. |
mode |
one of "auto", "min", "max". In min mode, lr will be reduced when the quantity monitored has stopped decreasing; in max mode it will be reduced when the quantity monitored has stopped increasing; in auto mode, the direction is automatically inferred from the name of the monitored quantity. |
min_delta |
threshold for measuring the new optimum, to only focus on significant changes. |
cooldown |
number of epochs to wait before resuming normal operation after lr has been reduced. |
min_lr |
lower bound on the learning rate. |
Other callbacks:
callback_csv_logger()
,
callback_early_stopping()
,
callback_lambda()
,
callback_learning_rate_scheduler()
,
callback_model_checkpoint()
,
callback_progbar_logger()
,
callback_remote_monitor()
,
callback_tensorboard()
,
callback_terminate_on_naan()
Callback used to stream events to a server.
callback_remote_monitor( root = "https://localhost:9000", path = "/publish/epoch/end/", field = "data", headers = NULL, send_as_json = FALSE )
callback_remote_monitor( root = "https://localhost:9000", path = "/publish/epoch/end/", field = "data", headers = NULL, send_as_json = FALSE )
root |
root url of the target server. |
path |
path relative to root to which the events will be sent. |
field |
JSON field under which the data will be stored. |
headers |
Optional named list of custom HTTP headers. Defaults to:
|
send_as_json |
Whether the request should be sent as application/json. |
Events are sent to root + '/publish/epoch/end/'
by default. Calls
are HTTP POST, with a data
argument which is a JSON-encoded dictionary
of event data. If send_as_json is set to True, the content type of the
request will be application/json. Otherwise the serialized JSON will be
send within a form
Other callbacks:
callback_csv_logger()
,
callback_early_stopping()
,
callback_lambda()
,
callback_learning_rate_scheduler()
,
callback_model_checkpoint()
,
callback_progbar_logger()
,
callback_reduce_lr_on_plateau()
,
callback_tensorboard()
,
callback_terminate_on_naan()
This callback writes a log for TensorBoard, which allows you to visualize dynamic graphs of your training and test metrics, as well as activation histograms for the different layers in your model.
callback_tensorboard( log_dir = NULL, histogram_freq = 0, batch_size = NULL, write_graph = TRUE, write_grads = FALSE, write_images = FALSE, embeddings_freq = 0, embeddings_layer_names = NULL, embeddings_metadata = NULL, embeddings_data = NULL, update_freq = "epoch", profile_batch = 0 )
callback_tensorboard( log_dir = NULL, histogram_freq = 0, batch_size = NULL, write_graph = TRUE, write_grads = FALSE, write_images = FALSE, embeddings_freq = 0, embeddings_layer_names = NULL, embeddings_metadata = NULL, embeddings_data = NULL, update_freq = "epoch", profile_batch = 0 )
log_dir |
The path of the directory where to save the log files to be
parsed by Tensorboard. The default is |
histogram_freq |
frequency (in epochs) at which to compute activation histograms for the layers of the model. If set to 0, histograms won't be computed. |
batch_size |
size of batch of inputs to feed to the network for histograms computation. No longer needed, ignored since TF 1.14. |
write_graph |
whether to visualize the graph in Tensorboard. The log
file can become quite large when write_graph is set to |
write_grads |
whether to visualize gradient histograms in TensorBoard.
|
write_images |
whether to write model weights to visualize as image in Tensorboard. |
embeddings_freq |
frequency (in epochs) at which selected embedding layers will be saved. |
embeddings_layer_names |
a list of names of layers to keep eye on. If
|
embeddings_metadata |
a named list which maps layer name to a file name in which metadata for this embedding layer is saved. See the details about the metadata file format. In case if the same metadata file is used for all embedding layers, string can be passed. |
embeddings_data |
Data to be embedded at layers specified in
|
update_freq |
|
profile_batch |
Profile the batch to sample compute characteristics. By default, it will disbale profiling. Set profile_batch=2 profile the second batch. Must run in TensorFlow eager mode. (TF >= 1.14) |
TensorBoard is a visualization tool provided with TensorFlow.
You can find more information about TensorBoard here.
When using a backend other than TensorFlow, TensorBoard will still work (if you have TensorFlow installed), but the only feature available will be the display of the losses and metrics plots.
Other callbacks:
callback_csv_logger()
,
callback_early_stopping()
,
callback_lambda()
,
callback_learning_rate_scheduler()
,
callback_model_checkpoint()
,
callback_progbar_logger()
,
callback_reduce_lr_on_plateau()
,
callback_remote_monitor()
,
callback_terminate_on_naan()
Callback that terminates training when a NaN loss is encountered.
callback_terminate_on_naan()
callback_terminate_on_naan()
Other callbacks:
callback_csv_logger()
,
callback_early_stopping()
,
callback_lambda()
,
callback_learning_rate_scheduler()
,
callback_model_checkpoint()
,
callback_progbar_logger()
,
callback_reduce_lr_on_plateau()
,
callback_remote_monitor()
,
callback_tensorboard()
Model cloning is similar to calling a model on new inputs, except that it creates new layers (and thus new weights) instead of sharing the weights of the existing layers.
clone_model(model, input_tensors = NULL, clone_function = NULL)
clone_model(model, input_tensors = NULL, clone_function = NULL)
model |
Instance of Keras model (could be a functional model or a Sequential model). |
input_tensors |
Optional list of input tensors to build the model upon. If not provided, placeholders will be created. |
clone_function |
Callable to be used to clone each layer in the target
model (except
By passing a custom callable, you can customize your copy of the model,
e.g. by wrapping certain layers of interest (you might want to replace all
LSTM instances with equivalent |
Configure a Keras model for training
## S3 method for class 'keras.engine.training.Model' compile( object, optimizer = NULL, loss = NULL, metrics = NULL, loss_weights = NULL, weighted_metrics = NULL, run_eagerly = NULL, steps_per_execution = NULL, ..., target_tensors = NULL, sample_weight_mode = NULL )
## S3 method for class 'keras.engine.training.Model' compile( object, optimizer = NULL, loss = NULL, metrics = NULL, loss_weights = NULL, weighted_metrics = NULL, run_eagerly = NULL, steps_per_execution = NULL, ..., target_tensors = NULL, sample_weight_mode = NULL )
object |
Model object to compile. |
optimizer |
String (name of optimizer) or optimizer instance. For most
models, this defaults to |
loss |
String (name of objective function), objective function or a
|
metrics |
List of metrics to be evaluated by the model during training
and testing. Each of this can be a string (name of a built-in function),
function or a |
loss_weights |
Optional list, dictionary, or named vector specifying
scalar numeric 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 individual losses, weighted by the
|
weighted_metrics |
List of metrics to be evaluated and weighted by
|
run_eagerly |
Bool. Defaults to |
steps_per_execution |
Int. Defaults to 1. The number of batches to run
during each |
... |
Arguments supported for backwards compatibility only. |
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 |
sample_weight_mode |
If you need to do timestep-wise sample weighting
(2D weights), set this to "temporal". |
Other model functions:
evaluate.keras.engine.training.Model()
,
evaluate_generator()
,
fit.keras.engine.training.Model()
,
fit_generator()
,
get_config()
,
get_layer()
,
keras_model()
,
keras_model_sequential()
,
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()
Functions that impose constraints on weight values.
constraint_maxnorm(max_value = 2, axis = 0) constraint_nonneg() constraint_unitnorm(axis = 0) constraint_minmaxnorm(min_value = 0, max_value = 1, rate = 1, axis = 0)
constraint_maxnorm(max_value = 2, axis = 0) constraint_nonneg() constraint_unitnorm(axis = 0) constraint_minmaxnorm(min_value = 0, max_value = 1, rate = 1, axis = 0)
max_value |
The maximum norm for the incoming weights. |
axis |
The axis along which to calculate weight norms. For instance, in
a dense layer the weight matrix has shape |
min_value |
The minimum norm for the incoming weights. |
rate |
The rate for enforcing the constraint: weights will be rescaled to yield (1 - rate) * norm + rate * norm.clip(low, high). Effectively, this means that rate=1.0 stands for strict enforcement of the constraint, while rate<1.0 means that weights will be rescaled at each step to slowly move towards a value inside the desired interval. |
constraint_maxnorm()
constrains the weights incident to each
hidden unit to have a norm less than or equal to a desired value.
constraint_nonneg()
constraints the weights to be non-negative
constraint_unitnorm()
constrains the weights incident to each hidden
unit to have unit norm.
constraint_minmaxnorm()
constrains the weights incident to each
hidden unit to have the norm between a lower bound and an upper bound.
You can implement your own constraint functions in R. A custom
constraint is an R function that takes weights (w
) as input
and returns modified weights. Note that keras backend()
tensor
functions (e.g. k_greater_equal()
) should be used in the
implementation of custom constraints. For example:
nonneg_constraint <- function(w) { w * k_cast(k_greater_equal(w, 0), k_floatx()) } layer_dense(units = 32, input_shape = c(784), kernel_constraint = nonneg_constraint)
Note that models which use custom constraints cannot be serialized using
save_model_hdf5()
. Rather, the weights of the model should be saved
and restored using save_model_weights_hdf5()
.
Dropout: A Simple Way to Prevent Neural Networks from Overfitting Srivastava, Hinton, et al. 2014
Count the total number of scalars composing the weights.
count_params(object)
count_params(object)
object |
Layer or model object |
An integer count
Other layer methods:
get_config()
,
get_input_at()
,
get_weights()
,
reset_states()
Create a Keras Layer
create_layer(layer_class, object, args = list())
create_layer(layer_class, object, args = list())
layer_class |
Python layer class or R6 class of type KerasLayer |
object |
Object to compose layer with. This is either a
|
args |
List of arguments to layer constructor function |
A Keras layer
The object
parameter can be missing, in which case the
layer is created without a connection to an existing graph.
Create a Keras Layer wrapper
create_layer_wrapper(Layer, modifiers = NULL, convert = TRUE)
create_layer_wrapper(Layer, modifiers = NULL, convert = TRUE)
Layer |
A R6 or Python class generator that inherits from
|
modifiers |
A named list of functions to modify to user-supplied
arguments before they are passed on to the class constructor. (e.g.,
|
convert |
Boolean, whether the Python class and its methods should by default convert python objects to R objects. See guide 'making_new_layers_and_models_via_subclassing.Rmd' for example usage. |
An R function that behaves similarly to the builtin keras layer_*
functions. When called, it will create the class instance, and also
optionally call it on a supplied argument object
if it is present. This
enables keras layers to compose nicely with the pipe (%>%
).
The R function will arguments taken from the initialize
(or __init__
)
method of the Layer.
If Layer is an R6 object, this will delay initializing the python session, so it is safe to use in an R package.
Custom metric function
custom_metric(name, metric_fn)
custom_metric(name, metric_fn)
name |
name used to show training progress output |
metric_fn |
An R function with signature |
You can provide an arbitrary R function as a custom metric. Note that
the y_true
and y_pred
parameters are tensors, so computations on
them should use backend tensor functions.
Use the custom_metric()
function to define a custom metric.
Note that a name ('mean_pred') is provided for the custom metric
function: this name is used within training progress output.
If you want to save and load a model with custom metrics, you should
also specify the metric in the call the load_model_hdf5()
. For example:
load_model_hdf5("my_model.h5", c('mean_pred' = metric_mean_pred))
.
Alternatively, you can wrap all of your code in a call to
with_custom_object_scope()
which will allow you to refer to the
metric by name just like you do with built in keras metrics.
Documentation on the available backend tensor functions can be found at https://tensorflow.rstudio.com/reference/keras/#backend.
Alternative ways of supplying custom metrics:
custom_metric():
Arbitrary R function.
metric_mean_wrapper()
: Wrap an arbitrary R function in a Metric
instance.
subclass keras$metrics$Metric
: see ?Metric
for example.
Other metrics:
metric_accuracy()
,
metric_auc()
,
metric_binary_accuracy()
,
metric_binary_crossentropy()
,
metric_categorical_accuracy()
,
metric_categorical_crossentropy()
,
metric_categorical_hinge()
,
metric_cosine_similarity()
,
metric_false_negatives()
,
metric_false_positives()
,
metric_hinge()
,
metric_kullback_leibler_divergence()
,
metric_logcosh_error()
,
metric_mean()
,
metric_mean_absolute_error()
,
metric_mean_absolute_percentage_error()
,
metric_mean_iou()
,
metric_mean_relative_error()
,
metric_mean_squared_error()
,
metric_mean_squared_logarithmic_error()
,
metric_mean_tensor()
,
metric_mean_wrapper()
,
metric_poisson()
,
metric_precision()
,
metric_precision_at_recall()
,
metric_recall()
,
metric_recall_at_precision()
,
metric_root_mean_squared_error()
,
metric_sensitivity_at_specificity()
,
metric_sparse_categorical_accuracy()
,
metric_sparse_categorical_crossentropy()
,
metric_sparse_top_k_categorical_accuracy()
,
metric_specificity_at_sensitivity()
,
metric_squared_hinge()
,
metric_sum()
,
metric_top_k_categorical_accuracy()
,
metric_true_negatives()
,
metric_true_positives()
Dataset taken from the StatLib library which is maintained at Carnegie Mellon University.
dataset_boston_housing( path = "boston_housing.npz", test_split = 0.2, seed = 113L )
dataset_boston_housing( path = "boston_housing.npz", test_split = 0.2, seed = 113L )
path |
Path where to cache the dataset locally (relative to ~/.keras/datasets). |
test_split |
fraction of the data to reserve as test set. |
seed |
Random seed for shuffling the data before computing the test split. |
Lists of training and test data: train$x, train$y, test$x, test$y
.
Samples contain 13 attributes of houses at different locations around the Boston suburbs in the late 1970s. Targets are the median values of the houses at a location (in k$).
Other datasets:
dataset_cifar10()
,
dataset_cifar100()
,
dataset_fashion_mnist()
,
dataset_imdb()
,
dataset_mnist()
,
dataset_reuters()
Dataset of 50,000 32x32 color training images, labeled over 10 categories, and 10,000 test images.
dataset_cifar10()
dataset_cifar10()
Lists of training and test data: train$x, train$y, test$x, test$y
.
The x
data is an array of RGB image data with shape (num_samples, 3, 32,
32).
The y
data is an array of category labels (integers in range 0-9) with
shape (num_samples).
Other datasets:
dataset_boston_housing()
,
dataset_cifar100()
,
dataset_fashion_mnist()
,
dataset_imdb()
,
dataset_mnist()
,
dataset_reuters()
Dataset of 50,000 32x32 color training images, labeled over 100 categories, and 10,000 test images.
dataset_cifar100(label_mode = c("fine", "coarse"))
dataset_cifar100(label_mode = c("fine", "coarse"))
label_mode |
one of "fine", "coarse". |
Lists of training and test data: train$x, train$y, test$x, test$y
.
The x
data is an array of RGB image data with shape (num_samples, 3, 32, 32).
The y
data is an array of category labels with shape (num_samples).
Other datasets:
dataset_boston_housing()
,
dataset_cifar10()
,
dataset_fashion_mnist()
,
dataset_imdb()
,
dataset_mnist()
,
dataset_reuters()
Dataset of 60,000 28x28 grayscale images of the 10 fashion article classes, along with a test set of 10,000 images. This dataset can be used as a drop-in replacement for MNIST. The class labels are encoded as integers from 0-9 which correspond to T-shirt/top, Trouser, Pullover, Dress, Coat, Sandal, Shirt,
dataset_fashion_mnist()
dataset_fashion_mnist()
Dataset of 60,000 28x28 grayscale images of 10 fashion categories, along with a test set of 10,000 images. This dataset can be used as a drop-in replacement for MNIST. The class labels are:
0 - T-shirt/top
1 - Trouser
2 - Pullover
3 - Dress
4 - Coat
5 - Sandal
6 - Shirt
7 - Sneaker
8 - Bag
9 - Ankle boot
Lists of training and test data: train$x, train$y, test$x, test$y
, where
x
is an array of grayscale image data with shape (num_samples, 28, 28) and y
is an array of article labels (integers in range 0-9) with shape (num_samples).
Other datasets:
dataset_boston_housing()
,
dataset_cifar10()
,
dataset_cifar100()
,
dataset_imdb()
,
dataset_mnist()
,
dataset_reuters()
Dataset of 25,000 movies reviews from IMDB, labeled by sentiment (positive/negative). Reviews have been preprocessed, and each review is encoded as a sequence of word indexes (integers). For convenience, words are indexed by overall frequency in the dataset, so that for instance the integer "3" encodes the 3rd most frequent word in the data. This allows for quick filtering operations such as: "only consider the top 10,000 most common words, but eliminate the top 20 most common words".
dataset_imdb( path = "imdb.npz", num_words = NULL, skip_top = 0L, maxlen = NULL, seed = 113L, start_char = 1L, oov_char = 2L, index_from = 3L ) dataset_imdb_word_index(path = "imdb_word_index.json")
dataset_imdb( path = "imdb.npz", num_words = NULL, skip_top = 0L, maxlen = NULL, seed = 113L, start_char = 1L, oov_char = 2L, index_from = 3L ) dataset_imdb_word_index(path = "imdb_word_index.json")
path |
Where to cache the data (relative to |
num_words |
Max number of words to include. Words are ranked by how often they occur (in the training set) and only the most frequent words are kept |
skip_top |
Skip the top N most frequently occuring words (which may not be informative). |
maxlen |
sequences longer than this will be filtered out. |
seed |
random seed for sample shuffling. |
start_char |
The start of a sequence will be marked with this character. Set to 1 because 0 is usually the padding character. |
oov_char |
Words that were cut out because of the |
index_from |
Index actual words with this index and higher. |
As a convention, "0" does not stand for a specific word, but instead is used to encode any unknown word.
Lists of training and test data: train$x, train$y, test$x, test$y
.
The x
data includes integer sequences. If the num_words
argument was
specific, the maximum possible index value is num_words-1
. If the
maxlen
argument was specified, the largest possible sequence length is
maxlen
.
The y
data includes a set of integer labels (0 or 1).
The dataset_imdb_word_index()
function returns a list where the
names are words and the values are integer.
Other datasets:
dataset_boston_housing()
,
dataset_cifar10()
,
dataset_cifar100()
,
dataset_fashion_mnist()
,
dataset_mnist()
,
dataset_reuters()
Dataset of 60,000 28x28 grayscale images of the 10 digits, along with a test set of 10,000 images.
dataset_mnist(path = "mnist.npz")
dataset_mnist(path = "mnist.npz")
path |
Path where to cache the dataset locally (relative to ~/.keras/datasets). |
Lists of training and test data: train$x, train$y, test$x, test$y
, where
x
is an array of grayscale image data with shape (num_samples, 28, 28) and y
is an array of digit labels (integers in range 0-9) with shape (num_samples).
Other datasets:
dataset_boston_housing()
,
dataset_cifar10()
,
dataset_cifar100()
,
dataset_fashion_mnist()
,
dataset_imdb()
,
dataset_reuters()
Dataset of 11,228 newswires from Reuters, labeled over 46 topics. As with
dataset_imdb()
, each wire is encoded as a sequence of word indexes (same
conventions).
dataset_reuters( path = "reuters.npz", num_words = NULL, skip_top = 0L, maxlen = NULL, test_split = 0.2, seed = 113L, start_char = 1L, oov_char = 2L, index_from = 3L ) dataset_reuters_word_index(path = "reuters_word_index.pkl")
dataset_reuters( path = "reuters.npz", num_words = NULL, skip_top = 0L, maxlen = NULL, test_split = 0.2, seed = 113L, start_char = 1L, oov_char = 2L, index_from = 3L ) dataset_reuters_word_index(path = "reuters_word_index.pkl")
path |
Where to cache the data (relative to |
num_words |
Max number of words to include. Words are ranked by how often they occur (in the training set) and only the most frequent words are kept |
skip_top |
Skip the top N most frequently occuring words (which may not be informative). |
maxlen |
Truncate sequences after this length. |
test_split |
Fraction of the dataset to be used as test data. |
seed |
Random seed for sample shuffling. |
start_char |
The start of a sequence will be marked with this character. Set to 1 because 0 is usually the padding character. |
oov_char |
words that were cut out because of the |
index_from |
index actual words with this index and higher. |
Lists of training and test data: train$x, train$y, test$x, test$y
with same format as dataset_imdb()
. The dataset_reuters_word_index()
function returns a list where the names are words and the values are
integer. e.g. word_index[["giraffe"]]
might return 1234
.
Other datasets:
dataset_boston_housing()
,
dataset_cifar10()
,
dataset_cifar100()
,
dataset_fashion_mnist()
,
dataset_imdb()
,
dataset_mnist()
Evaluate a Keras model
## S3 method for class 'keras.engine.training.Model' evaluate( object, x = NULL, y = NULL, batch_size = NULL, verbose = "auto", sample_weight = NULL, steps = NULL, callbacks = NULL, ... )
## S3 method for class 'keras.engine.training.Model' evaluate( object, x = NULL, y = NULL, batch_size = NULL, verbose = "auto", sample_weight = NULL, steps = NULL, callbacks = NULL, ... )
object |
Model object to evaluate |
x |
Vector, matrix, or array of test data (or list if the model has
multiple inputs). If all inputs in the model are named, you can also pass a
list mapping input names to data. |
y |
Vector, matrix, or array of target (label) data (or list if the model has
multiple outputs). If all outputs in the model are named, you can also pass
a list mapping output names to data. |
batch_size |
Integer or |
verbose |
Verbosity mode (0 = silent, 1 = progress bar, 2 = one line per epoch). Defaults to 1 in most contexts, 2 if in knitr render or running on a distributed training server. |
sample_weight |
Optional array of the same length as x, containing
weights to apply to the model's loss for each sample. In the case of
temporal data, you can pass a 2D array with shape (samples,
sequence_length), to apply a different weight to every timestep of every
sample. In this case you should make sure to specify
|
steps |
Total number of steps (batches of samples) before declaring the
evaluation round finished. Ignored with the default value of |
callbacks |
List of callbacks to apply during evaluation. |
... |
Unused |
Named list of model test loss (or losses for models with multiple outputs) and model metrics.
Other model functions:
compile.keras.engine.training.Model()
,
evaluate_generator()
,
fit.keras.engine.training.Model()
,
fit_generator()
,
get_config()
,
get_layer()
,
keras_model()
,
keras_model_sequential()
,
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()
Serialize a model to disk.
## S3 method for class 'keras.engine.training.Model' export_savedmodel( object, export_dir_base, overwrite = TRUE, versioned = !overwrite, remove_learning_phase = TRUE, as_text = FALSE, ... )
## S3 method for class 'keras.engine.training.Model' export_savedmodel( object, export_dir_base, overwrite = TRUE, versioned = !overwrite, remove_learning_phase = TRUE, as_text = FALSE, ... )
object |
An R object. |
export_dir_base |
A string containing a directory in which to export the SavedModel. |
overwrite |
Should the |
versioned |
Should the model be exported under a versioned subdirectory? |
remove_learning_phase |
Should the learning phase be removed by saving
and reloading the model? Defaults to |
as_text |
Whether to write the SavedModel in text format. |
... |
Other arguments passed to tf.saved_model.save. (Used only if TensorFlow version >= 2.0) |
The path to the exported directory, as a string.
Required for featurewise_center
, featurewise_std_normalization
and zca_whitening
.
fit_image_data_generator(object, x, augment = FALSE, rounds = 1, seed = NULL)
fit_image_data_generator(object, x, augment = FALSE, rounds = 1, seed = NULL)
object |
|
x |
array, the data to fit on (should have rank 4). In case of grayscale data, the channels axis should have value 1, and in case of RGB data, it should have value 3. |
augment |
Whether to fit on randomly augmented samples |
rounds |
If |
seed |
random seed. |
Other image preprocessing:
flow_images_from_data()
,
flow_images_from_dataframe()
,
flow_images_from_directory()
,
image_load()
,
image_to_array()
Update tokenizer internal vocabulary based on a list of texts or list of sequences.
fit_text_tokenizer(object, x)
fit_text_tokenizer(object, x)
object |
Tokenizer returned by |
x |
Vector/list of strings, or a generator of strings (for memory-efficiency); Alternatively a list of "sequence" (a sequence is a list of integer word indices). |
Required before using texts_to_sequences()
, texts_to_matrix()
, or
sequences_to_matrix()
.
Other text tokenization:
save_text_tokenizer()
,
sequences_to_matrix()
,
text_tokenizer()
,
texts_to_matrix()
,
texts_to_sequences()
,
texts_to_sequences_generator()
Trains the model for a fixed number of epochs (iterations on a dataset).
## S3 method for class 'keras.engine.training.Model' fit( object, x = NULL, y = NULL, batch_size = NULL, epochs = 10, verbose = getOption("keras.fit_verbose", default = "auto"), callbacks = NULL, view_metrics = getOption("keras.view_metrics", default = "auto"), validation_split = 0, validation_data = NULL, shuffle = TRUE, class_weight = NULL, sample_weight = NULL, initial_epoch = 0, steps_per_epoch = NULL, validation_steps = NULL, ... )
## S3 method for class 'keras.engine.training.Model' fit( object, x = NULL, y = NULL, batch_size = NULL, epochs = 10, verbose = getOption("keras.fit_verbose", default = "auto"), callbacks = NULL, view_metrics = getOption("keras.view_metrics", default = "auto"), validation_split = 0, validation_data = NULL, shuffle = TRUE, class_weight = NULL, sample_weight = NULL, initial_epoch = 0, steps_per_epoch = NULL, validation_steps = NULL, ... )
object |
Model to train. |
x |
Vector, matrix, or array of training data (or list if the model has
multiple inputs). If all inputs in the model are named, you can also pass a
list mapping input names to data. |
y |
Vector, matrix, or array of target (label) data (or list if the
model has multiple outputs). If all outputs in the model are named, you can
also pass a list mapping output names to data. |
batch_size |
Integer or |
epochs |
Number of epochs to train the model. Note that in conjunction
with |
verbose |
Verbosity mode (0 = silent, 1 = progress bar, 2 = one line per epoch). Defaults to 1 in most contexts, 2 if in knitr render or running on a distributed training server. |
callbacks |
List of callbacks to be called during training. |
view_metrics |
View realtime plot of training metrics (by epoch). The
default ( |
validation_split |
Float between 0 and 1. Fraction of the training data
to be used as validation data. The model will set apart this fraction of
the training data, will not train on it, and will evaluate the loss and any
model metrics on this data at the end of each epoch. The validation data is
selected from the last samples in the |
validation_data |
Data on which to evaluate the loss and any model
metrics at the end of each epoch. The model will not be trained on this
data. This could be a list (x_val, y_val) or a list (x_val, y_val,
val_sample_weights). |
shuffle |
shuffle: Logical (whether to shuffle the training data before
each epoch) or string (for "batch"). "batch" is a special option for
dealing with the limitations of HDF5 data; it shuffles in batch-sized
chunks. Has no effect when |
class_weight |
Optional named list mapping indices (integers) to a weight (float) value, used for weighting the loss function (during training only). This can be useful to tell the model to "pay more attention" to samples from an under-represented class. |
sample_weight |
Optional array of the same length as x, containing
weights to apply to the model's loss for each sample. In the case of
temporal data, you can pass a 2D array with shape (samples,
sequence_length), to apply a different weight to every timestep of every
sample. In this case you should make sure to specify
|
initial_epoch |
Integer, Epoch at which to start training (useful for resuming a previous training run). |
steps_per_epoch |
Total number of steps (batches of samples) before
declaring one epoch finished and starting the next epoch. When training
with input tensors such as TensorFlow data tensors, the default |
validation_steps |
Only relevant if |
... |
Unused |
A history
object that contains all information collected during
training.
Other model functions:
compile.keras.engine.training.Model()
,
evaluate.keras.engine.training.Model()
,
evaluate_generator()
,
fit_generator()
,
get_config()
,
get_layer()
,
keras_model()
,
keras_model_sequential()
,
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()
Generates batches of augmented/normalized data from image data and labels
flow_images_from_data( x, y = NULL, generator = image_data_generator(), batch_size = 32, shuffle = TRUE, sample_weight = NULL, seed = NULL, save_to_dir = NULL, save_prefix = "", save_format = "png", subset = NULL )
flow_images_from_data( x, y = NULL, generator = image_data_generator(), batch_size = 32, shuffle = TRUE, sample_weight = NULL, seed = NULL, save_to_dir = NULL, save_prefix = "", save_format = "png", subset = NULL )
x |
data. Should have rank 4. In case of grayscale data, the channels axis should have value 1, and in case of RGB data, it should have value 3. |
y |
labels (can be |
generator |
Image data generator to use for augmenting/normalizing image data. |
batch_size |
int (default: |
shuffle |
boolean (defaut: |
sample_weight |
Sample weights. |
seed |
int (default: |
save_to_dir |
|
save_prefix |
str (default: ”). Prefix to use for filenames of saved
pictures (only relevant if |
save_format |
one of "png", "jpeg" (only relevant if save_to_dir is set). Default: "png". |
subset |
Subset of data ( |
Yields batches indefinitely, in an infinite loop.
(x, y)
where x
is an array of image data and y
is a
array of corresponding labels. The generator loops indefinitely.
Other image preprocessing:
fit_image_data_generator()
,
flow_images_from_dataframe()
,
flow_images_from_directory()
,
image_load()
,
image_to_array()
Takes the dataframe and the path to a directory and generates batches of augmented/normalized data.
flow_images_from_dataframe( dataframe, directory = NULL, x_col = "filename", y_col = "class", generator = image_data_generator(), target_size = c(256, 256), color_mode = "rgb", classes = NULL, class_mode = "categorical", batch_size = 32, shuffle = TRUE, seed = NULL, save_to_dir = NULL, save_prefix = "", save_format = "png", subset = NULL, interpolation = "nearest", drop_duplicates = NULL )
flow_images_from_dataframe( dataframe, directory = NULL, x_col = "filename", y_col = "class", generator = image_data_generator(), target_size = c(256, 256), color_mode = "rgb", classes = NULL, class_mode = "categorical", batch_size = 32, shuffle = TRUE, seed = NULL, save_to_dir = NULL, save_prefix = "", save_format = "png", subset = NULL, interpolation = "nearest", drop_duplicates = NULL )
dataframe |
|
directory |
character, path to the directory to read images from.
If |
x_col |
character, column in dataframe that contains the filenames
(or absolute paths if directory is |
y_col |
string or list, column/s in dataframe that has the target data. |
generator |
Image data generator to use for augmenting/normalizing image data. |
target_size |
Either |
color_mode |
one of "grayscale", "rgb". Default: "rgb". Whether the images will be converted to have 1 or 3 color channels. |
classes |
optional list of classes (e.g. |
class_mode |
one of "categorical", "binary", "sparse", "input", "other" or None. Default: "categorical". Mode for yielding the targets:
|
batch_size |
int (default: |
shuffle |
boolean (defaut: |
seed |
int (default: |
save_to_dir |
|
save_prefix |
str (default: ”). Prefix to use for filenames of saved
pictures (only relevant if |
save_format |
one of "png", "jpeg" (only relevant if save_to_dir is set). Default: "png". |
subset |
Subset of data ( |
interpolation |
Interpolation method used to resample the image if the target size is different from that of the loaded image. Supported methods are "nearest", "bilinear", and "bicubic". If PIL version 1.1.3 or newer is installed, "lanczos" is also supported. If PIL version 3.4.0 or newer is installed, "box" and "hamming" are also supported. By default, "nearest" is used. |
drop_duplicates |
(deprecated in TF >= 2.3) Boolean, whether to drop
duplicate rows based on filename. The default value is |
Yields batches indefinitely, in an infinite loop.
(x, y)
where x
is an array of image data and y
is a
array of corresponding labels. The generator loops indefinitely.
This functions requires that pandas
(Python module) is installed in the
same environment as tensorflow
and keras
.
If you are using r-tensorflow
(the default environment) you can install
pandas
by running reticulate::virtualenv_install("pandas", envname = "r-tensorflow")
or reticulate::conda_install("pandas", envname = "r-tensorflow")
depending on
the kind of environment you are using.
Other image preprocessing:
fit_image_data_generator()
,
flow_images_from_data()
,
flow_images_from_directory()
,
image_load()
,
image_to_array()
Generates batches of data from images in a directory (with optional augmented/normalized data)
flow_images_from_directory( directory, generator = image_data_generator(), target_size = c(256, 256), color_mode = "rgb", classes = NULL, class_mode = "categorical", batch_size = 32, shuffle = TRUE, seed = NULL, save_to_dir = NULL, save_prefix = "", save_format = "png", follow_links = FALSE, subset = NULL, interpolation = "nearest" )
flow_images_from_directory( directory, generator = image_data_generator(), target_size = c(256, 256), color_mode = "rgb", classes = NULL, class_mode = "categorical", batch_size = 32, shuffle = TRUE, seed = NULL, save_to_dir = NULL, save_prefix = "", save_format = "png", follow_links = FALSE, subset = NULL, interpolation = "nearest" )
directory |
path to the target directory. It should contain one subdirectory per class. Any PNG, JPG, BMP, PPM, or TIF images inside each of the subdirectories directory tree will be included in the generator. See this script for more details. |
generator |
Image data generator (default generator does no data augmentation/normalization transformations) |
target_size |
integer vector, default: |
color_mode |
one of "grayscale", "rbg". Default: "rgb". Whether the images will be converted to have 1 or 3 color channels. |
classes |
optional list of class subdirectories (e.g. |
class_mode |
one of "categorical", "binary", "sparse" or |
batch_size |
int (default: |
shuffle |
boolean (defaut: |
seed |
int (default: |
save_to_dir |
|
save_prefix |
str (default: ”). Prefix to use for filenames of saved
pictures (only relevant if |
save_format |
one of "png", "jpeg" (only relevant if save_to_dir is set). Default: "png". |
follow_links |
whether to follow symlinks inside class subdirectories
(default: |
subset |
Subset of data ( |
interpolation |
Interpolation method used to resample the image if the target size is different from that of the loaded image. Supported methods are "nearest", "bilinear", and "bicubic". If PIL version 1.1.3 or newer is installed, "lanczos" is also supported. If PIL version 3.4.0 or newer is installed, "box" and "hamming" are also supported. By default, "nearest" is used. |
Yields batches indefinitely, in an infinite loop.
(x, y)
where x
is an array of image data and y
is a
array of corresponding labels. The generator loops indefinitely.
Other image preprocessing:
fit_image_data_generator()
,
flow_images_from_data()
,
flow_images_from_dataframe()
,
image_load()
,
image_to_array()
Freeze weights in a model or layer so that they are no longer trainable.
freeze_weights(object, from = NULL, to = NULL, which = NULL) unfreeze_weights(object, from = NULL, to = NULL, which = NULL)
freeze_weights(object, from = NULL, to = NULL, which = NULL) unfreeze_weights(object, from = NULL, to = NULL, which = 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 |
which |
layer names, integer positions, layers, logical vector (of
|
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.
## Not run: conv_base <- application_vgg16( weights = "imagenet", include_top = FALSE, input_shape = c(150, 150, 3) ) # freeze it's weights freeze_weights(conv_base) 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 %>% compile( loss = "binary_crossentropy", optimizer = optimizer_rmsprop(lr = 2e-5), metrics = c("accuracy") ) model print(model, expand_nested = TRUE) # unfreeze weights from "block5_conv1" on unfreeze_weights(conv_base, from = "block5_conv1") # compile again since we froze or unfroze weights model %>% compile( loss = "binary_crossentropy", optimizer = optimizer_rmsprop(lr = 2e-5), metrics = c("accuracy") ) conv_base print(model, expand_nested = TRUE) # freeze only the last 5 layers freeze_weights(conv_base, from = -5) conv_base # equivalently, also freeze only the last 5 layers unfreeze_weights(conv_base, to = -6) conv_base # Freeze only layers of a certain type, e.g, BatchNorm layers batch_norm_layer_class_name <- class(layer_batch_normalization())[1] is_batch_norm_layer <- function(x) inherits(x, batch_norm_layer_class_name) model <- application_efficientnet_b0() freeze_weights(model, which = is_batch_norm_layer) model # equivalent to: for(layer in model$layers) { if(is_batch_norm_layer(layer)) layer$trainable <- FALSE else layer$trainable <- TRUE } ## End(Not run)
## Not run: conv_base <- application_vgg16( weights = "imagenet", include_top = FALSE, input_shape = c(150, 150, 3) ) # freeze it's weights freeze_weights(conv_base) 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 %>% compile( loss = "binary_crossentropy", optimizer = optimizer_rmsprop(lr = 2e-5), metrics = c("accuracy") ) model print(model, expand_nested = TRUE) # unfreeze weights from "block5_conv1" on unfreeze_weights(conv_base, from = "block5_conv1") # compile again since we froze or unfroze weights model %>% compile( loss = "binary_crossentropy", optimizer = optimizer_rmsprop(lr = 2e-5), metrics = c("accuracy") ) conv_base print(model, expand_nested = TRUE) # freeze only the last 5 layers freeze_weights(conv_base, from = -5) conv_base # equivalently, also freeze only the last 5 layers unfreeze_weights(conv_base, to = -6) conv_base # Freeze only layers of a certain type, e.g, BatchNorm layers batch_norm_layer_class_name <- class(layer_batch_normalization())[1] is_batch_norm_layer <- function(x) inherits(x, batch_norm_layer_class_name) model <- application_efficientnet_b0() freeze_weights(model, which = is_batch_norm_layer) model # equivalent to: for(layer in model$layers) { if(is_batch_norm_layer(layer)) layer$trainable <- FALSE else layer$trainable <- TRUE } ## End(Not run)
Use to retrieve items from generators (e.g. image_data_generator()
). Will return
either the next item or NULL
if there are no more items.
generator_next(generator, completed = NULL)
generator_next(generator, completed = NULL)
generator |
Generator |
completed |
Sentinel value to return from |
A layer config is an object returned from get_config()
that contains the
configuration of a layer or model. The same layer or model can be
reinstantiated later (without its trained weights) from this configuration
using from_config()
. The config does not include connectivity information,
nor the class name (those are handled externally).
get_config(object) from_config(config, custom_objects = NULL)
get_config(object) from_config(config, custom_objects = NULL)
object |
Layer or model object |
config |
Object with layer or model configuration |
custom_objects |
list of custom objects needed to instantiate the layer,
e.g., custom layers defined by |
get_config()
returns an object with the configuration,
from_config()
returns a re-instantiation of the object.
Objects returned from get_config()
are not serializable. Therefore,
if you want to save and restore a model across sessions, you can use the
model_to_json()
function (for model configuration only, not weights) or
the save_model_tf()
function to save the model configuration and weights
to the filesystem.
Other model functions:
compile.keras.engine.training.Model()
,
evaluate.keras.engine.training.Model()
,
evaluate_generator()
,
fit.keras.engine.training.Model()
,
fit_generator()
,
get_layer()
,
keras_model()
,
keras_model_sequential()
,
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()
Other layer methods:
count_params()
,
get_input_at()
,
get_weights()
,
reset_states()
Passing the MD5 hash will verify the file after download as well as if it is already present in the cache.
get_file( fname, origin, file_hash = NULL, cache_subdir = "datasets", hash_algorithm = "auto", extract = FALSE, archive_format = "auto", cache_dir = NULL, untar = FALSE )
get_file( fname, origin, file_hash = NULL, cache_subdir = "datasets", hash_algorithm = "auto", extract = FALSE, archive_format = "auto", cache_dir = NULL, untar = FALSE )
fname |
Name of the file. If an absolute path |
origin |
Original URL of the file. |
file_hash |
The expected hash string of the file after download. The sha256 and md5 hash algorithms are both supported. |
cache_subdir |
Subdirectory under the Keras cache dir where the file is
saved. If an absolute path |
hash_algorithm |
Select the hash algorithm to verify the file. options are 'md5', 'sha256', and 'auto'. The default 'auto' detects the hash algorithm in use. |
extract |
True tries extracting the file as an Archive, like tar or zip. |
archive_format |
Archive format to try for extracting the file. Options are 'auto', 'tar', 'zip', and None. 'tar' includes tar, tar.gz, and tar.bz files. The default 'auto' is ('tar', 'zip'). None or an empty list will return no matches found. |
cache_dir |
Location to store cached files, when |
untar |
Deprecated in favor of 'extract'. boolean, whether the file should be decompressed |
Path to the downloaded file
Whenever you are calling a layer on some input, you are creating a new tensor (the output of the layer), and you are adding a "node" to the layer, linking the input tensor to the output tensor. When you are calling the same layer multiple times, that layer owns multiple nodes indexed as 1, 2, 3. These functions enable you to retrieve various tensor properties of layers with multiple nodes.
get_input_at(object, node_index) get_output_at(object, node_index) get_input_shape_at(object, node_index) get_output_shape_at(object, node_index) get_input_mask_at(object, node_index) get_output_mask_at(object, node_index)
get_input_at(object, node_index) get_output_at(object, node_index) get_input_shape_at(object, node_index) get_output_shape_at(object, node_index) get_input_mask_at(object, node_index) get_output_mask_at(object, node_index)
object |
Layer or model object |
node_index |
Integer, index of the node from which to retrieve the
attribute. E.g. |
A tensor (or list of tensors if the layer has multiple inputs/outputs).
Other layer methods:
count_params()
,
get_config()
,
get_weights()
,
reset_states()
Indices are based on order of horizontal graph traversal (bottom-up) and are
1-based. If name
and index
are both provided, index
will take
precedence.
get_layer(object, name = NULL, index = NULL)
get_layer(object, name = NULL, index = NULL)
object |
Keras model object |
name |
String, name of layer. |
index |
Integer, index of layer (1-based). Also valid are negative values, which count from the end of model. |
A layer instance.
Other model functions:
compile.keras.engine.training.Model()
,
evaluate.keras.engine.training.Model()
,
evaluate_generator()
,
fit.keras.engine.training.Model()
,
fit_generator()
,
get_config()
,
keras_model()
,
keras_model_sequential()
,
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()
Layer/Model weights as R arrays
get_weights(object, trainable = NA) set_weights(object, weights)
get_weights(object, trainable = NA) set_weights(object, weights)
object |
Layer or model object |
trainable |
if |
weights |
Weights as R array |
You can access the Layer/Model as tf.Tensors
or tf.Variables
at
object$weights
, object$trainable_weights
, or
object$non_trainable_weights
Other model persistence:
model_to_json()
,
model_to_yaml()
,
save_model_hdf5()
,
save_model_tf()
,
save_model_weights_hdf5()
,
serialize_model()
Other layer methods:
count_params()
,
get_config()
,
get_input_at()
,
reset_states()
Representation of HDF5 dataset to be used instead of an R array
hdf5_matrix(datapath, dataset, start = 0, end = NULL, normalizer = NULL)
hdf5_matrix(datapath, dataset, start = 0, end = NULL, normalizer = NULL)
datapath |
string, path to a HDF5 file |
dataset |
string, name of the HDF5 dataset in the file specified in datapath |
start |
int, start of desired slice of the specified dataset |
end |
int, end of desired slice of the specified dataset |
normalizer |
function to be called on data when retrieved |
Providing start
and end
allows use of a slice of the dataset.
Optionally, a normalizer function (or lambda) can be given. This will be called on every slice of data retrieved.
An array-like HDF5 dataset.
Deprecated: image_data_generator
is not
recommended for new code. Prefer loading images with
image_dataset_from_directory
and transforming the output
TF Dataset with preprocessing layers. For more information, see the
tutorials for loading images and augmenting images, as well as the
preprocessing layer guide.
image_data_generator( featurewise_center = FALSE, samplewise_center = FALSE, featurewise_std_normalization = FALSE, samplewise_std_normalization = FALSE, zca_whitening = FALSE, zca_epsilon = 1e-06, rotation_range = 0, width_shift_range = 0, height_shift_range = 0, brightness_range = NULL, shear_range = 0, zoom_range = 0, channel_shift_range = 0, fill_mode = "nearest", cval = 0, horizontal_flip = FALSE, vertical_flip = FALSE, rescale = NULL, preprocessing_function = NULL, data_format = NULL, validation_split = 0 )
image_data_generator( featurewise_center = FALSE, samplewise_center = FALSE, featurewise_std_normalization = FALSE, samplewise_std_normalization = FALSE, zca_whitening = FALSE, zca_epsilon = 1e-06, rotation_range = 0, width_shift_range = 0, height_shift_range = 0, brightness_range = NULL, shear_range = 0, zoom_range = 0, channel_shift_range = 0, fill_mode = "nearest", cval = 0, horizontal_flip = FALSE, vertical_flip = FALSE, rescale = NULL, preprocessing_function = NULL, data_format = NULL, validation_split = 0 )
featurewise_center |
Set input mean to 0 over the dataset, feature-wise. |
samplewise_center |
Boolean. Set each sample mean to 0. |
featurewise_std_normalization |
Divide inputs by std of the dataset, feature-wise. |
samplewise_std_normalization |
Divide each input by its std. |
zca_whitening |
apply ZCA whitening. |
zca_epsilon |
Epsilon for ZCA whitening. Default is 1e-6. |
rotation_range |
degrees (0 to 180). |
width_shift_range |
fraction of total width. |
height_shift_range |
fraction of total height. |
brightness_range |
the range of brightness to apply |
shear_range |
shear intensity (shear angle in radians). |
zoom_range |
amount of zoom. if scalar z, zoom will be randomly picked
in the range |
channel_shift_range |
shift range for each channels. |
fill_mode |
One of "constant", "nearest", "reflect" or "wrap". Points outside the boundaries of the input are filled according to the given mode:
|
cval |
value used for points outside the boundaries when fill_mode is 'constant'. Default is 0. |
horizontal_flip |
whether to randomly flip images horizontally. |
vertical_flip |
whether to randomly flip images vertically. |
rescale |
rescaling factor. If NULL or 0, no rescaling is applied, otherwise we multiply the data by the value provided (before applying any other transformation). |
preprocessing_function |
function that will be implied on each input. The function will run before any other modification on it. The function should take one argument: one image (tensor with rank 3), and should output a tensor with the same shape. |
data_format |
'channels_first' or 'channels_last'. In 'channels_first'
mode, the channels dimension (the depth) is at index 1, in 'channels_last'
mode it is at index 3. It defaults to the |
validation_split |
fraction of images reserved for validation (strictly between 0 and 1). |
Generates a tf.data.Dataset
from image files in a directory.
image_dataset_from_directory( directory, labels = "inferred", label_mode = "int", class_names = NULL, color_mode = "rgb", batch_size = 32, image_size = c(256, 256), shuffle = TRUE, seed = NULL, validation_split = NULL, subset = NULL, interpolation = "bilinear", follow_links = FALSE, crop_to_aspect_ratio = FALSE, ... )
image_dataset_from_directory( directory, labels = "inferred", label_mode = "int", class_names = NULL, color_mode = "rgb", batch_size = 32, image_size = c(256, 256), shuffle = TRUE, seed = NULL, validation_split = NULL, subset = NULL, interpolation = "bilinear", follow_links = FALSE, crop_to_aspect_ratio = FALSE, ... )
directory |
Directory where the data is located. If labels is "inferred", it should contain subdirectories, each containing images for a class. Otherwise, the directory structure is ignored. |
labels |
Either "inferred" (labels are generated from the directory structure), or a list/tuple of integer labels of the same size as the number of image files found in the directory. Labels should be sorted according to the alphanumeric order of the image file paths (obtained via os.walk(directory) in Python). |
label_mode |
Valid values:
|
class_names |
Only valid if "labels" is "inferred". This is the explict list of class names (must match names of subdirectories). Used to control the order of the classes (otherwise alphanumerical order is used). |
color_mode |
One of "grayscale", "rgb", "rgba". Default: "rgb". Whether the images will be converted to have 1, 3, or 4 channels. |
batch_size |
Size of the batches of data. Default: 32. |
image_size |
Size to resize images to after they are read from disk. Defaults to (256, 256). Since the pipeline processes batches of images that must all have the same size, this must be provided. |
shuffle |
Whether to shuffle the data. Default: TRUE. If set to FALSE, sorts the data in alphanumeric order. |
seed |
Optional random seed for shuffling and transformations. |
validation_split |
Optional float between 0 and 1, fraction of data to reserve for validation. |
subset |
One of "training", "validation", or "both" (available for TF>=2.10).
Only used if validation_split is set. When |
interpolation |
String, the interpolation method used when resizing images. Defaults to bilinear. Supports bilinear, nearest, bicubic, area, lanczos3, lanczos5, gaussian, mitchellcubic. |
follow_links |
Whether to visits subdirectories pointed to by symlinks. Defaults to FALSE. |
crop_to_aspect_ratio |
If |
... |
Legacy arguments |
If your directory structure is:
main_directory/ ...class_a/ ......a_image_1.jpg ......a_image_2.jpg ...class_b/ ......b_image_1.jpg ......b_image_2.jpg
Then calling image_dataset_from_directory(main_directory, labels='inferred')
will return a tf.data.Dataset
that yields batches of images from the
subdirectories class_a and class_b, together with labels 0 and 1 (0
corresponding to class_a and 1 corresponding to class_b).
Supported image formats: jpeg, png, bmp, gif. Animated gifs are truncated to the first frame.
A tf.data.Dataset object. If label_mode is NULL
, it yields float32
tensors of shape (batch_size, image_size[1], image_size[2], num_channels)
,
encoding images (see below for rules regarding num_channels
).
Otherwise, it yields pairs of (images, labels)
, where images has shape
(batch_size, image_size[1], image_size[2], num_channels)
, and labels
follows the format described below.
Rules regarding labels format:
if label_mode is int, the labels are an int32 tensor of shape
(batch_size)
.
if label_mode is binary, the labels are a float32 tensor of 1s and 0s of
shape (batch_size, 1)
.
if label_mode is categorial, the labels are a float32 tensor of shape
(batch_size, num_classes)
, representing a one-hot encoding of the class
index.
Rules regarding number of channels in the yielded images:
if color_mode is grayscale, there's 1 channel in the image tensors.
if color_mode is rgb, there are 3 channel in the image tensors.
if color_mode is rgba, there are 4 channel in the image tensors.
https://www.tensorflow.org/api_docs/python/tf/keras/utils/image_dataset_from_directory
Loads an image into PIL format.
image_load( path, grayscale = FALSE, color_mode = "rgb", target_size = NULL, interpolation = "nearest" )
image_load( path, grayscale = FALSE, color_mode = "rgb", target_size = NULL, interpolation = "nearest" )
path |
Path to image file |
grayscale |
DEPRECATED use |
color_mode |
One of |
target_size |
Either |
interpolation |
Interpolation method used to resample the image if the target size is different from that of the loaded image. Supported methods are "nearest", "bilinear", and "bicubic". If PIL version 1.1.3 or newer is installed, "lanczos" is also supported. If PIL version 3.4.0 or newer is installed, "box" and "hamming" are also supported. By default, "nearest" is used. |
A PIL Image instance.
Other image preprocessing:
fit_image_data_generator()
,
flow_images_from_data()
,
flow_images_from_dataframe()
,
flow_images_from_directory()
,
image_to_array()
3D array that represents an image with dimensions (height,width,channels) or (channels,height,width) depending on the data_format.
image_to_array(img, data_format = c("channels_last", "channels_first")) image_array_resize( img, height, width, data_format = c("channels_last", "channels_first") ) image_array_save( img, path, data_format = NULL, file_format = NULL, scale = TRUE )
image_to_array(img, data_format = c("channels_last", "channels_first")) image_array_resize( img, height, width, data_format = c("channels_last", "channels_first") ) image_array_save( img, path, data_format = NULL, file_format = NULL, scale = TRUE )
img |
Image |
data_format |
Image data format ("channels_last" or "channels_first") |
height |
Height to resize to |
width |
Width to resize to |
path |
Path to save image to |
file_format |
Optional file format override. If omitted, the format to use is determined from the filename extension. If a file object was used instead of a filename, this parameter should always be used. |
scale |
Whether to rescale image values to be within 0,255 |
Other image preprocessing:
fit_image_data_generator()
,
flow_images_from_data()
,
flow_images_from_dataframe()
,
flow_images_from_directory()
,
image_load()
Decodes the prediction of an ImageNet model.
imagenet_decode_predictions(preds, top = 5)
imagenet_decode_predictions(preds, top = 5)
preds |
Tensor encoding a batch of predictions. |
top |
integer, how many top-guesses to return. |
List of data frames with variables class_name
, class_description
,
and score
(one data frame per sample in batch input).
Preprocesses a tensor or array encoding a batch of images.
imagenet_preprocess_input(x, data_format = NULL, mode = "caffe")
imagenet_preprocess_input(x, data_format = NULL, mode = "caffe")
x |
Input Numpy or symbolic tensor, 3D or 4D. |
data_format |
Data format of the image tensor/array. |
mode |
One of "caffe", "tf", or "torch"
|
Preprocessed tensor or array.
Obtain a reference to the Python module used for the implementation of Keras.
implementation()
implementation()
There are currently two Python modules which implement Keras:
keras ("keras")
tensorflow.keras ("tensorflow")
This function returns a reference to the implementation being currently
used by the keras package. The default implementation is "keras".
You can override this by setting the KERAS_IMPLEMENTATION
environment
variable to "tensorflow".
Reference to the Python module used for the implementation of Keras.
Initializer that generates tensors initialized to a constant value.
initializer_constant(value = 0)
initializer_constant(value = 0)
value |
float; the value of the generator tensors. |
Other initializers:
initializer_glorot_normal()
,
initializer_glorot_uniform()
,
initializer_he_normal()
,
initializer_he_uniform()
,
initializer_identity()
,
initializer_lecun_normal()
,
initializer_lecun_uniform()
,
initializer_ones()
,
initializer_orthogonal()
,
initializer_random_normal()
,
initializer_random_uniform()
,
initializer_truncated_normal()
,
initializer_variance_scaling()
,
initializer_zeros()
It draws samples from a truncated normal distribution centered on 0
with stddev = sqrt(2 / (fan_in + fan_out))
where fan_in
is the number of input units in the weight tensor
and fan_out
is the number of output units in the weight tensor.
initializer_glorot_normal(seed = NULL)
initializer_glorot_normal(seed = NULL)
seed |
Integer used to seed the random generator. |
Glorot & Bengio, AISTATS 2010 https://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf
Other initializers:
initializer_constant()
,
initializer_glorot_uniform()
,
initializer_he_normal()
,
initializer_he_uniform()
,
initializer_identity()
,
initializer_lecun_normal()
,
initializer_lecun_uniform()
,
initializer_ones()
,
initializer_orthogonal()
,
initializer_random_normal()
,
initializer_random_uniform()
,
initializer_truncated_normal()
,
initializer_variance_scaling()
,
initializer_zeros()
It draws samples from a uniform distribution within -limit, limit
where limit
is sqrt(6 / (fan_in + fan_out))
where fan_in
is the number of input units in the weight tensor
and fan_out
is the number of output units in the weight tensor.
initializer_glorot_uniform(seed = NULL)
initializer_glorot_uniform(seed = NULL)
seed |
Integer used to seed the random generator. |
Glorot & Bengio, AISTATS 2010 https://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf
Other initializers:
initializer_constant()
,
initializer_glorot_normal()
,
initializer_he_normal()
,
initializer_he_uniform()
,
initializer_identity()
,
initializer_lecun_normal()
,
initializer_lecun_uniform()
,
initializer_ones()
,
initializer_orthogonal()
,
initializer_random_normal()
,
initializer_random_uniform()
,
initializer_truncated_normal()
,
initializer_variance_scaling()
,
initializer_zeros()
It draws samples from a truncated normal distribution centered on 0 with
stddev = sqrt(2 / fan_in)
where fan_in
is the number of input units in
the weight tensor.
initializer_he_normal(seed = NULL)
initializer_he_normal(seed = NULL)
seed |
Integer used to seed the random generator. |
He et al., https://arxiv.org/abs/1502.01852
Other initializers:
initializer_constant()
,
initializer_glorot_normal()
,
initializer_glorot_uniform()
,
initializer_he_uniform()
,
initializer_identity()
,
initializer_lecun_normal()
,
initializer_lecun_uniform()
,
initializer_ones()
,
initializer_orthogonal()
,
initializer_random_normal()
,
initializer_random_uniform()
,
initializer_truncated_normal()
,
initializer_variance_scaling()
,
initializer_zeros()
It draws samples from a uniform distribution within -limit, limit
where
limit`` is
sqrt(6 / fan_in)where
fan_in' is the number of input units in the
weight tensor.
initializer_he_uniform(seed = NULL)
initializer_he_uniform(seed = NULL)
seed |
Integer used to seed the random generator. |
He et al., https://arxiv.org/abs/1502.01852
Other initializers:
initializer_constant()
,
initializer_glorot_normal()
,
initializer_glorot_uniform()
,
initializer_he_normal()
,
initializer_identity()
,
initializer_lecun_normal()
,
initializer_lecun_uniform()
,
initializer_ones()
,
initializer_orthogonal()
,
initializer_random_normal()
,
initializer_random_uniform()
,
initializer_truncated_normal()
,
initializer_variance_scaling()
,
initializer_zeros()
Only use for square 2D matrices.
initializer_identity(gain = 1)
initializer_identity(gain = 1)
gain |
Multiplicative factor to apply to the identity matrix |
Other initializers:
initializer_constant()
,
initializer_glorot_normal()
,
initializer_glorot_uniform()
,
initializer_he_normal()
,
initializer_he_uniform()
,
initializer_lecun_normal()
,
initializer_lecun_uniform()
,
initializer_ones()
,
initializer_orthogonal()
,
initializer_random_normal()
,
initializer_random_uniform()
,
initializer_truncated_normal()
,
initializer_variance_scaling()
,
initializer_zeros()
It draws samples from a truncated normal distribution centered on 0 with
stddev <- sqrt(1 / fan_in)
where fan_in
is the number of input units in
the weight tensor..
initializer_lecun_normal(seed = NULL)
initializer_lecun_normal(seed = NULL)
seed |
A Python integer. Used to seed the random generator. |
Efficient Backprop, LeCun, Yann et al. 1998
Other initializers:
initializer_constant()
,
initializer_glorot_normal()
,
initializer_glorot_uniform()
,
initializer_he_normal()
,
initializer_he_uniform()
,
initializer_identity()
,
initializer_lecun_uniform()
,
initializer_ones()
,
initializer_orthogonal()
,
initializer_random_normal()
,
initializer_random_uniform()
,
initializer_truncated_normal()
,
initializer_variance_scaling()
,
initializer_zeros()
It draws samples from a uniform distribution within -limit, limit
where
limit
is sqrt(3 / fan_in)
where fan_in
is the number of input units in
the weight tensor.
initializer_lecun_uniform(seed = NULL)
initializer_lecun_uniform(seed = NULL)
seed |
Integer used to seed the random generator. |
LeCun 98, Efficient Backprop,
Other initializers:
initializer_constant()
,
initializer_glorot_normal()
,
initializer_glorot_uniform()
,
initializer_he_normal()
,
initializer_he_uniform()
,
initializer_identity()
,
initializer_lecun_normal()
,
initializer_ones()
,
initializer_orthogonal()
,
initializer_random_normal()
,
initializer_random_uniform()
,
initializer_truncated_normal()
,
initializer_variance_scaling()
,
initializer_zeros()
Initializer that generates tensors initialized to 1.
initializer_ones()
initializer_ones()
Other initializers:
initializer_constant()
,
initializer_glorot_normal()
,
initializer_glorot_uniform()
,
initializer_he_normal()
,
initializer_he_uniform()
,
initializer_identity()
,
initializer_lecun_normal()
,
initializer_lecun_uniform()
,
initializer_orthogonal()
,
initializer_random_normal()
,
initializer_random_uniform()
,
initializer_truncated_normal()
,
initializer_variance_scaling()
,
initializer_zeros()
Initializer that generates a random orthogonal matrix.
initializer_orthogonal(gain = 1, seed = NULL)
initializer_orthogonal(gain = 1, seed = NULL)
gain |
Multiplicative factor to apply to the orthogonal matrix. |
seed |
Integer used to seed the random generator. |
Saxe et al., https://arxiv.org/abs/1312.6120
Other initializers:
initializer_constant()
,
initializer_glorot_normal()
,
initializer_glorot_uniform()
,
initializer_he_normal()
,
initializer_he_uniform()
,
initializer_identity()
,
initializer_lecun_normal()
,
initializer_lecun_uniform()
,
initializer_ones()
,
initializer_random_normal()
,
initializer_random_uniform()
,
initializer_truncated_normal()
,
initializer_variance_scaling()
,
initializer_zeros()
Initializer that generates tensors with a normal distribution.
initializer_random_normal(mean = 0, stddev = 0.05, seed = NULL)
initializer_random_normal(mean = 0, stddev = 0.05, seed = NULL)
mean |
Mean of the random values to generate. |
stddev |
Standard deviation of the random values to generate. |
seed |
Integer used to seed the random generator. |
Other initializers:
initializer_constant()
,
initializer_glorot_normal()
,
initializer_glorot_uniform()
,
initializer_he_normal()
,
initializer_he_uniform()
,
initializer_identity()
,
initializer_lecun_normal()
,
initializer_lecun_uniform()
,
initializer_ones()
,
initializer_orthogonal()
,
initializer_random_uniform()
,
initializer_truncated_normal()
,
initializer_variance_scaling()
,
initializer_zeros()
Initializer that generates tensors with a uniform distribution.
initializer_random_uniform(minval = -0.05, maxval = 0.05, seed = NULL)
initializer_random_uniform(minval = -0.05, maxval = 0.05, seed = NULL)
minval |
Lower bound of the range of random values to generate. |
maxval |
Upper bound of the range of random values to generate. Defaults to 1 for float types. |
seed |
seed |
Other initializers:
initializer_constant()
,
initializer_glorot_normal()
,
initializer_glorot_uniform()
,
initializer_he_normal()
,
initializer_he_uniform()
,
initializer_identity()
,
initializer_lecun_normal()
,
initializer_lecun_uniform()
,
initializer_ones()
,
initializer_orthogonal()
,
initializer_random_normal()
,
initializer_truncated_normal()
,
initializer_variance_scaling()
,
initializer_zeros()
These values are similar to values from an initializer_random_normal()
except that values more than two standard deviations from the mean
are discarded and re-drawn. This is the recommended initializer for
neural network weights and filters.
initializer_truncated_normal(mean = 0, stddev = 0.05, seed = NULL)
initializer_truncated_normal(mean = 0, stddev = 0.05, seed = NULL)
mean |
Mean of the random values to generate. |
stddev |
Standard deviation of the random values to generate. |
seed |
Integer used to seed the random generator. |
Other initializers:
initializer_constant()
,
initializer_glorot_normal()
,
initializer_glorot_uniform()
,
initializer_he_normal()
,
initializer_he_uniform()
,
initializer_identity()
,
initializer_lecun_normal()
,
initializer_lecun_uniform()
,
initializer_ones()
,
initializer_orthogonal()
,
initializer_random_normal()
,
initializer_random_uniform()
,
initializer_variance_scaling()
,
initializer_zeros()
With distribution="normal"
, samples are drawn from a truncated normal
distribution centered on zero, with stddev = sqrt(scale / n)
where n is:
number of input units in the weight tensor, if mode = "fan_in"
number of output units, if mode = "fan_out"
average of the numbers of input and output units, if mode = "fan_avg"
initializer_variance_scaling( scale = 1, mode = c("fan_in", "fan_out", "fan_avg"), distribution = c("normal", "uniform", "truncated_normal", "untruncated_normal"), seed = NULL )
initializer_variance_scaling( scale = 1, mode = c("fan_in", "fan_out", "fan_avg"), distribution = c("normal", "uniform", "truncated_normal", "untruncated_normal"), seed = NULL )
scale |
Scaling factor (positive float). |
mode |
One of "fan_in", "fan_out", "fan_avg". |
distribution |
One of "truncated_normal", "untruncated_normal" and "uniform". For backward compatibility, "normal" will be accepted and converted to "untruncated_normal". |
seed |
Integer used to seed the random generator. |
With distribution="uniform"
, samples are drawn from a uniform distribution
within -limit, limit
, with limit = sqrt(3 * scale / n)
.
Other initializers:
initializer_constant()
,
initializer_glorot_normal()
,
initializer_glorot_uniform()
,
initializer_he_normal()
,
initializer_he_uniform()
,
initializer_identity()
,
initializer_lecun_normal()
,
initializer_lecun_uniform()
,
initializer_ones()
,
initializer_orthogonal()
,
initializer_random_normal()
,
initializer_random_uniform()
,
initializer_truncated_normal()
,
initializer_zeros()
Initializer that generates tensors initialized to 0.
initializer_zeros()
initializer_zeros()
Other initializers:
initializer_constant()
,
initializer_glorot_normal()
,
initializer_glorot_uniform()
,
initializer_he_normal()
,
initializer_he_uniform()
,
initializer_identity()
,
initializer_lecun_normal()
,
initializer_lecun_uniform()
,
initializer_ones()
,
initializer_orthogonal()
,
initializer_random_normal()
,
initializer_random_uniform()
,
initializer_truncated_normal()
,
initializer_variance_scaling()
This function will install Tensorflow and all Keras dependencies. This is a
thin wrapper around tensorflow::install_tensorflow()
, with the only
difference being that this includes by default additional extra packages that
keras expects, and the default version of tensorflow installed by
install_keras()
may at times be different from the default installed
install_tensorflow()
. The default version of tensorflow installed by
install_keras()
is "2.15".
install_keras( method = c("auto", "virtualenv", "conda"), conda = "auto", version = "default", tensorflow = version, extra_packages = NULL, ... )
install_keras( method = c("auto", "virtualenv", "conda"), conda = "auto", version = "default", tensorflow = version, extra_packages = NULL, ... )
method |
Installation method. By default, "auto" automatically finds a method that will work in the local environment. Change the default to force a specific installation method. Note that the "virtualenv" method is not available on Windows. |
conda |
The path to a |
version |
TensorFlow version to install. Valid values include:
|
tensorflow |
Synonym for |
extra_packages |
Additional Python packages to install along with TensorFlow. |
... |
other arguments passed to |
The default additional packages are: tensorflow-hub, tensorflow-datasets, scipy, requests, pyyaml, Pillow, h5py, pandas, pydot, with their versions potentially constrained for compatibility with the requested tensorflow version.
tensorflow::install_tensorflow()
Probe to see whether the Keras Python package is available in the current system environment.
is_keras_available(version = NULL)
is_keras_available(version = NULL)
version |
Minimum required version of Keras (defaults to |
Logical indicating whether Keras (or the specified minimum version of Keras) is available.
## Not run: # testthat utilty for skipping tests when Keras isn't available skip_if_no_keras <- function(version = NULL) { if (!is_keras_available(version)) skip("Required keras version not available for testing") } # use the function within a test test_that("keras function works correctly", { skip_if_no_keras() # test code here }) ## End(Not run)
## Not run: # testthat utilty for skipping tests when Keras isn't available skip_if_no_keras <- function(version = NULL) { if (!is_keras_available(version)) skip("Required keras version not available for testing") } # use the function within a test test_that("keras function works correctly", { skip_if_no_keras() # test code here }) ## End(Not run)
Element-wise absolute value.
k_abs(x)
k_abs(x)
x |
Tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Bitwise reduction (logical AND).
k_all(x, axis = NULL, keepdims = FALSE)
k_all(x, axis = NULL, keepdims = FALSE)
x |
Tensor or variable. |
axis |
Axis along which to perform the reduction (axis indexes are 1-based). |
keepdims |
whether the drop or broadcast the reduction axes. |
A uint8 tensor (0s and 1s).
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Bitwise reduction (logical OR).
k_any(x, axis = NULL, keepdims = FALSE)
k_any(x, axis = NULL, keepdims = FALSE)
x |
Tensor or variable. |
axis |
Axis along which to perform the reduction (axis indexes are 1-based). |
keepdims |
whether the drop or broadcast the reduction axes. |
A uint8 tensor (0s and 1s).
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
The function arguments use the same convention as Theano's arange: if only
one argument is provided, it is in fact the "stop" argument. The default
type of the returned tensor is 'int32'
to match TensorFlow's default.
k_arange(start, stop = NULL, step = 1, dtype = "int32")
k_arange(start, stop = NULL, step = 1, dtype = "int32")
start |
Start value. |
stop |
Stop value. |
step |
Difference between two successive values. |
dtype |
Integer dtype to use. |
An integer tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Returns the index of the maximum value along an axis.
k_argmax(x, axis = -1)
k_argmax(x, axis = -1)
x |
Tensor or variable. |
axis |
Axis along which to perform the reduction (axis indexes are 1-based). Pass -1 (the default) to select the last axis. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Returns the index of the minimum value along an axis.
k_argmin(x, axis = -1)
k_argmin(x, axis = -1)
x |
Tensor or variable. |
axis |
Axis along which to perform the reduction (axis indexes are 1-based). Pass -1 (the default) to select the last axis. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Active Keras backend
k_backend()
k_backend()
The name of the backend Keras is currently using.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
batch_dot
is used to compute dot product of x
and y
when x
and y
are data in batch, i.e. in a shape of (batch_size)
. batch_dot
results in
a tensor or variable with less dimensions than the input. If the number of
dimensions is reduced to 1, we use expand_dims
to make sure that ndim is
at least 2.
k_batch_dot(x, y, axes)
k_batch_dot(x, y, axes)
x |
Keras tensor or variable with 2 more more axes. |
y |
Keras tensor or variable with 2 or more axes |
axes |
List of (or single) integer with target dimensions (axis indexes
are 1-based). The lengths of |
A tensor with shape equal to the concatenation of x
's shape (less
the dimension that was summed over) and y
's shape (less the batch
dimension and the dimension that was summed over). If the final rank is 1,
we reshape it to (batch_size, 1)
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
In other words, it flattens each data samples of a batch.
k_batch_flatten(x)
k_batch_flatten(x)
x |
A tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Returns the value of more than one tensor variable.
k_batch_get_value(ops)
k_batch_get_value(ops)
ops |
List of ops to evaluate. |
A list of arrays.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
i.e. returns
output <- (x - mean) / (sqrt(var) + epsilon) * gamma + beta
k_batch_normalization(x, mean, var, beta, gamma, axis = -1, epsilon = 0.001)
k_batch_normalization(x, mean, var, beta, gamma, axis = -1, epsilon = 0.001)
x |
Input tensor or variable. |
mean |
Mean of batch. |
var |
Variance of batch. |
beta |
Tensor with which to center the input. |
gamma |
Tensor by which to scale the input. |
axis |
Axis (axis indexes are 1-based). Pass -1 (the default) to select the last axis. |
epsilon |
Fuzz factor. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Sets the values of many tensor variables at once.
k_batch_set_value(lists)
k_batch_set_value(lists)
lists |
a list of lists |
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Adds a bias vector to a tensor.
k_bias_add(x, bias, data_format = NULL)
k_bias_add(x, bias, data_format = NULL)
x |
Tensor or variable. |
bias |
Bias tensor to add. |
data_format |
string, |
Output tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Binary crossentropy between an output tensor and a target tensor.
k_binary_crossentropy(target, output, from_logits = FALSE)
k_binary_crossentropy(target, output, from_logits = FALSE)
target |
A tensor with the same shape as |
output |
A tensor. |
from_logits |
Whether |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
You can cast a Keras variable but it still returns a Keras tensor.
k_cast(x, dtype)
k_cast(x, dtype)
x |
Keras tensor (or variable). |
dtype |
String, either ( |
Keras tensor with dtype dtype
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Cast an array to the default Keras float type.
k_cast_to_floatx(x)
k_cast_to_floatx(x)
x |
Array. |
The same array, cast to its new type.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Categorical crossentropy between an output tensor and a target tensor.
k_categorical_crossentropy(target, output, from_logits = FALSE, axis = -1)
k_categorical_crossentropy(target, output, from_logits = FALSE, axis = -1)
target |
A tensor of the same shape as |
output |
A tensor resulting from a softmax (unless |
from_logits |
Logical, whether |
axis |
Axis (axis indexes are 1-based). Pass -1 (the default) to select the last axis. |
Output tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Useful to avoid clutter from old models / layers.
k_clear_session()
k_clear_session()
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise value clipping.
k_clip(x, min_value = NULL, max_value = NULL)
k_clip(x, min_value = NULL, max_value = NULL)
x |
Tensor or variable. |
min_value |
Float or integer. |
max_value |
Float or integer. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Concatenates a list of tensors alongside the specified axis.
k_concatenate(tensors, axis = -1)
k_concatenate(tensors, axis = -1)
tensors |
list of tensors to concatenate. |
axis |
concatenation axis (axis indexes are 1-based). Pass -1 (the default) to select the last axis. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Creates a constant tensor.
k_constant(value, dtype = NULL, shape = NULL, name = NULL)
k_constant(value, dtype = NULL, shape = NULL, name = NULL)
value |
A constant value |
dtype |
The type of the elements of the resulting tensor. |
shape |
Optional dimensions of resulting tensor. |
name |
Optional name for the tensor. |
A Constant Tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
1D convolution.
k_conv1d( x, kernel, strides = 1, padding = "valid", data_format = NULL, dilation_rate = 1 )
k_conv1d( x, kernel, strides = 1, padding = "valid", data_format = NULL, dilation_rate = 1 )
x |
Tensor or variable. |
kernel |
kernel tensor. |
strides |
stride integer. |
padding |
string, |
data_format |
string, |
dilation_rate |
integer dilate rate. |
A tensor, result of 1D convolution.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
2D convolution.
k_conv2d( x, kernel, strides = c(1, 1), padding = "valid", data_format = NULL, dilation_rate = c(1, 1) )
k_conv2d( x, kernel, strides = c(1, 1), padding = "valid", data_format = NULL, dilation_rate = c(1, 1) )
x |
Tensor or variable. |
kernel |
kernel tensor. |
strides |
strides |
padding |
string, |
data_format |
string, |
dilation_rate |
vector of 2 integers. |
A tensor, result of 2D convolution.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
2D deconvolution (i.e. transposed convolution).
k_conv2d_transpose( x, kernel, output_shape, strides = c(1, 1), padding = "valid", data_format = NULL )
k_conv2d_transpose( x, kernel, output_shape, strides = c(1, 1), padding = "valid", data_format = NULL )
x |
Tensor or variable. |
kernel |
kernel tensor. |
output_shape |
1D int tensor for the output shape. |
strides |
strides list. |
padding |
string, |
data_format |
string, |
A tensor, result of transposed 2D convolution.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
3D convolution.
k_conv3d( x, kernel, strides = c(1, 1, 1), padding = "valid", data_format = NULL, dilation_rate = c(1, 1, 1) )
k_conv3d( x, kernel, strides = c(1, 1, 1), padding = "valid", data_format = NULL, dilation_rate = c(1, 1, 1) )
x |
Tensor or variable. |
kernel |
kernel tensor. |
strides |
strides |
padding |
string, |
data_format |
string, |
dilation_rate |
list of 3 integers. |
A tensor, result of 3D convolution.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
3D deconvolution (i.e. transposed convolution).
k_conv3d_transpose( x, kernel, output_shape, strides = c(1, 1, 1), padding = "valid", data_format = NULL )
k_conv3d_transpose( x, kernel, output_shape, strides = c(1, 1, 1), padding = "valid", data_format = NULL )
x |
input tensor. |
kernel |
kernel tensor. |
output_shape |
1D int tensor for the output shape. |
strides |
strides |
padding |
string, "same" or "valid". |
data_format |
string, |
A tensor, result of transposed 3D convolution.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Computes cos of x element-wise.
k_cos(x)
k_cos(x)
x |
Tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Returns the static number of elements in a Keras variable or tensor.
k_count_params(x)
k_count_params(x)
x |
Keras variable or tensor. |
Integer, the number of elements in x
, i.e., the product of the array's static dimensions.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Runs CTC loss algorithm on each batch element.
k_ctc_batch_cost(y_true, y_pred, input_length, label_length)
k_ctc_batch_cost(y_true, y_pred, input_length, label_length)
y_true |
tensor |
y_pred |
tensor |
input_length |
tensor |
label_length |
tensor |
Tensor with shape (samples,1) containing the CTC loss of each element.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Can use either greedy search (also known as best path) or a constrained dictionary search.
k_ctc_decode( y_pred, input_length, greedy = TRUE, beam_width = 100L, top_paths = 1 )
k_ctc_decode( y_pred, input_length, greedy = TRUE, beam_width = 100L, top_paths = 1 )
y_pred |
tensor |
input_length |
tensor |
greedy |
perform much faster best-path search if |
beam_width |
if |
top_paths |
if |
If greedy
is TRUE
, returns a list of one element
that contains the decoded sequence. If FALSE
, returns the top_paths
most probable decoded sequences. Important: blank labels are returned as
-1
. Tensor (top_paths)
that contains the log probability of each
decoded sequence.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Converts CTC labels from dense to sparse.
k_ctc_label_dense_to_sparse(labels, label_lengths)
k_ctc_label_dense_to_sparse(labels, label_lengths)
labels |
dense CTC labels. |
label_lengths |
length of the labels. |
A sparse tensor representation of the labels.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Cumulative product of the values in a tensor, alongside the specified axis.
k_cumprod(x, axis = 1)
k_cumprod(x, axis = 1)
x |
A tensor or variable. |
axis |
An integer, the axis to compute the product (axis indexes are 1-based). |
A tensor of the cumulative product of values of x
along axis
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Cumulative sum of the values in a tensor, alongside the specified axis.
k_cumsum(x, axis = 1)
k_cumsum(x, axis = 1)
x |
A tensor or variable. |
axis |
An integer, the axis to compute the sum (axis indexes are 1-based). |
A tensor of the cumulative sum of values of x
along axis
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Depthwise 2D convolution with separable filters.
k_depthwise_conv2d( x, depthwise_kernel, strides = c(1, 1), padding = "valid", data_format = NULL, dilation_rate = c(1, 1) )
k_depthwise_conv2d( x, depthwise_kernel, strides = c(1, 1), padding = "valid", data_format = NULL, dilation_rate = c(1, 1) )
x |
input tensor |
depthwise_kernel |
convolution kernel for the depthwise convolution. |
strides |
strides (length 2). |
padding |
string, |
data_format |
string, |
dilation_rate |
vector of integers, dilation rates for the separable convolution. |
Output tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
When attempting to multiply a nD tensor
with a nD tensor, it reproduces the Theano behavior.
(e.g. (2, 3) * (4, 3, 5) -> (2, 4, 5)
)
k_dot(x, y)
k_dot(x, y)
x |
Tensor or variable. |
y |
Tensor or variable. |
A tensor, dot product of x
and y
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
x
to zero at random, while scaling the entire tensor.Sets entries in x
to zero at random, while scaling the entire tensor.
k_dropout(x, level, noise_shape = NULL, seed = NULL)
k_dropout(x, level, noise_shape = NULL, seed = NULL)
x |
tensor |
level |
fraction of the entries in the tensor that will be set to 0. |
noise_shape |
shape for randomly generated keep/drop flags, must be
broadcastable to the shape of |
seed |
random seed to ensure determinism. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Returns the dtype of a Keras tensor or variable, as a string.
k_dtype(x)
k_dtype(x)
x |
Tensor or variable. |
String, dtype of x
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Exponential linear unit.
k_elu(x, alpha = 1)
k_elu(x, alpha = 1)
x |
A tensor or variable to compute the activation function for. |
alpha |
A scalar, slope of negative section. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Fuzz factor used in numeric expressions.
k_epsilon() k_set_epsilon(e)
k_epsilon() k_set_epsilon(e)
e |
float. New value of epsilon. |
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise equality between two tensors.
k_equal(x, y)
k_equal(x, y)
x |
Tensor or variable. |
y |
Tensor or variable. |
A bool tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Evaluates the value of a variable.
k_eval(x)
k_eval(x)
x |
A variable. |
An R array.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise exponential.
k_exp(x)
k_exp(x)
x |
Tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
axis
.Adds a 1-sized dimension at index axis
.
k_expand_dims(x, axis = -1)
k_expand_dims(x, axis = -1)
x |
A tensor or variable. |
axis |
Position where to add a new axis (axis indexes are 1-based). Pass -1 (the default) to select the last axis. |
A tensor with expanded dimensions.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Instantiate an identity matrix and returns it.
k_eye(size, dtype = NULL, name = NULL)
k_eye(size, dtype = NULL, name = NULL)
size |
Integer, number of rows/columns. |
dtype |
String, data type of returned Keras variable. |
name |
String, name of returned Keras variable. |
A Keras variable, an identity matrix.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Flatten a tensor.
k_flatten(x)
k_flatten(x)
x |
A tensor or variable. |
A tensor, reshaped into 1-D
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Default float type
k_floatx() k_set_floatx(floatx)
k_floatx() k_set_floatx(floatx)
floatx |
String, 'float16', 'float32', or 'float64'. |
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Reduce elems using fn to combine them from left to right.
k_foldl(fn, elems, initializer = NULL, name = NULL)
k_foldl(fn, elems, initializer = NULL, name = NULL)
fn |
Function that will be called upon each element in elems and an accumulator |
elems |
tensor |
initializer |
The first value used (first element of |
name |
A string name for the foldl node in the graph |
Tensor with same type and shape as initializer
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Reduce elems using fn to combine them from right to left.
k_foldr(fn, elems, initializer = NULL, name = NULL)
k_foldr(fn, elems, initializer = NULL, name = NULL)
fn |
Function that will be called upon each element in elems and an accumulator |
elems |
tensor |
initializer |
The first value used (last element of |
name |
A string name for the foldr node in the graph |
Tensor with same type and shape as initializer
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Instantiates a Keras function
k_function(inputs, outputs, updates = NULL, ...)
k_function(inputs, outputs, updates = NULL, ...)
inputs |
List of placeholder tensors. |
outputs |
List of output tensors. |
updates |
List of update ops. |
... |
Named arguments passed to |
Output values as R arrays.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
indices
in the tensor reference
.Retrieves the elements of indices indices
in the tensor reference
.
k_gather(reference, indices)
k_gather(reference, indices)
reference |
A tensor. |
indices |
Indices. Dimension indices are 1-based. Note however that if you pass a
tensor for |
A tensor of same type as reference
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
If a default TensorFlow session is available, we will return it. Else, we
will return the global Keras session. If no global Keras session exists at
this point: we will create a new global session. Note that you can manually
set the global session via k_set_session()
.
k_get_session() k_set_session(session)
k_get_session() k_set_session(session)
session |
A TensorFlow Session. |
A TensorFlow session
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Get the uid for the default graph.
k_get_uid(prefix = "")
k_get_uid(prefix = "")
prefix |
An optional prefix of the graph. |
A unique identifier for the graph.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Returns the value of a variable.
k_get_value(x)
k_get_value(x)
x |
input variable. |
An R array.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Returns the shape of a variable.
k_get_variable_shape(x)
k_get_variable_shape(x)
x |
A variable. |
A vector of integers.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
variables
w.r.t. loss
.Returns the gradients of variables
w.r.t. loss
.
k_gradients(loss, variables)
k_gradients(loss, variables)
loss |
Scalar tensor to minimize. |
variables |
List of variables. |
A gradients tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise truth value of (x > y).
k_greater(x, y)
k_greater(x, y)
x |
Tensor or variable. |
y |
Tensor or variable. |
A bool tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise truth value of (x >= y).
k_greater_equal(x, y)
k_greater_equal(x, y)
x |
Tensor or variable. |
y |
Tensor or variable. |
A bool tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Faster than sigmoid.
Returns 0.
if x < -2.5
, 1.
if x > 2.5
.
In -2.5 <= x <= 2.5
, returns 0.2 * x + 0.5
.
k_hard_sigmoid(x)
k_hard_sigmoid(x)
x |
A tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Returns a tensor with the same content as the input tensor.
k_identity(x, name = NULL)
k_identity(x, name = NULL)
x |
The input tensor. |
name |
String, name for the variable to create. |
A tensor of the same shape, type and content.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Default image data format convention ('channels_first' or 'channels_last').
k_image_data_format() k_set_image_data_format(data_format)
k_image_data_format() k_set_image_data_format(data_format)
data_format |
string. |
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
x
in test phase, and alt
otherwise.Note that alt
should have the same shape as x
.
k_in_test_phase(x, alt, training = NULL)
k_in_test_phase(x, alt, training = NULL)
x |
What to return in test phase (tensor or function that returns a tensor). |
alt |
What to return otherwise (tensor or function that returns a tensor). |
training |
Optional scalar tensor (or R logical or integer) specifying the learning phase. |
Either x
or alt
based on k_learning_phase()
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
targets
are in the top k
predictions
.Returns whether the targets
are in the top k
predictions
.
k_in_top_k(predictions, targets, k)
k_in_top_k(predictions, targets, k)
predictions |
A tensor of shape |
targets |
A 1D tensor of length |
k |
An |
A 1D tensor of length batch_size
and type bool
. output[[i]]
is
TRUE
if predictions[i, targets[[i]]
is within top-k
values of
predictions[[i]]
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
x
in train phase, and alt
otherwise.Note that alt
should have the same shape as x
.
k_in_train_phase(x, alt, training = NULL)
k_in_train_phase(x, alt, training = NULL)
x |
What to return in train phase (tensor or function that returns a tensor). |
alt |
What to return otherwise (tensor or function that returns a tensor). |
training |
Optional scalar tensor (or R logical or integer) specifying the learning phase. |
Either x
or alt
based on the training
flag. the training
flag defaults to k_learning_phase()
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Returns the shape of tensor or variable as a list of int or NULL entries.
k_int_shape(x)
k_int_shape(x)
x |
Tensor or variable. |
A list of integers (or NULL entries).
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
x
is a Keras tensor.A "Keras tensor" is a tensor that was returned by a Keras layer
k_is_keras_tensor(x)
k_is_keras_tensor(x)
x |
A candidate tensor. |
A logical: Whether the argument is a Keras tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
x
is a placeholder.Returns whether x
is a placeholder.
k_is_placeholder(x)
k_is_placeholder(x)
x |
A candidate placeholder. |
A logical
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Returns whether a tensor is a sparse tensor.
k_is_sparse(tensor)
k_is_sparse(tensor)
tensor |
A tensor instance. |
A logical
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
x
is a symbolic tensor.Returns whether x
is a symbolic tensor.
k_is_tensor(x)
k_is_tensor(x)
x |
A candidate tensor. |
A logical: Whether the argument is a symbolic tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Normalizes a tensor wrt the L2 norm alongside the specified axis.
k_l2_normalize(x, axis = NULL)
k_l2_normalize(x, axis = NULL)
x |
Tensor or variable. |
axis |
Axis along which to perform normalization (axis indexes are 1-based) |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
The learning phase flag is a bool tensor (0 = test, 1 = train) to be passed as input to any Keras function that uses a different behavior at train time and test time.
k_learning_phase()
k_learning_phase()
Learning phase (scalar integer tensor or R integer).
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise truth value of (x < y).
k_less(x, y)
k_less(x, y)
x |
Tensor or variable. |
y |
Tensor or variable. |
A bool tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise truth value of (x <= y).
k_less_equal(x, y)
k_less_equal(x, y)
x |
Tensor or variable. |
y |
Tensor or variable. |
A bool tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Apply 1D conv with un-shared weights.
k_local_conv1d(inputs, kernel, kernel_size, strides, data_format = NULL)
k_local_conv1d(inputs, kernel, kernel_size, strides, data_format = NULL)
inputs |
3D tensor with shape: (batch_size, steps, input_dim) |
kernel |
the unshared weight for convolution, with shape (output_length, feature_dim, filters) |
kernel_size |
a list of a single integer, specifying the length of the 1D convolution window |
strides |
a list of a single integer, specifying the stride length of the convolution |
data_format |
the data format, channels_first or channels_last |
the tensor after 1d conv with un-shared weights, with shape (batch_size, output_length, filters)
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Apply 2D conv with un-shared weights.
k_local_conv2d( inputs, kernel, kernel_size, strides, output_shape, data_format = NULL )
k_local_conv2d( inputs, kernel, kernel_size, strides, output_shape, data_format = NULL )
inputs |
4D tensor with shape: (batch_size, filters, new_rows, new_cols) if data_format='channels_first' or 4D tensor with shape: (batch_size, new_rows, new_cols, filters) if data_format='channels_last'. |
kernel |
the unshared weight for convolution, with shape (output_items, feature_dim, filters) |
kernel_size |
a list of 2 integers, specifying the width and height of the 2D convolution window. |
strides |
a list of 2 integers, specifying the strides of the convolution along the width and height. |
output_shape |
a list with (output_row, output_col) |
data_format |
the data format, channels_first or channels_last |
A 4d tensor with shape: (batch_size, filters, new_rows, new_cols) if data_format='channels_first' or 4D tensor with shape: (batch_size, new_rows, new_cols, filters) if data_format='channels_last'.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise log.
k_log(x)
k_log(x)
x |
Tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
This boolean flag determines whether variables should be initialized as they
are instantiated (default), or if the user should handle the initialization
(e.g. via tf$initialize_all_variables()
).
k_manual_variable_initialization(value)
k_manual_variable_initialization(value)
value |
Logical |
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Map the function fn over the elements elems and return the outputs.
k_map_fn(fn, elems, name = NULL, dtype = NULL)
k_map_fn(fn, elems, name = NULL, dtype = NULL)
fn |
Function that will be called upon each element in elems |
elems |
tensor |
name |
A string name for the map node in the graph |
dtype |
Output data type. |
Tensor with dtype dtype
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Maximum value in a tensor.
k_max(x, axis = NULL, keepdims = FALSE)
k_max(x, axis = NULL, keepdims = FALSE)
x |
A tensor or variable. |
axis |
An integer, the axis to find maximum values (axis indexes are 1-based). |
keepdims |
A boolean, whether to keep the dimensions or not. If
|
A tensor with maximum values of x
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise maximum of two tensors.
k_maximum(x, y)
k_maximum(x, y)
x |
Tensor or variable. |
y |
Tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Mean of a tensor, alongside the specified axis.
k_mean(x, axis = NULL, keepdims = FALSE)
k_mean(x, axis = NULL, keepdims = FALSE)
x |
A tensor or variable. |
axis |
A list of axes to compute the mean over (axis indexes are 1-based). |
keepdims |
A boolean, whether to keep the dimensions or not. If
|
A tensor with the mean of elements of x
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Minimum value in a tensor.
k_min(x, axis = NULL, keepdims = FALSE)
k_min(x, axis = NULL, keepdims = FALSE)
x |
A tensor or variable. |
axis |
An integer, axis to find minimum values (axis indexes are 1-based). |
keepdims |
A boolean, whether to keep the dimensions or not. If
|
A tensor with miminum values of x
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise minimum of two tensors.
k_minimum(x, y)
k_minimum(x, y)
x |
Tensor or variable. |
y |
Tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Compute the moving average of a variable.
k_moving_average_update(x, value, momentum)
k_moving_average_update(x, value, momentum)
x |
A |
value |
A tensor with the same shape as |
momentum |
The moving average momentum. |
An operation to update the variable.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Returns the number of axes in a tensor, as an integer.
k_ndim(x)
k_ndim(x)
x |
Tensor or variable. |
Integer (scalar), number of axes.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Computes mean and std for batch then apply batch_normalization on batch.
k_normalize_batch_in_training(x, gamma, beta, reduction_axes, epsilon = 0.001)
k_normalize_batch_in_training(x, gamma, beta, reduction_axes, epsilon = 0.001)
x |
Input tensor or variable. |
gamma |
Tensor by which to scale the input. |
beta |
Tensor with which to center the input. |
reduction_axes |
iterable of integers, axes over which to normalize. |
epsilon |
Fuzz factor. |
A list length of 3, (normalized_tensor, mean, variance)
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise inequality between two tensors.
k_not_equal(x, y)
k_not_equal(x, y)
x |
Tensor or variable. |
y |
Tensor or variable. |
A bool tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Computes the one-hot representation of an integer tensor.
k_one_hot(indices, num_classes)
k_one_hot(indices, num_classes)
indices |
nD integer tensor of shape |
num_classes |
Integer, number of classes to consider. |
(n + 1)D one hot representation of the input with shape
(batch_size, dim1, dim2, ... dim(n-1), num_classes)
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Instantiates an all-ones tensor variable and returns it.
k_ones(shape, dtype = NULL, name = NULL)
k_ones(shape, dtype = NULL, name = NULL)
shape |
Tuple of integers, shape of returned Keras variable. |
dtype |
String, data type of returned Keras variable. |
name |
String, name of returned Keras variable. |
A Keras variable, filled with 1.0
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Instantiates an all-ones variable of the same shape as another tensor.
k_ones_like(x, dtype = NULL, name = NULL)
k_ones_like(x, dtype = NULL, name = NULL)
x |
Keras variable or tensor. |
dtype |
String, dtype of returned Keras variable. NULL uses the dtype of x. |
name |
String, name for the variable to create. |
A Keras variable with the shape of x filled with ones.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Permutes axes in a tensor.
k_permute_dimensions(x, pattern)
k_permute_dimensions(x, pattern)
x |
Tensor or variable. |
pattern |
A list of dimension indices, e.g. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Instantiates a placeholder tensor and returns it.
k_placeholder( shape = NULL, ndim = NULL, dtype = NULL, sparse = FALSE, name = NULL )
k_placeholder( shape = NULL, ndim = NULL, dtype = NULL, sparse = FALSE, name = NULL )
shape |
Shape of the placeholder (integer list, may include |
ndim |
Number of axes of the tensor. At least one of |
dtype |
Placeholder type. |
sparse |
Logical, whether the placeholder should have a sparse type. |
name |
Optional name string for the placeholder. |
Tensor instance (with Keras metadata included).
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
2D Pooling.
k_pool2d( x, pool_size, strides = c(1, 1), padding = "valid", data_format = NULL, pool_mode = "max" )
k_pool2d( x, pool_size, strides = c(1, 1), padding = "valid", data_format = NULL, pool_mode = "max" )
x |
Tensor or variable. |
pool_size |
list of 2 integers. |
strides |
list of 2 integers. |
padding |
string, |
data_format |
string, |
pool_mode |
string, |
A tensor, result of 2D pooling.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
3D Pooling.
k_pool3d( x, pool_size, strides = c(1, 1, 1), padding = "valid", data_format = NULL, pool_mode = "max" )
k_pool3d( x, pool_size, strides = c(1, 1, 1), padding = "valid", data_format = NULL, pool_mode = "max" )
x |
Tensor or variable. |
pool_size |
list of 3 integers. |
strides |
list of 3 integers. |
padding |
string, |
data_format |
string, |
pool_mode |
string, |
A tensor, result of 3D pooling.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise exponentiation.
k_pow(x, a)
k_pow(x, a)
x |
Tensor or variable. |
a |
R integer. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
message
and the tensor value when evaluated.Note that print_tensor
returns a new tensor identical to x
which should
be used in the following code. Otherwise the print operation is not taken
into account during evaluation.
k_print_tensor(x, message = "")
k_print_tensor(x, message = "")
x |
Tensor to print. |
message |
Message to print jointly with the tensor. |
The same tensor x
, unchanged.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Multiplies the values in a tensor, alongside the specified axis.
k_prod(x, axis = NULL, keepdims = FALSE)
k_prod(x, axis = NULL, keepdims = FALSE)
x |
A tensor or variable. |
axis |
An integer, axis to compute the product over (axis indexes are 1-based). |
keepdims |
A boolean, whether to keep the dimensions or not. If
|
A tensor with the product of elements of x
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
k_random_binomial()
and k_random_bernoulli()
are aliases for the same
function. Both are maintained for backwards compatibility. New code
should prefer k_random_bernoulli()
.
k_random_binomial(shape, p = 0, dtype = NULL, seed = NULL) k_random_bernoulli(shape, p = 0, dtype = NULL, seed = NULL)
k_random_binomial(shape, p = 0, dtype = NULL, seed = NULL) k_random_bernoulli(shape, p = 0, dtype = NULL, seed = NULL)
shape |
A list of integers, the shape of tensor to create. |
p |
A float, |
dtype |
String, dtype of returned tensor. |
seed |
Integer, random seed. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Returns a tensor with normal distribution of values.
k_random_normal(shape, mean = 0, stddev = 1, dtype = NULL, seed = NULL)
k_random_normal(shape, mean = 0, stddev = 1, dtype = NULL, seed = NULL)
shape |
A list of integers, the shape of tensor to create. |
mean |
A float, mean of the normal distribution to draw samples. |
stddev |
A float, standard deviation of the normal distribution to draw samples. |
dtype |
String, dtype of returned tensor. |
seed |
Integer, random seed. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Instantiates a variable with values drawn from a normal distribution.
k_random_normal_variable( shape, mean, scale, dtype = NULL, name = NULL, seed = NULL )
k_random_normal_variable( shape, mean, scale, dtype = NULL, name = NULL, seed = NULL )
shape |
Tuple of integers, shape of returned Keras variable. |
mean |
Float, mean of the normal distribution. |
scale |
Float, standard deviation of the normal distribution. |
dtype |
String, dtype of returned Keras variable. |
name |
String, name of returned Keras variable. |
seed |
Integer, random seed. |
A Keras variable, filled with drawn samples.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Returns a tensor with uniform distribution of values.
k_random_uniform(shape, minval = 0, maxval = 1, dtype = NULL, seed = NULL)
k_random_uniform(shape, minval = 0, maxval = 1, dtype = NULL, seed = NULL)
shape |
A list of integers, the shape of tensor to create. |
minval |
A float, lower boundary of the uniform distribution to draw samples. |
maxval |
A float, upper boundary of the uniform distribution to draw samples. |
dtype |
String, dtype of returned tensor. |
seed |
Integer, random seed. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Instantiates a variable with values drawn from a uniform distribution.
k_random_uniform_variable( shape, low, high, dtype = NULL, name = NULL, seed = NULL )
k_random_uniform_variable( shape, low, high, dtype = NULL, name = NULL, seed = NULL )
shape |
Tuple of integers, shape of returned Keras variable. |
low |
Float, lower boundary of the output interval. |
high |
Float, upper boundary of the output interval. |
dtype |
String, dtype of returned Keras variable. |
name |
String, name of returned Keras variable. |
seed |
Integer, random seed. |
A Keras variable, filled with drawn samples.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
With default values, it returns element-wise max(x, 0)
.
k_relu(x, alpha = 0, max_value = NULL)
k_relu(x, alpha = 0, max_value = NULL)
x |
A tensor or variable. |
alpha |
A scalar, slope of negative section (default= |
max_value |
Saturation threshold. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
If x has shape (samples, dim) and n is 2, the output will have shape (samples, 2, dim).
k_repeat(x, n)
k_repeat(x, n)
x |
Tensor or variable. |
n |
Integer, number of times to repeat. |
A tensor
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
If x
has shape (s1, s2, s3)
and axis
is 2
, the output
will have shape (s1, s2 * rep, s3)
.
k_repeat_elements(x, rep, axis)
k_repeat_elements(x, rep, axis)
x |
Tensor or variable. |
rep |
Integer, number of times to repeat. |
axis |
Axis along which to repeat (axis indexes are 1-based) |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Reset graph identifiers.
k_reset_uids()
k_reset_uids()
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Reshapes a tensor to the specified shape.
k_reshape(x, shape)
k_reshape(x, shape)
x |
Tensor or variable. |
shape |
Target shape list. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Resizes the images contained in a 4D tensor.
k_resize_images(x, height_factor, width_factor, data_format)
k_resize_images(x, height_factor, width_factor, data_format)
x |
Tensor or variable to resize. |
height_factor |
Positive integer. |
width_factor |
Positive integer. |
data_format |
string, |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Resizes the volume contained in a 5D tensor.
k_resize_volumes(x, depth_factor, height_factor, width_factor, data_format)
k_resize_volumes(x, depth_factor, height_factor, width_factor, data_format)
x |
Tensor or variable to resize. |
depth_factor |
Positive integer. |
height_factor |
Positive integer. |
width_factor |
Positive integer. |
data_format |
string, |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Reverse a tensor along the specified axes.
k_reverse(x, axes)
k_reverse(x, axes)
x |
Tensor to reverse. |
axes |
Integer or list of integers of axes to reverse (axis indexes are 1-based). |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Iterates over the time dimension of a tensor
k_rnn( step_function, inputs, initial_states, go_backwards = FALSE, mask = NULL, constants = NULL, unroll = FALSE, input_length = NULL )
k_rnn( step_function, inputs, initial_states, go_backwards = FALSE, mask = NULL, constants = NULL, unroll = FALSE, input_length = NULL )
step_function |
RNN step function. |
inputs |
Tensor with shape (samples, ...) (no time dimension), representing input for the batch of samples at a certain time step. |
initial_states |
Tensor with shape (samples, output_dim) (no time dimension), containing the initial values for the states used in the step function. |
go_backwards |
Logical If |
mask |
Binary tensor with shape (samples, time, 1), with a zero for every element that is masked. |
constants |
A list of constant values passed at each step. |
unroll |
Whether to unroll the RNN or to use a symbolic loop (while_loop or scan depending on backend). |
input_length |
Not relevant in the TensorFlow implementation. Must be specified if using unrolling with Theano. |
A list with:
last_output
: the latest output of the rnn, of shape (samples, ...)
outputs
: tensor with shape (samples, time, ...) where each entry
outputs[s, t]
is the output of the step function at time t for sample s.
new_states
: list of tensors, latest states returned by the step
function, of shape (samples, ...).
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
In case of tie, the rounding mode used is "half to even".
k_round(x)
k_round(x)
x |
Tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
2D convolution with separable filters.
k_separable_conv2d( x, depthwise_kernel, pointwise_kernel, strides = c(1, 1), padding = "valid", data_format = NULL, dilation_rate = c(1, 1) )
k_separable_conv2d( x, depthwise_kernel, pointwise_kernel, strides = c(1, 1), padding = "valid", data_format = NULL, dilation_rate = c(1, 1) )
x |
input tensor |
depthwise_kernel |
convolution kernel for the depthwise convolution. |
pointwise_kernel |
kernel for the 1x1 convolution. |
strides |
strides list (length 2). |
padding |
string, |
data_format |
string, |
dilation_rate |
list of integers, dilation rates for the separable convolution. |
Output tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Sets the learning phase to a fixed value.
k_set_learning_phase(value)
k_set_learning_phase(value)
value |
Learning phase value, either 0 or 1 (integers). |
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Sets the value of a variable, from an R array.
k_set_value(x, value)
k_set_value(x, value)
x |
Tensor to set to a new value. |
value |
Value to set the tensor to, as an R array (of the same shape). |
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Returns the symbolic shape of a tensor or variable.
k_shape(x)
k_shape(x)
x |
A tensor or variable. |
A symbolic shape (which is itself a tensor).
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise sigmoid.
k_sigmoid(x)
k_sigmoid(x)
x |
A tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise sign.
k_sign(x)
k_sign(x)
x |
Tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Computes sin of x element-wise.
k_sin(x)
k_sin(x)
x |
Tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Softmax of a tensor.
k_softmax(x, axis = -1)
k_softmax(x, axis = -1)
x |
A tensor or variable. |
axis |
The dimension softmax would be performed on. The default is -1 which indicates the last dimension. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Softplus of a tensor.
k_softplus(x)
k_softplus(x)
x |
A tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Softsign of a tensor.
k_softsign(x)
k_softsign(x)
x |
A tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Categorical crossentropy with integer targets.
k_sparse_categorical_crossentropy( target, output, from_logits = FALSE, axis = -1 )
k_sparse_categorical_crossentropy( target, output, from_logits = FALSE, axis = -1 )
target |
An integer tensor. |
output |
A tensor resulting from a softmax (unless |
from_logits |
Boolean, whether |
axis |
Axis (axis indexes are 1-based). Pass -1 (the default) to select the last axis. |
Output tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Pads the 2nd and 3rd dimensions of a 4D tensor.
k_spatial_2d_padding( x, padding = list(list(1, 1), list(1, 1)), data_format = NULL )
k_spatial_2d_padding( x, padding = list(list(1, 1), list(1, 1)), data_format = NULL )
x |
Tensor or variable. |
padding |
Tuple of 2 lists, padding pattern. |
data_format |
string, |
A padded 4D tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Pads these dimensions with respectively padding[[1]]
, padding[[2]]
, and
padding[[3]]
zeros left and right. For 'channels_last' data_format, the
2nd, 3rd and 4th dimension will be padded. For 'channels_first' data_format,
the 3rd, 4th and 5th dimension will be padded.
k_spatial_3d_padding( x, padding = list(list(1, 1), list(1, 1), list(1, 1)), data_format = NULL )
k_spatial_3d_padding( x, padding = list(list(1, 1), list(1, 1), list(1, 1)), data_format = NULL )
x |
Tensor or variable. |
padding |
List of 3 lists, padding pattern. |
data_format |
string, |
A padded 5D tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise square root.
k_sqrt(x)
k_sqrt(x)
x |
Tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise square.
k_square(x)
k_square(x)
x |
Tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
axis
.Removes a 1-dimension from the tensor at index axis
.
k_squeeze(x, axis = NULL)
k_squeeze(x, axis = NULL)
x |
A tensor or variable. |
axis |
Axis to drop (axis indexes are 1-based). |
A tensor with the same data as x
but reduced dimensions.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
R
tensors into a rank R+1
tensor.Stacks a list of rank R
tensors into a rank R+1
tensor.
k_stack(x, axis = 1)
k_stack(x, axis = 1)
x |
List of tensors. |
axis |
Axis along which to perform stacking (axis indexes are 1-based). |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Standard deviation of a tensor, alongside the specified axis.
k_std(x, axis = NULL, keepdims = FALSE)
k_std(x, axis = NULL, keepdims = FALSE)
x |
A tensor or variable. |
axis |
An integer, the axis to compute the standard deviation over (axis indexes are 1-based). |
keepdims |
A boolean, whether to keep the dimensions or not. If
|
A tensor with the standard deviation of elements of x
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
variables
but with zero gradient w.r.t. every other variable.Returns variables
but with zero gradient w.r.t. every other variable.
k_stop_gradient(variables)
k_stop_gradient(variables)
variables |
tensor or list of tensors to consider constant with respect to any other variable. |
A single tensor or a list of tensors (depending on the passed argument) that has constant gradient with respect to any other variable.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Sum of the values in a tensor, alongside the specified axis.
k_sum(x, axis = NULL, keepdims = FALSE)
k_sum(x, axis = NULL, keepdims = FALSE)
x |
A tensor or variable. |
axis |
An integer, the axis to sum over (axis indexes are 1-based). |
keepdims |
A boolean, whether to keep the dimensions or not. If
|
A tensor with sum of x
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Note that both then_expression
and else_expression
should be symbolic tensors of the same shape.
k_switch(condition, then_expression, else_expression)
k_switch(condition, then_expression, else_expression)
condition |
tensor ( |
then_expression |
either a tensor, or a function that returns a tensor. |
else_expression |
either a tensor, or a function that returns a tensor. |
The selected tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Element-wise tanh.
k_tanh(x)
k_tanh(x)
x |
A tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Pads the middle dimension of a 3D tensor.
k_temporal_padding(x, padding = c(1, 1))
k_temporal_padding(x, padding = c(1, 1))
x |
Tensor or variable. |
padding |
List of 2 integers, how many zeros to add at the start and end of dim 1. |
A padded 3D tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
x
by n
.Creates a tensor by tiling x
by n
.
k_tile(x, n)
k_tile(x, n)
x |
A tensor or variable |
n |
A list of integers. The length must be the same as the number of dimensions in |
A tiled tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Converts a sparse tensor into a dense tensor and returns it.
k_to_dense(tensor)
k_to_dense(tensor)
tensor |
A tensor instance (potentially sparse). |
A dense tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Transposes a tensor and returns it.
k_transpose(x)
k_transpose(x)
x |
Tensor or variable. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
The generated values follow a normal distribution with specified mean and standard deviation, except that values whose magnitude is more than two standard deviations from the mean are dropped and re-picked.
k_truncated_normal(shape, mean = 0, stddev = 1, dtype = NULL, seed = NULL)
k_truncated_normal(shape, mean = 0, stddev = 1, dtype = NULL, seed = NULL)
shape |
A list of integers, the shape of tensor to create. |
mean |
Mean of the values. |
stddev |
Standard deviation of the values. |
dtype |
String, dtype of returned tensor. |
seed |
Integer, random seed. |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
R
tensor into a list of rank R-1
tensors.Unstack rank R
tensor into a list of rank R-1
tensors.
k_unstack(x, axis = 1L, num = NULL, name = NULL)
k_unstack(x, axis = 1L, num = NULL, name = NULL)
x |
a tensor. |
axis |
Axis along which to perform stacking (axis indexes are 1-based).
Negative values wrap around, so the valid range is |
num |
An int. The length of the dimension axis. Automatically inferred if NULL (the default). |
name |
A name for the operation (optional). |
A tensor.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
x
to new_x
.Update the value of x
to new_x
.
k_update(x, new_x)
k_update(x, new_x)
x |
A |
new_x |
A tensor of same shape as |
The variable x
updated.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
x
by adding increment
.Update the value of x
by adding increment
.
k_update_add(x, increment)
k_update_add(x, increment)
x |
A |
increment |
A tensor of same shape as |
The variable x
updated.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
x
by subtracting decrement
.Update the value of x
by subtracting decrement
.
k_update_sub(x, decrement)
k_update_sub(x, decrement)
x |
A |
decrement |
A tensor of same shape as |
The variable x
updated.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Variance of a tensor, alongside the specified axis.
k_var(x, axis = NULL, keepdims = FALSE)
k_var(x, axis = NULL, keepdims = FALSE)
x |
A tensor or variable. |
axis |
An integer, the axis to compute the variance over (axis indexes are 1-based). |
keepdims |
A boolean, whether to keep the dimensions or not. If
|
A tensor with the variance of elements of x
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Instantiates a variable and returns it.
k_variable(value, dtype = NULL, name = NULL, constraint = NULL)
k_variable(value, dtype = NULL, name = NULL, constraint = NULL)
value |
Numpy array, initial value of the tensor. |
dtype |
Tensor type. |
name |
Optional name string for the tensor. |
constraint |
Optional projection function to be applied to the variable after an optimizer update. |
A variable instance (with Keras metadata included).
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Instantiates an all-zeros variable and returns it.
k_zeros(shape, dtype = NULL, name = NULL)
k_zeros(shape, dtype = NULL, name = NULL)
shape |
Tuple of integers, shape of returned Keras variable |
dtype |
String, data type of returned Keras variable |
name |
String, name of returned Keras variable |
A variable (including Keras metadata), filled with 0.0
.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
Instantiates an all-zeros variable of the same shape as another tensor.
k_zeros_like(x, dtype = NULL, name = NULL)
k_zeros_like(x, dtype = NULL, name = NULL)
x |
Keras variable or Keras tensor. |
dtype |
String, dtype of returned Keras variable. NULL uses the dtype of x. |
name |
String, name for the variable to create. |
A Keras variable with the shape of x filled with zeros.
This function is part of a set of Keras backend functions that enable lower level access to the core operations of the backend tensor engine (e.g. TensorFlow, CNTK, Theano, etc.).
You can see a list of all available backend functions here: https://tensorflow.rstudio.com/reference/keras/index.html#backend.
The keras
module object is the equivalent of
keras <- tensorflow::tf$keras
and provided mainly as a convenience.
keras
keras
An object of class python.builtin.module
(inherits from python.builtin.object
) of length 0.
the keras Python module
Convert an R vector, matrix, or array object to an array that has the optimal in-memory layout and floating point data type for the current Keras backend.
keras_array(x, dtype = NULL)
keras_array(x, dtype = NULL)
x |
Object or list of objects to convert |
dtype |
NumPy data type (e.g. float32, float64). If this is unspecified then R doubles will be converted to the default floating point type for the current Keras backend. |
Keras does frequent row-oriented access to arrays (for shuffling and drawing batches) so the order of arrays created by this function is always row-oriented ("C" as opposed to "Fortran" ordering, which is the default for R arrays).
If the passed array is already a NumPy array with the desired dtype
and "C"
order then it is returned unmodified (no additional copies are made).
NumPy array with the specified dtype
(or list of NumPy arrays if a
list was passed for x
).
A model is a directed acyclic graph of layers.
keras_model(inputs, outputs = NULL, ...)
keras_model(inputs, outputs = NULL, ...)
inputs |
Input layer |
outputs |
Output layer |
... |
Any additional arguments |
Other model functions:
compile.keras.engine.training.Model()
,
evaluate.keras.engine.training.Model()
,
evaluate_generator()
,
fit.keras.engine.training.Model()
,
fit_generator()
,
get_config()
,
get_layer()
,
keras_model_sequential()
,
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()
## Not run: library(keras) # input layer inputs <- layer_input(shape = c(784)) # outputs compose input + dense layers predictions <- inputs %>% layer_dense(units = 64, activation = 'relu') %>% layer_dense(units = 64, activation = 'relu') %>% layer_dense(units = 10, activation = 'softmax') # create and compile model model <- keras_model(inputs = inputs, outputs = predictions) model %>% compile( optimizer = 'rmsprop', loss = 'categorical_crossentropy', metrics = c('accuracy') ) ## End(Not run)
## Not run: library(keras) # input layer inputs <- layer_input(shape = c(784)) # outputs compose input + dense layers predictions <- inputs %>% layer_dense(units = 64, activation = 'relu') %>% layer_dense(units = 64, activation = 'relu') %>% layer_dense(units = 10, activation = 'softmax') # create and compile model model <- keras_model(inputs = inputs, outputs = predictions) model %>% compile( optimizer = 'rmsprop', loss = 'categorical_crossentropy', metrics = c('accuracy') ) ## End(Not run)
Keras Model composed of a linear stack of layers
keras_model_sequential(layers = NULL, name = NULL, ...)
keras_model_sequential(layers = NULL, name = NULL, ...)
layers |
List of layers to add to the model |
name |
Name of model |
... |
Arguments passed on to
|
If any arguments are provided to ...
, then the sequential model is
initialized with a InputLayer
instance. If not, then the first layer passed
to a Sequential model should have a defined input shape. What that means is
that it should have received an input_shape
or batch_input_shape
argument, or for some type of layers (recurrent, Dense...) an input_dim
argument.
Other model functions:
compile.keras.engine.training.Model()
,
evaluate.keras.engine.training.Model()
,
evaluate_generator()
,
fit.keras.engine.training.Model()
,
fit_generator()
,
get_config()
,
get_layer()
,
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()
## Not run: library(keras) model <- keras_model_sequential() model %>% layer_dense(units = 32, input_shape = c(784)) %>% layer_activation('relu') %>% layer_dense(units = 10) %>% layer_activation('softmax') model %>% compile( optimizer = 'rmsprop', loss = 'categorical_crossentropy', metrics = c('accuracy') ) # alternative way to provide input shape model <- keras_model_sequential(input_shape = c(784)) %>% layer_dense(units = 32) %>% layer_activation('relu') %>% layer_dense(units = 10) %>% layer_activation('softmax') ## End(Not run)
## Not run: library(keras) model <- keras_model_sequential() model %>% layer_dense(units = 32, input_shape = c(784)) %>% layer_activation('relu') %>% layer_dense(units = 10) %>% layer_activation('softmax') model %>% compile( optimizer = 'rmsprop', loss = 'categorical_crossentropy', metrics = c('accuracy') ) # alternative way to provide input shape model <- keras_model_sequential(input_shape = c(784)) %>% layer_dense(units = 32) %>% layer_activation('relu') %>% layer_dense(units = 10) %>% layer_activation('softmax') ## End(Not run)
Apply an activation function to an output.
layer_activation( object, activation, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_activation( object, activation, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
activation |
Name of activation function to use. If you don't specify anything, no activation is applied (ie. "linear" activation: a(x) = x). |
input_shape |
Input shape (list of integers, does not include the samples axis) which is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
Other core layers:
layer_activity_regularization()
,
layer_attention()
,
layer_dense()
,
layer_dense_features()
,
layer_dropout()
,
layer_flatten()
,
layer_input()
,
layer_lambda()
,
layer_masking()
,
layer_permute()
,
layer_repeat_vector()
,
layer_reshape()
Other activation layers:
layer_activation_elu()
,
layer_activation_leaky_relu()
,
layer_activation_parametric_relu()
,
layer_activation_relu()
,
layer_activation_selu()
,
layer_activation_softmax()
,
layer_activation_thresholded_relu()
It follows: f(x) = alpha * (exp(x) - 1.0)
for x < 0
, f(x) = x
for x >= 0
.
layer_activation_elu( object, alpha = 1, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_activation_elu( object, alpha = 1, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
alpha |
Scale for the negative factor. |
input_shape |
Input shape (list of integers, does not include the samples axis) which is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs).
Other activation layers:
layer_activation()
,
layer_activation_leaky_relu()
,
layer_activation_parametric_relu()
,
layer_activation_relu()
,
layer_activation_selu()
,
layer_activation_softmax()
,
layer_activation_thresholded_relu()
Allows a small gradient when the unit is not active: f(x) = alpha * x
for
x < 0
, f(x) = x
for x >= 0
.
layer_activation_leaky_relu( object, alpha = 0.3, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_activation_leaky_relu( object, alpha = 0.3, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
alpha |
float >= 0. Negative slope coefficient. |
input_shape |
Input shape (list of integers, does not include the samples axis) which is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
Rectifier Nonlinearities Improve Neural Network Acoustic Models.
Other activation layers:
layer_activation()
,
layer_activation_elu()
,
layer_activation_parametric_relu()
,
layer_activation_relu()
,
layer_activation_selu()
,
layer_activation_softmax()
,
layer_activation_thresholded_relu()
It follows: f(x) = alpha * x`` for
x < 0,
f(x) = xfor
x >= 0', where
alpha is a learned array with the same shape as x.
layer_activation_parametric_relu( object, alpha_initializer = "zeros", alpha_regularizer = NULL, alpha_constraint = NULL, shared_axes = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_activation_parametric_relu( object, alpha_initializer = "zeros", alpha_regularizer = NULL, alpha_constraint = NULL, shared_axes = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
alpha_initializer |
Initializer function for the weights. |
alpha_regularizer |
Regularizer for the weights. |
alpha_constraint |
Constraint for the weights. |
shared_axes |
The axes along which to share learnable parameters for the activation function. For example, if the incoming feature maps are from a 2D convolution with output shape (batch, height, width, channels), and you wish to share parameters across space so that each filter only has one set of parameters, set shared_axes=c(1, 2). |
input_shape |
Input shape (list of integers, does not include the samples axis) which is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification.
Other activation layers:
layer_activation()
,
layer_activation_elu()
,
layer_activation_leaky_relu()
,
layer_activation_relu()
,
layer_activation_selu()
,
layer_activation_softmax()
,
layer_activation_thresholded_relu()
Rectified Linear Unit activation function
layer_activation_relu( object, max_value = NULL, negative_slope = 0, threshold = 0, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_activation_relu( object, max_value = NULL, negative_slope = 0, threshold = 0, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
max_value |
loat, the maximum output value. |
negative_slope |
float >= 0 Negative slope coefficient. |
threshold |
float. Threshold value for thresholded activation. |
input_shape |
Input shape (list of integers, does not include the samples axis) which is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
Other activation layers:
layer_activation()
,
layer_activation_elu()
,
layer_activation_leaky_relu()
,
layer_activation_parametric_relu()
,
layer_activation_selu()
,
layer_activation_softmax()
,
layer_activation_thresholded_relu()
SELU is equal to: scale * elu(x, alpha)
, where alpha and scale
are pre-defined constants.
layer_activation_selu( object, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_activation_selu( object, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
input_shape |
Input shape (list of integers, does not include the samples axis) which is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
The values of alpha
and scale
are
chosen so that the mean and variance of the inputs are preserved
between two consecutive layers as long as the weights are initialized
correctly (see initializer_lecun_normal) and the number of inputs
is "large enough" (see article for more information).
Note:
To be used together with the initialization "lecun_normal".
To be used together with the dropout variant "AlphaDropout".
Self-Normalizing Neural Networks, initializer_lecun_normal
, layer_alpha_dropout
Other activation layers:
layer_activation()
,
layer_activation_elu()
,
layer_activation_leaky_relu()
,
layer_activation_parametric_relu()
,
layer_activation_relu()
,
layer_activation_softmax()
,
layer_activation_thresholded_relu()
It follows: f(x) = alpha * (exp(x) - 1.0)
for x < 0
, f(x) = x
for x >= 0
.
layer_activation_softmax( object, axis = -1, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_activation_softmax( object, axis = -1, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
axis |
Integer, axis along which the softmax normalization is applied. |
input_shape |
Input shape (list of integers, does not include the samples axis) which is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
Other activation layers:
layer_activation()
,
layer_activation_elu()
,
layer_activation_leaky_relu()
,
layer_activation_parametric_relu()
,
layer_activation_relu()
,
layer_activation_selu()
,
layer_activation_thresholded_relu()
It follows: f(x) = x
for x > theta
, f(x) = 0
otherwise.
layer_activation_thresholded_relu( object, theta = 1, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_activation_thresholded_relu( object, theta = 1, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
theta |
float >= 0. Threshold location of activation. |
input_shape |
Input shape (list of integers, does not include the samples axis) which is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
Zero-bias autoencoders and the benefits of co-adapting features.
Other activation layers:
layer_activation()
,
layer_activation_elu()
,
layer_activation_leaky_relu()
,
layer_activation_parametric_relu()
,
layer_activation_relu()
,
layer_activation_selu()
,
layer_activation_softmax()
Layer that applies an update to the cost function based input activity.
layer_activity_regularization( object, l1 = 0, l2 = 0, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_activity_regularization( object, l1 = 0, l2 = 0, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
l1 |
L1 regularization factor (positive float). |
l2 |
L2 regularization factor (positive float). |
input_shape |
Dimensionality of the input (integer) not including the samples axis. This argument is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
Arbitrary. Use the keyword argument input_shape
(list
of integers, does not include the samples axis) when using this layer as
the first layer in a model.
Same shape as input.
Other core layers:
layer_activation()
,
layer_attention()
,
layer_dense()
,
layer_dense_features()
,
layer_dropout()
,
layer_flatten()
,
layer_input()
,
layer_lambda()
,
layer_masking()
,
layer_permute()
,
layer_repeat_vector()
,
layer_reshape()
It takes as input a list of tensors, all of the same shape, and returns a single tensor (also of the same shape).
layer_add(inputs, ...)
layer_add(inputs, ...)
inputs |
A input tensor, or list of input tensors. Can be missing. |
... |
Unnamed args are treated as additional |
A tensor, the sum of the inputs. If inputs
is missing, a keras
layer instance is returned.
Additive attention layer, a.k.a. Bahdanau-style attention
layer_additive_attention( object, use_scale = TRUE, ..., causal = FALSE, dropout = 0 )
layer_additive_attention( object, use_scale = TRUE, ..., causal = FALSE, dropout = 0 )
object |
What to compose the new
|
use_scale |
If |
... |
standard layer arguments. |
causal |
Boolean. Set to |
dropout |
Float between 0 and 1. Fraction of the units to drop for the attention scores. |
Inputs are query
tensor of shape [batch_size, Tq, dim]
, value
tensor of
shape [batch_size, Tv, dim]
and key
tensor of shape
[batch_size, Tv, dim]
. The calculation follows the steps:
Reshape query
and key
into shapes [batch_size, Tq, 1, dim]
and [batch_size, 1, Tv, dim]
respectively.
Calculate scores with shape [batch_size, Tq, Tv]
as a non-linear
sum: scores = tf.reduce_sum(tf.tanh(query + key), axis=-1)
Use scores to calculate a distribution with shape
[batch_size, Tq, Tv]
: distribution = tf$nn$softmax(scores)
.
Use distribution
to create a linear combination of value
with
shape [batch_size, Tq, dim]
:
return tf$matmul(distribution, value)
.
https://www.tensorflow.org/api_docs/python/tf/keras/layers/AdditiveAttention
https://keras.io/api/layers/attention_layers/additive_attention/
Alpha Dropout is a dropout that keeps mean and variance of inputs to their original values, in order to ensure the self-normalizing property even after this dropout.
layer_alpha_dropout(object, rate, noise_shape = NULL, seed = NULL, ...)
layer_alpha_dropout(object, rate, noise_shape = NULL, seed = NULL, ...)
object |
What to compose the new
|
rate |
float, drop probability (as with |
noise_shape |
Noise shape |
seed |
An integer to use as random seed. |
... |
standard layer arguments. |
Alpha Dropout fits well to Scaled Exponential Linear Units by randomly setting activations to the negative saturation value.
Arbitrary. Use the keyword argument input_shape
(list
of integers, does not include the samples axis) when using this layer as
the first layer in a model.
Same shape as input.
https://www.tensorflow.org/api_docs/python/tf/keras/layers/AlphaDropout
Other noise layers:
layer_gaussian_dropout()
,
layer_gaussian_noise()
Dot-product attention layer, a.k.a. Luong-style attention
layer_attention( inputs, use_scale = FALSE, score_mode = "dot", ..., dropout = NULL )
layer_attention( inputs, use_scale = FALSE, score_mode = "dot", ..., dropout = NULL )
inputs |
List of the following tensors:
|
use_scale |
If |
score_mode |
Function to use to compute attention scores, one of
|
... |
standard layer arguments (e.g., batch_size, dtype, name, trainable, weights) |
dropout |
Float between 0 and 1. Fraction of the units to drop for the attention scores. Defaults to 0.0. |
inputs are query
tensor of shape [batch_size, Tq, dim]
, value
tensor
of shape [batch_size, Tv, dim]
and key
tensor of shape
[batch_size, Tv, dim]
. The calculation follows the steps:
Calculate scores with shape [batch_size, Tq, Tv]
as a query
-key
dot
product: scores = tf$matmul(query, key, transpose_b=TRUE)
.
Use scores to calculate a distribution with shape
[batch_size, Tq, Tv]
: distribution = tf$nn$softmax(scores)
.
Use distribution
to create a linear combination of value
with
shape [batch_size, Tq, dim]
:
return tf$matmul(distribution, value)
.
Other core layers:
layer_activation()
,
layer_activity_regularization()
,
layer_dense()
,
layer_dense_features()
,
layer_dropout()
,
layer_flatten()
,
layer_input()
,
layer_lambda()
,
layer_masking()
,
layer_permute()
,
layer_repeat_vector()
,
layer_reshape()
It takes as input a list of tensors, all of the same shape, and returns a single tensor (also of the same shape).
layer_average(inputs, ...)
layer_average(inputs, ...)
inputs |
A input tensor, or list of input tensors. Can be missing. |
... |
Unnamed args are treated as additional |
A tensor, the average of the inputs. If inputs
is missing, a keras
layer instance is returned.
https://www.tensorflow.org/api_docs/python/tf/keras/layers/average
https://www.tensorflow.org/api_docs/python/tf/keras/layers/Average
Other merge layers:
layer_concatenate()
,
layer_dot()
,
layer_maximum()
,
layer_minimum()
,
layer_multiply()
,
layer_subtract()
Average pooling for temporal data.
layer_average_pooling_1d( object, pool_size = 2L, strides = NULL, padding = "valid", data_format = "channels_last", batch_size = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_average_pooling_1d( object, pool_size = 2L, strides = NULL, padding = "valid", data_format = "channels_last", batch_size = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
pool_size |
Integer, size of the average pooling windows. |
strides |
Integer, or NULL. Factor by which to downscale. E.g. 2 will
halve the input. If NULL, it will default to |
padding |
One of |
data_format |
One of |
batch_size |
Fixed batch size for layer |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
3D tensor with shape: (batch_size, steps, features)
.
3D tensor with shape: (batch_size, downsampled_steps, features)
.
Other pooling layers:
layer_average_pooling_2d()
,
layer_average_pooling_3d()
,
layer_global_average_pooling_1d()
,
layer_global_average_pooling_2d()
,
layer_global_average_pooling_3d()
,
layer_global_max_pooling_1d()
,
layer_global_max_pooling_2d()
,
layer_global_max_pooling_3d()
,
layer_max_pooling_1d()
,
layer_max_pooling_2d()
,
layer_max_pooling_3d()
Average pooling operation for spatial data.
layer_average_pooling_2d( object, pool_size = c(2L, 2L), strides = NULL, padding = "valid", data_format = NULL, batch_size = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_average_pooling_2d( object, pool_size = c(2L, 2L), strides = NULL, padding = "valid", data_format = NULL, batch_size = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
pool_size |
integer or list of 2 integers, factors by which to downscale (vertical, horizontal). (2, 2) will halve the input in both spatial dimension. If only one integer is specified, the same window length will be used for both dimensions. |
strides |
Integer, list of 2 integers, or NULL. Strides values. If NULL,
it will default to |
padding |
One of |
data_format |
A string, one of |
batch_size |
Fixed batch size for layer |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
If data_format='channels_last'
: 4D tensor with shape: (batch_size, rows, cols, channels)
If data_format='channels_first'
: 4D tensor with shape: (batch_size, channels, rows, cols)
If data_format='channels_last'
: 4D tensor with shape: (batch_size, pooled_rows, pooled_cols, channels)
If data_format='channels_first'
: 4D tensor with shape: (batch_size, channels, pooled_rows, pooled_cols)
Other pooling layers:
layer_average_pooling_1d()
,
layer_average_pooling_3d()
,
layer_global_average_pooling_1d()
,
layer_global_average_pooling_2d()
,
layer_global_average_pooling_3d()
,
layer_global_max_pooling_1d()
,
layer_global_max_pooling_2d()
,
layer_global_max_pooling_3d()
,
layer_max_pooling_1d()
,
layer_max_pooling_2d()
,
layer_max_pooling_3d()
Average pooling operation for 3D data (spatial or spatio-temporal).
layer_average_pooling_3d( object, pool_size = c(2L, 2L, 2L), strides = NULL, padding = "valid", data_format = NULL, batch_size = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_average_pooling_3d( object, pool_size = c(2L, 2L, 2L), strides = NULL, padding = "valid", data_format = NULL, batch_size = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
pool_size |
list of 3 integers, factors by which to downscale (dim1, dim2, dim3). (2, 2, 2) will halve the size of the 3D input in each dimension. |
strides |
list of 3 integers, or NULL. Strides values. |
padding |
One of |
data_format |
A string, one of |
batch_size |
Fixed batch size for layer |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
If data_format='channels_last'
: 5D tensor with shape: (batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels)
If data_format='channels_first'
: 5D tensor with shape: (batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3)
If data_format='channels_last'
: 5D tensor with shape: (batch_size, pooled_dim1, pooled_dim2, pooled_dim3, channels)
If data_format='channels_first'
: 5D tensor with shape: (batch_size, channels, pooled_dim1, pooled_dim2, pooled_dim3)
Other pooling layers:
layer_average_pooling_1d()
,
layer_average_pooling_2d()
,
layer_global_average_pooling_1d()
,
layer_global_average_pooling_2d()
,
layer_global_average_pooling_3d()
,
layer_global_max_pooling_1d()
,
layer_global_max_pooling_2d()
,
layer_global_max_pooling_3d()
,
layer_max_pooling_1d()
,
layer_max_pooling_2d()
,
layer_max_pooling_3d()
Layer that normalizes its inputs
layer_batch_normalization( object, axis = -1L, momentum = 0.99, epsilon = 0.001, center = TRUE, scale = TRUE, beta_initializer = "zeros", gamma_initializer = "ones", moving_mean_initializer = "zeros", moving_variance_initializer = "ones", beta_regularizer = NULL, gamma_regularizer = NULL, beta_constraint = NULL, gamma_constraint = NULL, synchronized = FALSE, ... )
layer_batch_normalization( object, axis = -1L, momentum = 0.99, epsilon = 0.001, center = TRUE, scale = TRUE, beta_initializer = "zeros", gamma_initializer = "ones", moving_mean_initializer = "zeros", moving_variance_initializer = "ones", beta_regularizer = NULL, gamma_regularizer = NULL, beta_constraint = NULL, gamma_constraint = NULL, synchronized = FALSE, ... )
object |
Layer or model object |
axis |
Integer, the axis that should be normalized (typically the features
axis). For instance, after a |
momentum |
Momentum for the moving average. |
epsilon |
Small float added to variance to avoid dividing by zero. |
center |
If |
scale |
If |
beta_initializer |
Initializer for the beta weight. |
gamma_initializer |
Initializer for the gamma weight. |
moving_mean_initializer |
Initializer for the moving mean. |
moving_variance_initializer |
Initializer for the moving variance. |
beta_regularizer |
Optional regularizer for the beta weight. |
gamma_regularizer |
Optional regularizer for the gamma weight. |
beta_constraint |
Optional constraint for the beta weight. |
gamma_constraint |
Optional constraint for the gamma weight. |
synchronized |
If |
... |
standard layer arguments. |
Batch normalization applies a transformation that maintains the mean output close to 0 and the output standard deviation close to 1.
Importantly, batch normalization works differently during training and during inference.
During training (i.e. when using fit()
or when calling the layer/model
with the argument training=TRUE
), the layer normalizes its output using
the mean and standard deviation of the current batch of inputs. That is to
say, for each channel being normalized, the layer returns
gamma * (batch - mean(batch)) / sqrt(var(batch) + epsilon) + beta
, where:
epsilon
is small constant (configurable as part of the constructor
arguments)
gamma
is a learned scaling factor (initialized as 1), which
can be disabled by passing scale=FALSE
to the constructor.
beta
is a learned offset factor (initialized as 0), which
can be disabled by passing center=FALSE
to the constructor.
During inference (i.e. when using evaluate()
or predict()
or when
calling the layer/model with the argument training=FALSE
(which is the
default), the layer normalizes its output using a moving average of the
mean and standard deviation of the batches it has seen during training. That
is to say, it returns
gamma * (batch - self.moving_mean) / sqrt(self.moving_var+epsilon) + beta
.
self$moving_mean
and self$moving_var
are non-trainable variables that
are updated each time the layer in called in training mode, as such:
moving_mean = moving_mean * momentum + mean(batch) * (1 - momentum)
moving_var = moving_var * momentum + var(batch) * (1 - momentum)
As such, the layer will only normalize its inputs during inference after having been trained on data that has similar statistics as the inference data.
When synchronized=TRUE
is set and if this layer is used within a
tf$distribute
strategy, there will be an allreduce
call
to aggregate batch statistics across all replicas at every
training step. Setting synchronized
has no impact when the model is
trained without specifying any distribution strategy.
Example usage:
strategy <- tf$distribute$MirroredStrategy() with(strategy$scope(), { model <- keras_model_sequential() model %>% layer_dense(16) %>% layer_batch_normalization(synchronized=TRUE) })
This layer provides options for condensing data into a categorical encoding
when the total number of tokens are known in advance. It accepts integer
values as inputs, and it outputs a dense or sparse representation of those
inputs. For integer inputs where the total number of tokens is not known, use
layer_integer_lookup()
instead.
layer_category_encoding( object, num_tokens = NULL, output_mode = "multi_hot", sparse = FALSE, ... )
layer_category_encoding( object, num_tokens = NULL, output_mode = "multi_hot", sparse = FALSE, ... )
object |
What to compose the new
|
num_tokens |
The total number of tokens the layer should support. All
inputs to the layer must integers in the range |
output_mode |
Specification for the output of the layer. Defaults to
For all output modes, currently only output up to rank 2 is supported. |
sparse |
Boolean. If |
... |
standard layer arguments. |
https://www.tensorflow.org/api_docs/python/tf/keras/layers/CategoryEncoding
https://keras.io/api/layers/preprocessing_layers/categorical/category_encoding/
Other categorical features preprocessing layers:
layer_hashing()
,
layer_integer_lookup()
,
layer_string_lookup()
Other preprocessing layers:
layer_center_crop()
,
layer_discretization()
,
layer_hashing()
,
layer_integer_lookup()
,
layer_normalization()
,
layer_random_brightness()
,
layer_random_contrast()
,
layer_random_crop()
,
layer_random_flip()
,
layer_random_height()
,
layer_random_rotation()
,
layer_random_translation()
,
layer_random_width()
,
layer_random_zoom()
,
layer_rescaling()
,
layer_resizing()
,
layer_string_lookup()
,
layer_text_vectorization()
Crop the central portion of the images to target height and width
layer_center_crop(object, height, width, ...)
layer_center_crop(object, height, width, ...)
object |
What to compose the new
|
height |
Integer, the height of the output shape. |
width |
Integer, the width of the output shape. |
... |
standard layer arguments. |
Input shape:
3D (unbatched) or 4D (batched) tensor with shape:
(..., height, width, channels)
, in "channels_last"
format.
Output shape:
3D (unbatched) or 4D (batched) tensor with shape:
(..., target_height, target_width, channels)
.
If the input height/width is even and the target height/width is odd (or inversely), the input image is left-padded by 1 pixel.
https://www.tensorflow.org/api_docs/python/tf/keras/layers/CenterCrop
https://keras.io/api/layers/preprocessing_layers/image_preprocessing/center_crop
Other image preprocessing layers:
layer_rescaling()
,
layer_resizing()
Other preprocessing layers:
layer_category_encoding()
,
layer_discretization()
,
layer_hashing()
,
layer_integer_lookup()
,
layer_normalization()
,
layer_random_brightness()
,
layer_random_contrast()
,
layer_random_crop()
,
layer_random_flip()
,
layer_random_height()
,
layer_random_rotation()
,
layer_random_translation()
,
layer_random_width()
,
layer_random_zoom()
,
layer_rescaling()
,
layer_resizing()
,
layer_string_lookup()
,
layer_text_vectorization()
It takes as input a list of tensors, all of the same shape expect for the concatenation axis, and returns a single tensor, the concatenation of all inputs.
layer_concatenate(inputs, ..., axis = -1)
layer_concatenate(inputs, ..., axis = -1)
inputs |
A input tensor, or list of input tensors. Can be missing. |
... |
Unnamed args are treated as additional |
axis |
Concatenation axis. |
A tensor, the concatenation of the inputs alongside axis axis
. If
inputs
is missing, a keras layer instance is returned.
https://www.tensorflow.org/api_docs/python/tf/keras/layers/concatenate
https://www.tensorflow.org/api_docs/python/tf/keras/layers/Concatenate
Other merge layers:
layer_average()
,
layer_dot()
,
layer_maximum()
,
layer_minimum()
,
layer_multiply()
,
layer_subtract()
This layer creates a convolution kernel that is convolved with the layer
input over a single spatial (or temporal) dimension to produce a tensor of
outputs. If use_bias
is TRUE, a bias vector is created and added to the
outputs. Finally, if activation
is not NULL
, it is applied to the outputs
as well. When using this layer as the first layer in a model, provide an
input_shape
argument (list of integers or NULL
, e.g. (10, 128)
for
sequences of 10 vectors of 128-dimensional vectors, or (NULL, 128)
for
variable-length sequences of 128-dimensional vectors.
layer_conv_1d( object, filters, kernel_size, strides = 1L, padding = "valid", data_format = "channels_last", dilation_rate = 1L, groups = 1L, activation = NULL, use_bias = TRUE, kernel_initializer = "glorot_uniform", bias_initializer = "zeros", kernel_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_conv_1d( object, filters, kernel_size, strides = 1L, padding = "valid", data_format = "channels_last", dilation_rate = 1L, groups = 1L, activation = NULL, use_bias = TRUE, kernel_initializer = "glorot_uniform", bias_initializer = "zeros", kernel_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
filters |
Integer, the dimensionality of the output space (i.e. the number of output filters in the convolution). |
kernel_size |
An integer or list of a single integer, specifying the length of the 1D convolution window. |
strides |
An integer or list of a single integer, specifying the stride
length of the convolution. Specifying any stride value != 1 is incompatible
with specifying any |
padding |
One of |
data_format |
A string, one of |
dilation_rate |
an integer or list of a single integer, specifying the
dilation rate to use for dilated convolution. Currently, specifying any
|
groups |
A positive integer specifying the number of groups in which the
input is split along the channel axis. Each group is convolved separately
with |
activation |
Activation function to use. If you don't specify anything,
no activation is applied (ie. "linear" activation: |
use_bias |
Boolean, whether the layer uses a bias vector. |
kernel_initializer |
Initializer for the |
bias_initializer |
Initializer for the bias vector. |
kernel_regularizer |
Regularizer function applied to the |
bias_regularizer |
Regularizer function applied to the bias vector. |
activity_regularizer |
Regularizer function applied to the output of the layer (its "activation").. |
kernel_constraint |
Constraint function applied to the kernel matrix. |
bias_constraint |
Constraint function applied to the bias vector. |
input_shape |
Dimensionality of the input (integer) not including the samples axis. This argument is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
3D tensor with shape: (batch_size, steps, input_dim)
3D tensor with shape: (batch_size, new_steps, filters)
steps
value might have changed due to padding or strides.
Other convolutional layers:
layer_conv_1d_transpose()
,
layer_conv_2d()
,
layer_conv_2d_transpose()
,
layer_conv_3d()
,
layer_conv_3d_transpose()
,
layer_conv_lstm_2d()
,
layer_cropping_1d()
,
layer_cropping_2d()
,
layer_cropping_3d()
,
layer_depthwise_conv_1d()
,
layer_depthwise_conv_2d()
,
layer_separable_conv_1d()
,
layer_separable_conv_2d()
,
layer_upsampling_1d()
,
layer_upsampling_2d()
,
layer_upsampling_3d()
,
layer_zero_padding_1d()
,
layer_zero_padding_2d()
,
layer_zero_padding_3d()
The need for transposed convolutions generally arises from the desire to use
a transformation going in the opposite direction of a normal convolution,
i.e., from something that has the shape of the output of some convolution to
something that has the shape of its input while maintaining a connectivity
pattern that is compatible with said convolution.
When using this layer as the first layer in a model,
provide the keyword argument input_shape
(tuple of integers, does not include the sample axis),
e.g. input_shape=(128, 3)
for data with 128 time steps and 3 channels.
layer_conv_1d_transpose( object, filters, kernel_size, strides = 1, padding = "valid", output_padding = NULL, data_format = NULL, dilation_rate = 1, activation = NULL, use_bias = TRUE, kernel_initializer = "glorot_uniform", bias_initializer = "zeros", kernel_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_conv_1d_transpose( object, filters, kernel_size, strides = 1, padding = "valid", output_padding = NULL, data_format = NULL, dilation_rate = 1, activation = NULL, use_bias = TRUE, kernel_initializer = "glorot_uniform", bias_initializer = "zeros", kernel_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
filters |
Integer, the dimensionality of the output space (i.e. the number of output filters in the convolution). |
kernel_size |
An integer or list of a single integer, specifying the length of the 1D convolution window. |
strides |
An integer or list of a single integer, specifying the stride
length of the convolution. Specifying any stride value != 1 is incompatible
with specifying any |
padding |
one of |
output_padding |
An integer specifying the amount of padding along
the time dimension of the output tensor.
The amount of output padding must be lower than the stride.
If set to |
data_format |
A string, one of |
dilation_rate |
an integer or list of a single integer, specifying the
dilation rate to use for dilated convolution. Currently, specifying any
|
activation |
Activation function to use. If you don't specify anything,
no activation is applied (ie. "linear" activation: |
use_bias |
Boolean, whether the layer uses a bias vector. |
kernel_initializer |
Initializer for the |
bias_initializer |
Initializer for the bias vector. |
kernel_regularizer |
Regularizer function applied to the |
bias_regularizer |
Regularizer function applied to the bias vector. |
activity_regularizer |
Regularizer function applied to the output of the layer (its "activation").. |
kernel_constraint |
Constraint function applied to the kernel matrix. |
bias_constraint |
Constraint function applied to the bias vector. |
input_shape |
Dimensionality of the input (integer) not including the samples axis. This argument is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
3D tensor with shape: (batch, steps, channels)
3D tensor with shape: (batch, new_steps, filters)
If output_padding
is specified:
new_timesteps = ((timesteps - 1) * strides + kernel_size - 2 * padding + output_padding)
Other convolutional layers:
layer_conv_1d()
,
layer_conv_2d()
,
layer_conv_2d_transpose()
,
layer_conv_3d()
,
layer_conv_3d_transpose()
,
layer_conv_lstm_2d()
,
layer_cropping_1d()
,
layer_cropping_2d()
,
layer_cropping_3d()
,
layer_depthwise_conv_1d()
,
layer_depthwise_conv_2d()
,
layer_separable_conv_1d()
,
layer_separable_conv_2d()
,
layer_upsampling_1d()
,
layer_upsampling_2d()
,
layer_upsampling_3d()
,
layer_zero_padding_1d()
,
layer_zero_padding_2d()
,
layer_zero_padding_3d()
This layer creates a convolution kernel that is convolved with the layer
input to produce a tensor of outputs. If use_bias
is TRUE, a bias vector is
created and added to the outputs. Finally, if activation
is not NULL
, it
is applied to the outputs as well. When using this layer as the first layer
in a model, provide the keyword argument input_shape
(list of integers,
does not include the sample axis), e.g. input_shape=c(128, 128, 3)
for
128x128 RGB pictures in data_format="channels_last"
.
layer_conv_2d( object, filters, kernel_size, strides = c(1L, 1L), padding = "valid", data_format = NULL, dilation_rate = c(1L, 1L), groups = 1L, activation = NULL, use_bias = TRUE, kernel_initializer = "glorot_uniform", bias_initializer = "zeros", kernel_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_conv_2d( object, filters, kernel_size, strides = c(1L, 1L), padding = "valid", data_format = NULL, dilation_rate = c(1L, 1L), groups = 1L, activation = NULL, use_bias = TRUE, kernel_initializer = "glorot_uniform", bias_initializer = "zeros", kernel_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
filters |
Integer, the dimensionality of the output space (i.e. the number of output filters in the convolution). |
kernel_size |
An integer or list of 2 integers, specifying the width and height of the 2D convolution window. Can be a single integer to specify the same value for all spatial dimensions. |
strides |
An integer or list of 2 integers, specifying the strides of
the convolution along the width and height. Can be a single integer to
specify the same value for all spatial dimensions. Specifying any stride
value != 1 is incompatible with specifying any |
padding |
one of |
data_format |
A string, one of |
dilation_rate |
an integer or list of 2 integers, specifying the
dilation rate to use for dilated convolution. Can be a single integer to
specify the same value for all spatial dimensions. Currently, specifying
any |
groups |
A positive integer specifying the number of groups in which the
input is split along the channel axis. Each group is convolved separately
with |
activation |
Activation function to use. If you don't specify anything,
no activation is applied (ie. "linear" activation: |
use_bias |
Boolean, whether the layer uses a bias vector. |
kernel_initializer |
Initializer for the |
bias_initializer |
Initializer for the bias vector. |
kernel_regularizer |
Regularizer function applied to the |
bias_regularizer |
Regularizer function applied to the bias vector. |
activity_regularizer |
Regularizer function applied to the output of the layer (its "activation").. |
kernel_constraint |
Constraint function applied to the kernel matrix. |
bias_constraint |
Constraint function applied to the bias vector. |
input_shape |
Dimensionality of the input (integer) not including the samples axis. This argument is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
4D tensor with shape: (samples, channels, rows, cols)
if data_format='channels_first' or 4D tensor with shape: (samples, rows, cols, channels)
if data_format='channels_last'.
4D tensor with shape: (samples, filters, new_rows, new_cols)
if data_format='channels_first' or 4D tensor with shape:
(samples, new_rows, new_cols, filters)
if data_format='channels_last'.
rows
and cols
values might have changed due to padding.
Other convolutional layers:
layer_conv_1d()
,
layer_conv_1d_transpose()
,
layer_conv_2d_transpose()
,
layer_conv_3d()
,
layer_conv_3d_transpose()
,
layer_conv_lstm_2d()
,
layer_cropping_1d()
,
layer_cropping_2d()
,
layer_cropping_3d()
,
layer_depthwise_conv_1d()
,
layer_depthwise_conv_2d()
,
layer_separable_conv_1d()
,
layer_separable_conv_2d()
,
layer_upsampling_1d()
,
layer_upsampling_2d()
,
layer_upsampling_3d()
,
layer_zero_padding_1d()
,
layer_zero_padding_2d()
,
layer_zero_padding_3d()
The need for transposed convolutions generally arises from the desire to use
a transformation going in the opposite direction of a normal convolution,
i.e., from something that has the shape of the output of some convolution to
something that has the shape of its input while maintaining a connectivity
pattern that is compatible with said convolution. When using this layer as
the first layer in a model, provide the keyword argument input_shape
(list
of integers, does not include the sample axis), e.g. input_shape=c(128L, 128L, 3L)
for 128x128 RGB pictures in data_format="channels_last"
.
layer_conv_2d_transpose( object, filters, kernel_size, strides = c(1, 1), padding = "valid", output_padding = NULL, data_format = NULL, dilation_rate = c(1, 1), activation = NULL, use_bias = TRUE, kernel_initializer = "glorot_uniform", bias_initializer = "zeros", kernel_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_conv_2d_transpose( object, filters, kernel_size, strides = c(1, 1), padding = "valid", output_padding = NULL, data_format = NULL, dilation_rate = c(1, 1), activation = NULL, use_bias = TRUE, kernel_initializer = "glorot_uniform", bias_initializer = "zeros", kernel_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
filters |
Integer, the dimensionality of the output space (i.e. the number of output filters in the convolution). |
kernel_size |
An integer or list of 2 integers, specifying the width and height of the 2D convolution window. Can be a single integer to specify the same value for all spatial dimensions. |
strides |
An integer or list of 2 integers, specifying the strides of
the convolution along the width and height. Can be a single integer to
specify the same value for all spatial dimensions. Specifying any stride
value != 1 is incompatible with specifying any |
padding |
one of |
output_padding |
An integer or list of 2 integers,
specifying the amount of padding along the height and width
of the output tensor. Can be a single integer to specify the same
value for all spatial dimensions. The amount of output padding along a
given dimension must be lower than the stride along that same dimension.
If set to |
data_format |
A string, one of |
dilation_rate |
Dialation rate. |
activation |
Activation function to use. If you don't specify anything,
no activation is applied (ie. "linear" activation: |
use_bias |
Boolean, whether the layer uses a bias vector. |
kernel_initializer |
Initializer for the |
bias_initializer |
Initializer for the bias vector. |
kernel_regularizer |
Regularizer function applied to the |
bias_regularizer |
Regularizer function applied to the bias vector. |
activity_regularizer |
Regularizer function applied to the output of the layer (its "activation").. |
kernel_constraint |
Constraint function applied to the kernel matrix. |
bias_constraint |
Constraint function applied to the bias vector. |
input_shape |
Dimensionality of the input (integer) not including the samples axis. This argument is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
4D tensor with shape: (batch, channels, rows, cols)
if data_format='channels_first' or 4D tensor with shape: (batch, rows, cols, channels)
if data_format='channels_last'.
4D tensor with shape: (batch, filters, new_rows, new_cols)
if data_format='channels_first' or 4D tensor with shape:
(batch, new_rows, new_cols, filters)
if data_format='channels_last'.
rows
and cols
values might have changed due to padding.
Other convolutional layers:
layer_conv_1d()
,
layer_conv_1d_transpose()
,
layer_conv_2d()
,
layer_conv_3d()
,
layer_conv_3d_transpose()
,
layer_conv_lstm_2d()
,
layer_cropping_1d()
,
layer_cropping_2d()
,
layer_cropping_3d()
,
layer_depthwise_conv_1d()
,
layer_depthwise_conv_2d()
,
layer_separable_conv_1d()
,
layer_separable_conv_2d()
,
layer_upsampling_1d()
,
layer_upsampling_2d()
,
layer_upsampling_3d()
,
layer_zero_padding_1d()
,
layer_zero_padding_2d()
,
layer_zero_padding_3d()
This layer creates a convolution kernel that is convolved with the layer
input to produce a tensor of outputs. If use_bias
is TRUE, a bias vector is
created and added to the outputs. Finally, if activation
is not NULL
, it
is applied to the outputs as well. When using this layer as the first layer
in a model, provide the keyword argument input_shape
(list of integers,
does not include the sample axis), e.g. input_shape=c(128L, 128L, 128L, 3L)
for 128x128x128 volumes with a single channel, in
data_format="channels_last"
.
layer_conv_3d( object, filters, kernel_size, strides = c(1L, 1L, 1L), padding = "valid", data_format = NULL, dilation_rate = c(1L, 1L, 1L), groups = 1L, activation = NULL, use_bias = TRUE, kernel_initializer = "glorot_uniform", bias_initializer = "zeros", kernel_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_conv_3d( object, filters, kernel_size, strides = c(1L, 1L, 1L), padding = "valid", data_format = NULL, dilation_rate = c(1L, 1L, 1L), groups = 1L, activation = NULL, use_bias = TRUE, kernel_initializer = "glorot_uniform", bias_initializer = "zeros", kernel_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
filters |
Integer, the dimensionality of the output space (i.e. the number of output filters in the convolution). |
kernel_size |
An integer or list of 3 integers, specifying the depth, height, and width of the 3D convolution window. Can be a single integer to specify the same value for all spatial dimensions. |
strides |
An integer or list of 3 integers, specifying the strides of
the convolution along each spatial dimension. Can be a single integer to
specify the same value for all spatial dimensions. Specifying any stride
value != 1 is incompatible with specifying any |
padding |
one of |
data_format |
A string, one of |
dilation_rate |
an integer or list of 3 integers, specifying the
dilation rate to use for dilated convolution. Can be a single integer to
specify the same value for all spatial dimensions. Currently, specifying
any |
groups |
A positive integer specifying the number of groups in which the
input is split along the channel axis. Each group is convolved separately
with |
activation |
Activation function to use. If you don't specify anything,
no activation is applied (ie. "linear" activation: |
use_bias |
Boolean, whether the layer uses a bias vector. |
kernel_initializer |
Initializer for the |
bias_initializer |
Initializer for the bias vector. |
kernel_regularizer |
Regularizer function applied to the |
bias_regularizer |
Regularizer function applied to the bias vector. |
activity_regularizer |
Regularizer function applied to the output of the layer (its "activation").. |
kernel_constraint |
Constraint function applied to the kernel matrix. |
bias_constraint |
Constraint function applied to the bias vector. |
input_shape |
Dimensionality of the input (integer) not including the samples axis. This argument is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
5D tensor with shape: (samples, channels, conv_dim1, conv_dim2, conv_dim3)
if data_format='channels_first' or 5D tensor with
shape: (samples, conv_dim1, conv_dim2, conv_dim3, channels)
if
data_format='channels_last'.
5D tensor with shape: (samples, filters, new_conv_dim1, new_conv_dim2, new_conv_dim3)
if
data_format='channels_first' or 5D tensor with shape: (samples, new_conv_dim1, new_conv_dim2, new_conv_dim3, filters)
if
data_format='channels_last'. new_conv_dim1
, new_conv_dim2
and
new_conv_dim3
values might have changed due to padding.
Other convolutional layers:
layer_conv_1d()
,
layer_conv_1d_transpose()
,
layer_conv_2d()
,
layer_conv_2d_transpose()
,
layer_conv_3d_transpose()
,
layer_conv_lstm_2d()
,
layer_cropping_1d()
,
layer_cropping_2d()
,
layer_cropping_3d()
,
layer_depthwise_conv_1d()
,
layer_depthwise_conv_2d()
,
layer_separable_conv_1d()
,
layer_separable_conv_2d()
,
layer_upsampling_1d()
,
layer_upsampling_2d()
,
layer_upsampling_3d()
,
layer_zero_padding_1d()
,
layer_zero_padding_2d()
,
layer_zero_padding_3d()
The need for transposed convolutions generally arises from the desire to use a transformation going in the opposite direction of a normal convolution, i.e., from something that has the shape of the output of some convolution to something that has the shape of its input while maintaining a connectivity pattern that is compatible with said convolution.
layer_conv_3d_transpose( object, filters, kernel_size, strides = c(1, 1, 1), padding = "valid", output_padding = NULL, data_format = NULL, dilation_rate = c(1L, 1L, 1L), activation = NULL, use_bias = TRUE, kernel_initializer = "glorot_uniform", bias_initializer = "zeros", kernel_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_conv_3d_transpose( object, filters, kernel_size, strides = c(1, 1, 1), padding = "valid", output_padding = NULL, data_format = NULL, dilation_rate = c(1L, 1L, 1L), activation = NULL, use_bias = TRUE, kernel_initializer = "glorot_uniform", bias_initializer = "zeros", kernel_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
filters |
Integer, the dimensionality of the output space (i.e. the number of output filters in the convolution). |
kernel_size |
An integer or list of 3 integers, specifying the depth, height, and width of the 3D convolution window. Can be a single integer to specify the same value for all spatial dimensions. |
strides |
An integer or list of 3 integers, specifying the strides of
the convolution along the depth, height and width.. Can be a single integer
to specify the same value for all spatial dimensions. Specifying any stride
value != 1 is incompatible with specifying any |
padding |
one of |
output_padding |
An integer or list of 3 integers,
specifying the amount of padding along the depth, height, and width
of the output tensor. Can be a single integer to specify the same
value for all spatial dimensions. The amount of output padding along a
given dimension must be lower than the stride along that same dimension.
If set to |
data_format |
A string, one of |
dilation_rate |
An integer or vector of 3 integers, specifying the dilation rate to use for dilated convolution. Can be a single integer to specify the same value for all spatial dimensions. |
activation |
Activation function to use. If you don't specify anything, no
activation is applied (ie. "linear" activation: |
use_bias |
Boolean, whether the layer uses a bias vector. |
kernel_initializer |
Initializer for the |
bias_initializer |
Initializer for the bias vector. |
kernel_regularizer |
Regularizer function applied to the |
bias_regularizer |
Regularizer function applied to the bias vector. |
activity_regularizer |
Regularizer function applied to the output of the layer (its "activation"). |
kernel_constraint |
Constraint function applied to the kernel matrix. |
bias_constraint |
Constraint function applied to the bias vector. |
input_shape |
Dimensionality of the input (integer) not including the samples axis. This argument is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
When using this layer as the first layer in a model, provide the keyword argument
input_shape
(list of integers, does not include the sample axis), e.g.
input_shape = list(128, 128, 128, 3)
for a 128x128x128 volume with 3 channels if
data_format="channels_last"
.
Other convolutional layers:
layer_conv_1d()
,
layer_conv_1d_transpose()
,
layer_conv_2d()
,
layer_conv_2d_transpose()
,
layer_conv_3d()
,
layer_conv_lstm_2d()
,
layer_cropping_1d()
,
layer_cropping_2d()
,
layer_cropping_3d()
,
layer_depthwise_conv_1d()
,
layer_depthwise_conv_2d()
,
layer_separable_conv_1d()
,
layer_separable_conv_2d()
,
layer_upsampling_1d()
,
layer_upsampling_2d()
,
layer_upsampling_3d()
,
layer_zero_padding_1d()
,
layer_zero_padding_2d()
,
layer_zero_padding_3d()
1D Convolutional LSTM
layer_conv_lstm_1d( object, filters, kernel_size, strides = 1L, padding = "valid", data_format = NULL, dilation_rate = 1L, activation = "tanh", recurrent_activation = "hard_sigmoid", use_bias = TRUE, kernel_initializer = "glorot_uniform", recurrent_initializer = "orthogonal", bias_initializer = "zeros", unit_forget_bias = TRUE, kernel_regularizer = NULL, recurrent_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, recurrent_constraint = NULL, bias_constraint = NULL, return_sequences = FALSE, return_state = FALSE, go_backwards = FALSE, stateful = FALSE, dropout = 0, recurrent_dropout = 0, ... )
layer_conv_lstm_1d( object, filters, kernel_size, strides = 1L, padding = "valid", data_format = NULL, dilation_rate = 1L, activation = "tanh", recurrent_activation = "hard_sigmoid", use_bias = TRUE, kernel_initializer = "glorot_uniform", recurrent_initializer = "orthogonal", bias_initializer = "zeros", unit_forget_bias = TRUE, kernel_regularizer = NULL, recurrent_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, recurrent_constraint = NULL, bias_constraint = NULL, return_sequences = FALSE, return_state = FALSE, go_backwards = FALSE, stateful = FALSE, dropout = 0, recurrent_dropout = 0, ... )
object |
What to compose the new
|
filters |
Integer, the dimensionality of the output space (i.e. the number of output filters in the convolution). |
kernel_size |
An integer or list of n integers, specifying the dimensions of the convolution window. |
strides |
An integer or list of n integers, specifying the strides of
the convolution. Specifying any stride value != 1 is incompatible with
specifying any |
padding |
One of |
data_format |
A string, one of |
dilation_rate |
An integer or list of n integers, specifying the
dilation rate to use for dilated convolution. Currently, specifying any
|
activation |
Activation function to use. By default hyperbolic tangent
activation function is applied ( |
recurrent_activation |
Activation function to use for the recurrent step. |
use_bias |
Boolean, whether the layer uses a bias vector. |
kernel_initializer |
Initializer for the |
recurrent_initializer |
Initializer for the |
bias_initializer |
Initializer for the bias vector. |
unit_forget_bias |
Boolean. If TRUE, add 1 to the bias of the forget gate at
initialization. Use in combination with |
kernel_regularizer |
Regularizer function applied to the |
recurrent_regularizer |
Regularizer function applied to the
|
bias_regularizer |
Regularizer function applied to the bias vector. |
activity_regularizer |
Regularizer function applied to. |
kernel_constraint |
Constraint function applied to the |
recurrent_constraint |
Constraint function applied to the |
bias_constraint |
Constraint function applied to the bias vector. |
return_sequences |
Boolean. Whether to return the last output in the output sequence, or the full sequence. (default FALSE) |
return_state |
Boolean Whether to return the last state in addition to the output. (default FALSE) |
go_backwards |
Boolean (default FALSE). If TRUE, process the input sequence backwards. |
stateful |
Boolean (default FALSE). If TRUE, the last state for each sample at index i in a batch will be used as initial state for the sample of index i in the following batch. |
dropout |
Float between 0 and 1. Fraction of the units to drop for the linear transformation of the inputs. |
recurrent_dropout |
Float between 0 and 1. Fraction of the units to drop for the linear transformation of the recurrent state. |
... |
standard layer arguments. |
Similar to an LSTM layer, but the input transformations and recurrent transformations are both convolutional.
It is similar to an LSTM layer, but the input transformations and recurrent transformations are both convolutional.
layer_conv_lstm_2d( object, filters, kernel_size, strides = c(1L, 1L), padding = "valid", data_format = NULL, dilation_rate = c(1L, 1L), activation = "tanh", recurrent_activation = "hard_sigmoid", use_bias = TRUE, kernel_initializer = "glorot_uniform", recurrent_initializer = "orthogonal", bias_initializer = "zeros", unit_forget_bias = TRUE, kernel_regularizer = NULL, recurrent_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, recurrent_constraint = NULL, bias_constraint = NULL, return_sequences = FALSE, return_state = FALSE, go_backwards = FALSE, stateful = FALSE, dropout = 0, recurrent_dropout = 0, batch_size = NULL, name = NULL, trainable = NULL, weights = NULL, input_shape = NULL )
layer_conv_lstm_2d( object, filters, kernel_size, strides = c(1L, 1L), padding = "valid", data_format = NULL, dilation_rate = c(1L, 1L), activation = "tanh", recurrent_activation = "hard_sigmoid", use_bias = TRUE, kernel_initializer = "glorot_uniform", recurrent_initializer = "orthogonal", bias_initializer = "zeros", unit_forget_bias = TRUE, kernel_regularizer = NULL, recurrent_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, recurrent_constraint = NULL, bias_constraint = NULL, return_sequences = FALSE, return_state = FALSE, go_backwards = FALSE, stateful = FALSE, dropout = 0, recurrent_dropout = 0, batch_size = NULL, name = NULL, trainable = NULL, weights = NULL, input_shape = NULL )
object |
What to compose the new
|
filters |
Integer, the dimensionality of the output space (i.e. the number of output filters in the convolution). |
kernel_size |
An integer or list of n integers, specifying the dimensions of the convolution window. |
strides |
An integer or list of n integers, specifying the strides of
the convolution. Specifying any stride value != 1 is incompatible with
specifying any |
padding |
One of |
data_format |
A string, one of |
dilation_rate |
An integer or list of n integers, specifying the
dilation rate to use for dilated convolution. Currently, specifying any
|
activation |
Activation function to use. If you don't specify anything,
no activation is applied (ie. "linear" activation: |
recurrent_activation |
Activation function to use for the recurrent step. |
use_bias |
Boolean, whether the layer uses a bias vector. |
kernel_initializer |
Initializer for the |
recurrent_initializer |
Initializer for the |
bias_initializer |
Initializer for the bias vector. |
unit_forget_bias |
Boolean. If TRUE, add 1 to the bias of the forget
gate at initialization. Use in combination with |
kernel_regularizer |
Regularizer function applied to the |
recurrent_regularizer |
Regularizer function applied to the
|
bias_regularizer |
Regularizer function applied to the bias vector. |
activity_regularizer |
Regularizer function applied to the output of the layer (its "activation").. |
kernel_constraint |
Constraint function applied to the |
recurrent_constraint |
Constraint function applied to the
|
bias_constraint |
Constraint function applied to the bias vector. |
return_sequences |
Boolean. Whether to return the last output in the output sequence, or the full sequence. |
return_state |
Boolean. Whether to return the last state in addition to the output. |
go_backwards |
Boolean (default FALSE). If TRUE, rocess the input sequence backwards. |
stateful |
Boolean (default FALSE). If TRUE, the last state for each sample at index i in a batch will be used as initial state for the sample of index i in the following batch. |
dropout |
Float between 0 and 1. Fraction of the units to drop for the linear transformation of the inputs. |
recurrent_dropout |
Float between 0 and 1. Fraction of the units to drop for the linear transformation of the recurrent state. |
batch_size |
Fixed batch size for layer |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
input_shape |
Dimensionality of the input (integer) not including the samples axis. This argument is required when using this layer as the first layer in a model. |
if data_format='channels_first' 5D tensor with shape:
(samples,time, channels, rows, cols)
if data_format='channels_last' 5D
tensor with shape: (samples,time, rows, cols, channels)
Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting The current implementation does not include the feedback loop on the cells output
Other convolutional layers:
layer_conv_1d()
,
layer_conv_1d_transpose()
,
layer_conv_2d()
,
layer_conv_2d_transpose()
,
layer_conv_3d()
,
layer_conv_3d_transpose()
,
layer_cropping_1d()
,
layer_cropping_2d()
,
layer_cropping_3d()
,
layer_depthwise_conv_1d()
,
layer_depthwise_conv_2d()
,
layer_separable_conv_1d()
,
layer_separable_conv_2d()
,
layer_upsampling_1d()
,
layer_upsampling_2d()
,
layer_upsampling_3d()
,
layer_zero_padding_1d()
,
layer_zero_padding_2d()
,
layer_zero_padding_3d()
3D Convolutional LSTM
layer_conv_lstm_3d( object, filters, kernel_size, strides = c(1L, 1L, 1L), padding = "valid", data_format = NULL, dilation_rate = c(1L, 1L, 1L), activation = "tanh", recurrent_activation = "hard_sigmoid", use_bias = TRUE, kernel_initializer = "glorot_uniform", recurrent_initializer = "orthogonal", bias_initializer = "zeros", unit_forget_bias = TRUE, kernel_regularizer = NULL, recurrent_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, recurrent_constraint = NULL, bias_constraint = NULL, return_sequences = FALSE, return_state = FALSE, go_backwards = FALSE, stateful = FALSE, dropout = 0, recurrent_dropout = 0, ... )
layer_conv_lstm_3d( object, filters, kernel_size, strides = c(1L, 1L, 1L), padding = "valid", data_format = NULL, dilation_rate = c(1L, 1L, 1L), activation = "tanh", recurrent_activation = "hard_sigmoid", use_bias = TRUE, kernel_initializer = "glorot_uniform", recurrent_initializer = "orthogonal", bias_initializer = "zeros", unit_forget_bias = TRUE, kernel_regularizer = NULL, recurrent_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, recurrent_constraint = NULL, bias_constraint = NULL, return_sequences = FALSE, return_state = FALSE, go_backwards = FALSE, stateful = FALSE, dropout = 0, recurrent_dropout = 0, ... )
object |
What to compose the new
|
filters |
Integer, the dimensionality of the output space (i.e. the number of output filters in the convolution). |
kernel_size |
An integer or list of n integers, specifying the dimensions of the convolution window. |
strides |
An integer or list of n integers, specifying the strides of
the convolution. Specifying any stride value != 1 is incompatible with
specifying any |
padding |
One of |
data_format |
A string, one of |
dilation_rate |
An integer or list of n integers, specifying the
dilation rate to use for dilated convolution. Currently, specifying any
|
activation |
Activation function to use. By default hyperbolic tangent
activation function is applied ( |
recurrent_activation |
Activation function to use for the recurrent step. |
use_bias |
Boolean, whether the layer uses a bias vector. |
kernel_initializer |
Initializer for the |
recurrent_initializer |
Initializer for the |
bias_initializer |
Initializer for the bias vector. |
unit_forget_bias |
Boolean. If TRUE, add 1 to the bias of the forget gate at
initialization. Use in combination with |
kernel_regularizer |
Regularizer function applied to the |
recurrent_regularizer |
Regularizer function applied to the
|
bias_regularizer |
Regularizer function applied to the bias vector. |
activity_regularizer |
Regularizer function applied to. |
kernel_constraint |
Constraint function applied to the |
recurrent_constraint |
Constraint function applied to the |
bias_constraint |
Constraint function applied to the bias vector. |
return_sequences |
Boolean. Whether to return the last output in the output sequence, or the full sequence. (default FALSE) |
return_state |
Boolean Whether to return the last state in addition to the output. (default FALSE) |
go_backwards |
Boolean (default FALSE). If TRUE, process the input sequence backwards. |
stateful |
Boolean (default FALSE). If TRUE, the last state for each sample at index i in a batch will be used as initial state for the sample of index i in the following batch. |
dropout |
Float between 0 and 1. Fraction of the units to drop for the linear transformation of the inputs. |
recurrent_dropout |
Float between 0 and 1. Fraction of the units to drop for the linear transformation of the recurrent state. |
... |
standard layer arguments. |
Similar to an LSTM layer, but the input transformations and recurrent transformations are both convolutional.
It crops along the time dimension (axis 1).
layer_cropping_1d( object, cropping = c(1L, 1L), batch_size = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_cropping_1d( object, cropping = c(1L, 1L), batch_size = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
cropping |
int or list of int (length 2) How many units should be trimmed off at the beginning and end of the cropping dimension (axis 1). If a single int is provided, the same value will be used for both. |
batch_size |
Fixed batch size for layer |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
3D tensor with shape (batch, axis_to_crop, features)
3D tensor with shape (batch, cropped_axis, features)
Other convolutional layers:
layer_conv_1d()
,
layer_conv_1d_transpose()
,
layer_conv_2d()
,
layer_conv_2d_transpose()
,
layer_conv_3d()
,
layer_conv_3d_transpose()
,
layer_conv_lstm_2d()
,
layer_cropping_2d()
,
layer_cropping_3d()
,
layer_depthwise_conv_1d()
,
layer_depthwise_conv_2d()
,
layer_separable_conv_1d()
,
layer_separable_conv_2d()
,
layer_upsampling_1d()
,
layer_upsampling_2d()
,
layer_upsampling_3d()
,
layer_zero_padding_1d()
,
layer_zero_padding_2d()
,
layer_zero_padding_3d()
It crops along spatial dimensions, i.e. width and height.
layer_cropping_2d( object, cropping = list(c(0L, 0L), c(0L, 0L)), data_format = NULL, batch_size = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_cropping_2d( object, cropping = list(c(0L, 0L), c(0L, 0L)), data_format = NULL, batch_size = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
cropping |
int, or list of 2 ints, or list of 2 lists of 2 ints.
|
data_format |
A string, one of |
batch_size |
Fixed batch size for layer |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
4D tensor with shape:
If data_format
is "channels_last"
: (batch, rows, cols, channels)
If data_format
is "channels_first"
: (batch, channels, rows, cols)
4D tensor with shape:
If data_format
is "channels_last"
: (batch, cropped_rows, cropped_cols, channels)
If data_format
is "channels_first"
: (batch, channels, cropped_rows, cropped_cols)
Other convolutional layers:
layer_conv_1d()
,
layer_conv_1d_transpose()
,
layer_conv_2d()
,
layer_conv_2d_transpose()
,
layer_conv_3d()
,
layer_conv_3d_transpose()
,
layer_conv_lstm_2d()
,
layer_cropping_1d()
,
layer_cropping_3d()
,
layer_depthwise_conv_1d()
,
layer_depthwise_conv_2d()
,
layer_separable_conv_1d()
,
layer_separable_conv_2d()
,
layer_upsampling_1d()
,
layer_upsampling_2d()
,
layer_upsampling_3d()
,
layer_zero_padding_1d()
,
layer_zero_padding_2d()
,
layer_zero_padding_3d()
Cropping layer for 3D data (e.g. spatial or spatio-temporal).
layer_cropping_3d( object, cropping = list(c(1L, 1L), c(1L, 1L), c(1L, 1L)), data_format = NULL, batch_size = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_cropping_3d( object, cropping = list(c(1L, 1L), c(1L, 1L), c(1L, 1L)), data_format = NULL, batch_size = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
cropping |
int, or list of 3 ints, or list of 3 lists of 2 ints.
|
data_format |
A string, one of |
batch_size |
Fixed batch size for layer |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
5D tensor with shape:
If data_format
is "channels_last"
: (batch, first_axis_to_crop, second_axis_to_crop, third_axis_to_crop, depth)
If data_format
is "channels_first"
:
(batch, depth, first_axis_to_crop, second_axis_to_crop, third_axis_to_crop)
5D tensor with shape:
If data_format
is "channels_last"
: (batch, first_cropped_axis, second_cropped_axis, third_cropped_axis, depth)
If data_format
is "channels_first"
: (batch, depth, first_cropped_axis, second_cropped_axis, third_cropped_axis)
Other convolutional layers:
layer_conv_1d()
,
layer_conv_1d_transpose()
,
layer_conv_2d()
,
layer_conv_2d_transpose()
,
layer_conv_3d()
,
layer_conv_3d_transpose()
,
layer_conv_lstm_2d()
,
layer_cropping_1d()
,
layer_cropping_2d()
,
layer_depthwise_conv_1d()
,
layer_depthwise_conv_2d()
,
layer_separable_conv_1d()
,
layer_separable_conv_2d()
,
layer_upsampling_1d()
,
layer_upsampling_2d()
,
layer_upsampling_3d()
,
layer_zero_padding_1d()
,
layer_zero_padding_2d()
,
layer_zero_padding_3d()
Implements the operation: output = activation(dot(input, kernel) + bias)
where activation
is the element-wise activation function passed as the
activation
argument, kernel
is a weights matrix created by the layer, and
bias
is a bias vector created by the layer (only applicable if use_bias
is TRUE
). Note: if the input to the layer has a rank greater than 2, then
it is flattened prior to the initial dot product with kernel
.
layer_dense( object, units, activation = NULL, use_bias = TRUE, kernel_initializer = "glorot_uniform", bias_initializer = "zeros", kernel_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_dense( object, units, activation = NULL, use_bias = TRUE, kernel_initializer = "glorot_uniform", bias_initializer = "zeros", kernel_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
units |
Positive integer, dimensionality of the output space. |
activation |
Name of activation function to use. If you don't specify anything, no activation is applied (ie. "linear" activation: a(x) = x). |
use_bias |
Whether the layer uses a bias vector. |
kernel_initializer |
Initializer for the |
bias_initializer |
Initializer for the bias vector. |
kernel_regularizer |
Regularizer function applied to the |
bias_regularizer |
Regularizer function applied to the bias vector. |
activity_regularizer |
Regularizer function applied to the output of the layer (its "activation").. |
kernel_constraint |
Constraint function applied to the |
bias_constraint |
Constraint function applied to the bias vector. |
input_shape |
Dimensionality of the input (integer) not including the samples axis. This argument is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
Input shape: nD tensor with shape: (batch_size, ..., input_dim)
. The most
common situation would be a 2D input with shape (batch_size, input_dim)
.
Output shape: nD tensor with shape: (batch_size, ..., units)
. For
instance, for a 2D input with shape (batch_size, input_dim)
, the output
would have shape (batch_size, unit)
.
Other core layers:
layer_activation()
,
layer_activity_regularization()
,
layer_attention()
,
layer_dense_features()
,
layer_dropout()
,
layer_flatten()
,
layer_input()
,
layer_lambda()
,
layer_masking()
,
layer_permute()
,
layer_repeat_vector()
,
layer_reshape()
A layer that produces a dense Tensor based on given feature_columns.
layer_dense_features( object, feature_columns, name = NULL, trainable = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, weights = NULL )
layer_dense_features( object, feature_columns, name = NULL, trainable = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, weights = NULL )
object |
What to compose the new
|
feature_columns |
An iterable containing the FeatureColumns to use as
inputs to your model. All items should be instances of classes derived from
|
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
input_shape |
Dimensionality of the input (integer) not including the samples axis. This argument is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
weights |
Initial weights for layer. |
Other core layers:
layer_activation()
,
layer_activity_regularization()
,
layer_attention()
,
layer_dense()
,
layer_dropout()
,
layer_flatten()
,
layer_input()
,
layer_lambda()
,
layer_masking()
,
layer_permute()
,
layer_repeat_vector()
,
layer_reshape()
Depthwise 1D convolution
layer_depthwise_conv_1d( object, kernel_size, strides = 1L, padding = "valid", depth_multiplier = 1L, data_format = NULL, dilation_rate = 1L, activation = NULL, use_bias = TRUE, depthwise_initializer = "glorot_uniform", bias_initializer = "zeros", depthwise_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, depthwise_constraint = NULL, bias_constraint = NULL, ... )
layer_depthwise_conv_1d( object, kernel_size, strides = 1L, padding = "valid", depth_multiplier = 1L, data_format = NULL, dilation_rate = 1L, activation = NULL, use_bias = TRUE, depthwise_initializer = "glorot_uniform", bias_initializer = "zeros", depthwise_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, depthwise_constraint = NULL, bias_constraint = NULL, ... )
object |
What to compose the new
|
kernel_size |
An integer, specifying the height and width of the 1D convolution window. Can be a single integer to specify the same value for all spatial dimensions. |
strides |
An integer, specifying the strides of the convolution along the
height and width. Can be a single integer to specify the same value for
all spatial dimensions. Specifying any stride value != 1 is incompatible
with specifying any |
padding |
one of |
depth_multiplier |
The number of depthwise convolution output channels for
each input channel. The total number of depthwise convolution output
channels will be equal to |
data_format |
A string, one of |
dilation_rate |
A single integer, specifying the dilation rate to use for
dilated convolution. Currently, specifying any |
activation |
Activation function to use. If you don't specify anything, no
activation is applied (see |
use_bias |
Boolean, whether the layer uses a bias vector. |
depthwise_initializer |
Initializer for the depthwise kernel matrix (see
|
bias_initializer |
Initializer for the bias vector (see
|
depthwise_regularizer |
Regularizer function applied to the depthwise kernel
matrix (see |
bias_regularizer |
Regularizer function applied to the bias vector (see
|
activity_regularizer |
Regularizer function applied to the output of the
layer (its 'activation') (see |
depthwise_constraint |
Constraint function applied to the depthwise kernel
matrix (see |
bias_constraint |
Constraint function applied to the bias vector (see
|
... |
standard layer arguments. |
Depthwise convolution is a type of convolution in which each input channel is convolved with a different kernel (called a depthwise kernel). You can understand depthwise convolution as the first step in a depthwise separable convolution.
It is implemented via the following steps:
Split the input into individual channels.
Convolve each channel with an individual depthwise kernel with
depth_multiplier
output channels.
Concatenate the convolved outputs along the channels axis.
Unlike a regular 1D convolution, depthwise convolution does not mix information across different input channels.
The depth_multiplier
argument determines how many filter are applied to one
input channel. As such, it controls the amount of output channels that are
generated per input channel in the depthwise step.
Other convolutional layers:
layer_conv_1d()
,
layer_conv_1d_transpose()
,
layer_conv_2d()
,
layer_conv_2d_transpose()
,
layer_conv_3d()
,
layer_conv_3d_transpose()
,
layer_conv_lstm_2d()
,
layer_cropping_1d()
,
layer_cropping_2d()
,
layer_cropping_3d()
,
layer_depthwise_conv_2d()
,
layer_separable_conv_1d()
,
layer_separable_conv_2d()
,
layer_upsampling_1d()
,
layer_upsampling_2d()
,
layer_upsampling_3d()
,
layer_zero_padding_1d()
,
layer_zero_padding_2d()
,
layer_zero_padding_3d()
Depthwise Separable convolutions consists in performing just the first step
in a depthwise spatial convolution (which acts on each input channel
separately). The depth_multiplier
argument controls how many output
channels are generated per input channel in the depthwise step.
layer_depthwise_conv_2d( object, kernel_size, strides = c(1, 1), padding = "valid", depth_multiplier = 1, data_format = NULL, dilation_rate = c(1, 1), activation = NULL, use_bias = TRUE, depthwise_initializer = "glorot_uniform", bias_initializer = "zeros", depthwise_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, depthwise_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_depthwise_conv_2d( object, kernel_size, strides = c(1, 1), padding = "valid", depth_multiplier = 1, data_format = NULL, dilation_rate = c(1, 1), activation = NULL, use_bias = TRUE, depthwise_initializer = "glorot_uniform", bias_initializer = "zeros", depthwise_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, depthwise_constraint = NULL, bias_constraint = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
kernel_size |
An integer or list of 2 integers, specifying the width and height of the 2D convolution window. Can be a single integer to specify the same value for all spatial dimensions. |
strides |
An integer or list of 2 integers, specifying the strides of
the convolution along the width and height. Can be a single integer to
specify the same value for all spatial dimensions. Specifying any stride
value != 1 is incompatible with specifying any |
padding |
one of |
depth_multiplier |
The number of depthwise convolution output channels
for each input channel. The total number of depthwise convolution output
channels will be equal to |
data_format |
A string, one of |
dilation_rate |
an integer or list of 2 integers, specifying the
dilation rate to use for dilated convolution. Can be a single integer to
specify the same value for all spatial dimensions. Currently, specifying
any |
activation |
Activation function to use. If you don't specify anything,
no activation is applied (ie. "linear" activation: |
use_bias |
Boolean, whether the layer uses a bias vector. |
depthwise_initializer |
Initializer for the depthwise kernel matrix. |
bias_initializer |
Initializer for the bias vector. |
depthwise_regularizer |
Regularizer function applied to the depthwise kernel matrix. |
bias_regularizer |
Regularizer function applied to the bias vector. |
activity_regularizer |
Regularizer function applied to the output of the layer (its "activation").. |
depthwise_constraint |
Constraint function applied to the depthwise kernel matrix. |
bias_constraint |
Constraint function applied to the bias vector. |
input_shape |
Dimensionality of the input (integer) not including the samples axis. This argument is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
Other convolutional layers:
layer_conv_1d()
,
layer_conv_1d_transpose()
,
layer_conv_2d()
,
layer_conv_2d_transpose()
,
layer_conv_3d()
,
layer_conv_3d_transpose()
,
layer_conv_lstm_2d()
,
layer_cropping_1d()
,
layer_cropping_2d()
,
layer_cropping_3d()
,
layer_depthwise_conv_1d()
,
layer_separable_conv_1d()
,
layer_separable_conv_2d()
,
layer_upsampling_1d()
,
layer_upsampling_2d()
,
layer_upsampling_3d()
,
layer_zero_padding_1d()
,
layer_zero_padding_2d()
,
layer_zero_padding_3d()
A preprocessing layer which buckets continuous features by ranges.
layer_discretization( object, bin_boundaries = NULL, num_bins = NULL, epsilon = 0.01, output_mode = "int", sparse = FALSE, ... )
layer_discretization( object, bin_boundaries = NULL, num_bins = NULL, epsilon = 0.01, output_mode = "int", sparse = FALSE, ... )
object |
What to compose the new
|
bin_boundaries |
A list of bin boundaries. The leftmost and rightmost bins
will always extend to |
num_bins |
The integer number of bins to compute. If this option is set,
|
epsilon |
Error tolerance, typically a small fraction close to zero (e.g. 0.01). Higher values of epsilon increase the quantile approximation, and hence result in more unequal buckets, but could improve performance and resource consumption. |
output_mode |
Specification for the output of the layer. Defaults to
|
sparse |
Boolean. Only applicable to |
... |
standard layer arguments. |
This layer will place each element of its input data into one of several contiguous ranges and output an integer index indicating which range each element was placed in.
Input shape:
Any tf.Tensor
or tf.RaggedTensor
of dimension 2 or higher.
Output shape: Same as input shape.
https://www.tensorflow.org/api_docs/python/tf/keras/layers/Discretization
https://keras.io/api/layers/preprocessing_layers/numerical/discretization
Other numerical features preprocessing layers:
layer_normalization()
Other preprocessing layers:
layer_category_encoding()
,
layer_center_crop()
,
layer_hashing()
,
layer_integer_lookup()
,
layer_normalization()
,
layer_random_brightness()
,
layer_random_contrast()
,
layer_random_crop()
,
layer_random_flip()
,
layer_random_height()
,
layer_random_rotation()
,
layer_random_translation()
,
layer_random_width()
,
layer_random_zoom()
,
layer_rescaling()
,
layer_resizing()
,
layer_string_lookup()
,
layer_text_vectorization()
Layer that computes a dot product between samples in two tensors.
layer_dot(inputs, ..., axes, normalize = FALSE)
layer_dot(inputs, ..., axes, normalize = FALSE)
inputs |
A input tensor, or list of input tensors. Can be missing. |
... |
Unnamed args are treated as additional |
axes |
Integer or list of integers, axis or axes along which to take the dot product. |
normalize |
Whether to L2-normalize samples along the dot product axis before taking the dot product. If set to TRUE, then the output of the dot product is the cosine proximity between the two samples. |
If inputs
is supplied: A tensor, the dot product of the samples
from the inputs. If inputs
is missing, a keras layer instance is
returned.
Other merge layers:
layer_average()
,
layer_concatenate()
,
layer_maximum()
,
layer_minimum()
,
layer_multiply()
,
layer_subtract()
Dropout consists in randomly setting a fraction rate
of input units to 0 at
each update during training time, which helps prevent overfitting.
layer_dropout( object, rate, noise_shape = NULL, seed = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_dropout( object, rate, noise_shape = NULL, seed = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
rate |
float between 0 and 1. Fraction of the input units to drop. |
noise_shape |
1D integer tensor representing the shape of the binary
dropout mask that will be multiplied with the input. For instance, if your
inputs have shape |
seed |
integer to use as random seed. |
input_shape |
Dimensionality of the input (integer) not including the samples axis. This argument is required when using this layer as the first layer in a model. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
Other core layers:
layer_activation()
,
layer_activity_regularization()
,
layer_attention()
,
layer_dense()
,
layer_dense_features()
,
layer_flatten()
,
layer_input()
,
layer_lambda()
,
layer_masking()
,
layer_permute()
,
layer_repeat_vector()
,
layer_reshape()
Other dropout layers:
layer_spatial_dropout_1d()
,
layer_spatial_dropout_2d()
,
layer_spatial_dropout_3d()
Turns positive integers (indexes) into dense vectors of fixed size
layer_embedding( object, input_dim, output_dim, embeddings_initializer = "uniform", embeddings_regularizer = NULL, activity_regularizer = NULL, embeddings_constraint = NULL, mask_zero = FALSE, input_length = NULL, sparse = FALSE, ... )
layer_embedding( object, input_dim, output_dim, embeddings_initializer = "uniform", embeddings_regularizer = NULL, activity_regularizer = NULL, embeddings_constraint = NULL, mask_zero = FALSE, input_length = NULL, sparse = FALSE, ... )
object |
Layer or Model object |
input_dim |
Integer. Size of the vocabulary, i.e. maximum integer index + 1. |
output_dim |
Integer. Dimension of the dense embedding. |
embeddings_initializer |
Initializer for the |
embeddings_regularizer , activity_regularizer
|
Regularizer function applied to
the |
embeddings_constraint |
Constraint function applied to
the |
mask_zero |
Boolean, whether or not the input value 0 is a special
"padding" value that should be masked out. This is useful when using
recurrent layers which may take variable length input. If this is
|
input_length |
Length of input sequences, when it is constant.
This argument is required if you are going to connect
|
sparse |
If TRUE, calling this layer returns a |
... |
standard layer arguments. |
For example, list(4L, 20L) -> list(c(0.25, 0.1), c(0.6, -0.2))
.
This layer can only be used on positive integer inputs of a fixed range. The
layer_text_vectorization()
, layer_string_lookup()
,
and layer_integer_lookup()
preprocessing layers can help prepare
inputs for an Embedding
layer.
This layer accepts tf.Tensor
, tf.RaggedTensor
and tf.SparseTensor
input.
2D tensor with shape: (batch_size, sequence_length)
.
3D tensor with shape: (batch_size, sequence_length, output_dim)
.
Flatten a given input, does not affect the batch size.
layer_flatten( object, data_format = NULL, input_shape = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_flatten( object, data_format = NULL, input_shape = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
data_format |
A string. one of |
input_shape |
Input shape (list of integers, does not include the samples axis) which is required when using this layer as the first layer in a model. |
dtype |
The data type expected by the input, as a string ( |
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
Other core layers:
layer_activation()
,
layer_activity_regularization()
,
layer_attention()
,
layer_dense()
,
layer_dense_features()
,
layer_dropout()
,
layer_input()
,
layer_lambda()
,
layer_masking()
,
layer_permute()
,
layer_repeat_vector()
,
layer_reshape()
As it is a regularization layer, it is only active at training time.
layer_gaussian_dropout(object, rate, seed = NULL, ...)
layer_gaussian_dropout(object, rate, seed = NULL, ...)
object |
What to compose the new
|
rate |
float, drop probability (as with |
seed |
Integer, optional random seed to enable deterministic behavior. |
... |
standard layer arguments. |
Arbitrary. Use the keyword argument input_shape
(list
of integers, does not include the samples axis) when using this layer as
the first layer in a model.
Same shape as input.
Other noise layers:
layer_alpha_dropout()
,
layer_gaussian_noise()
This is useful to mitigate overfitting (you could see it as a form of random data augmentation). Gaussian Noise (GS) is a natural choice as corruption process for real valued inputs. As it is a regularization layer, it is only active at training time.
layer_gaussian_noise(object, stddev, seed = NULL, ...)
layer_gaussian_noise(object, stddev, seed = NULL, ...)
object |
What to compose the new
|
stddev |
float, standard deviation of the noise distribution. |
seed |
Integer, optional random seed to enable deterministic behavior. |
... |
standard layer arguments. |
Arbitrary. Use the keyword argument input_shape
(list
of integers, does not include the samples axis) when using this layer as
the first layer in a model.
Same shape as input.
Other noise layers:
layer_alpha_dropout()
,
layer_gaussian_dropout()
Global average pooling operation for temporal data.
layer_global_average_pooling_1d( object, data_format = "channels_last", keepdims = FALSE, ... )
layer_global_average_pooling_1d( object, data_format = "channels_last", keepdims = FALSE, ... )
object |
What to compose the new
|
data_format |
One of |
keepdims |
A boolean, whether to keep the spatial dimensions or not. If
|
... |
standard layer arguments. |
3D tensor with shape: (batch_size, steps, features)
.
2D tensor with shape: (batch_size, channels)
Other pooling layers:
layer_average_pooling_1d()
,
layer_average_pooling_2d()
,
layer_average_pooling_3d()
,
layer_global_average_pooling_2d()
,
layer_global_average_pooling_3d()
,
layer_global_max_pooling_1d()
,
layer_global_max_pooling_2d()
,
layer_global_max_pooling_3d()
,
layer_max_pooling_1d()
,
layer_max_pooling_2d()
,
layer_max_pooling_3d()
Global average pooling operation for spatial data.
layer_global_average_pooling_2d( object, data_format = NULL, keepdims = FALSE, ... )
layer_global_average_pooling_2d( object, data_format = NULL, keepdims = FALSE, ... )
object |
What to compose the new
|
data_format |
A string, one of |
keepdims |
A boolean, whether to keep the spatial dimensions or not. If
|
... |
standard layer arguments. |
If data_format='channels_last'
: 4D tensor with shape: (batch_size, rows, cols, channels)
If data_format='channels_first'
: 4D tensor with shape: (batch_size, channels, rows, cols)
2D tensor with shape: (batch_size, channels)
Other pooling layers:
layer_average_pooling_1d()
,
layer_average_pooling_2d()
,
layer_average_pooling_3d()
,
layer_global_average_pooling_1d()
,
layer_global_average_pooling_3d()
,
layer_global_max_pooling_1d()
,
layer_global_max_pooling_2d()
,
layer_global_max_pooling_3d()
,
layer_max_pooling_1d()
,
layer_max_pooling_2d()
,
layer_max_pooling_3d()
Global Average pooling operation for 3D data.
layer_global_average_pooling_3d( object, data_format = NULL, keepdims = FALSE, ... )
layer_global_average_pooling_3d( object, data_format = NULL, keepdims = FALSE, ... )
object |
What to compose the new
|
data_format |
A string, one of |
keepdims |
A boolean, whether to keep the spatial dimensions or not. If
|
... |
standard layer arguments. |
If data_format='channels_last'
: 5D tensor with shape: (batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels)
If data_format='channels_first'
: 5D tensor with shape: (batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3)
2D tensor with shape: (batch_size, channels)
Other pooling layers:
layer_average_pooling_1d()
,
layer_average_pooling_2d()
,
layer_average_pooling_3d()
,
layer_global_average_pooling_1d()
,
layer_global_average_pooling_2d()
,
layer_global_max_pooling_1d()
,
layer_global_max_pooling_2d()
,
layer_global_max_pooling_3d()
,
layer_max_pooling_1d()
,
layer_max_pooling_2d()
,
layer_max_pooling_3d()
Global max pooling operation for temporal data.
layer_global_max_pooling_1d( object, data_format = "channels_last", keepdims = FALSE, ... )
layer_global_max_pooling_1d( object, data_format = "channels_last", keepdims = FALSE, ... )
object |
What to compose the new
|
data_format |
One of |
keepdims |
A boolean, whether to keep the spatial dimensions or not. If
|
... |
standard layer arguments. |
3D tensor with shape: (batch_size, steps, features)
.
2D tensor with shape: (batch_size, channels)
Other pooling layers:
layer_average_pooling_1d()
,
layer_average_pooling_2d()
,
layer_average_pooling_3d()
,
layer_global_average_pooling_1d()
,
layer_global_average_pooling_2d()
,
layer_global_average_pooling_3d()
,
layer_global_max_pooling_2d()
,
layer_global_max_pooling_3d()
,
layer_max_pooling_1d()
,
layer_max_pooling_2d()
,
layer_max_pooling_3d()
Global max pooling operation for spatial data.
layer_global_max_pooling_2d(object, data_format = NULL, keepdims = FALSE, ...)
layer_global_max_pooling_2d(object, data_format = NULL, keepdims = FALSE, ...)
object |
What to compose the new
|
data_format |
A string, one of |
keepdims |
A boolean, whether to keep the spatial dimensions or not. If
|
... |
standard layer arguments. |
If data_format='channels_last'
: 4D tensor with shape: (batch_size, rows, cols, channels)
If data_format='channels_first'
: 4D tensor with shape: (batch_size, channels, rows, cols)
2D tensor with shape: (batch_size, channels)
Other pooling layers:
layer_average_pooling_1d()
,
layer_average_pooling_2d()
,
layer_average_pooling_3d()
,
layer_global_average_pooling_1d()
,
layer_global_average_pooling_2d()
,
layer_global_average_pooling_3d()
,
layer_global_max_pooling_1d()
,
layer_global_max_pooling_3d()
,
layer_max_pooling_1d()
,
layer_max_pooling_2d()
,
layer_max_pooling_3d()
Global Max pooling operation for 3D data.
layer_global_max_pooling_3d(object, data_format = NULL, keepdims = FALSE, ...)
layer_global_max_pooling_3d(object, data_format = NULL, keepdims = FALSE, ...)
object |
What to compose the new
|
data_format |
A string, one of |
keepdims |
A boolean, whether to keep the spatial dimensions or not. If
|
... |
standard layer arguments. |
If data_format='channels_last'
: 5D tensor with shape: (batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels)
If data_format='channels_first'
: 5D tensor with shape: (batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3)
2D tensor with shape: (batch_size, channels)
Other pooling layers:
layer_average_pooling_1d()
,
layer_average_pooling_2d()
,
layer_average_pooling_3d()
,
layer_global_average_pooling_1d()
,
layer_global_average_pooling_2d()
,
layer_global_average_pooling_3d()
,
layer_global_max_pooling_1d()
,
layer_global_max_pooling_2d()
,
layer_max_pooling_1d()
,
layer_max_pooling_2d()
,
layer_max_pooling_3d()
There are two variants. The default one is based on 1406.1078v3 and has reset gate applied to hidden state before matrix multiplication. The other one is based on original 1406.1078v1 and has the order reversed.
layer_gru( object, units, activation = "tanh", recurrent_activation = "sigmoid", use_bias = TRUE, return_sequences = FALSE, return_state = FALSE, go_backwards = FALSE, stateful = FALSE, unroll = FALSE, time_major = FALSE, reset_after = TRUE, kernel_initializer = "glorot_uniform", recurrent_initializer = "orthogonal", bias_initializer = "zeros", kernel_regularizer = NULL, recurrent_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, recurrent_constraint = NULL, bias_constraint = NULL, dropout = 0, recurrent_dropout = 0, ... )
layer_gru( object, units, activation = "tanh", recurrent_activation = "sigmoid", use_bias = TRUE, return_sequences = FALSE, return_state = FALSE, go_backwards = FALSE, stateful = FALSE, unroll = FALSE, time_major = FALSE, reset_after = TRUE, kernel_initializer = "glorot_uniform", recurrent_initializer = "orthogonal", bias_initializer = "zeros", kernel_regularizer = NULL, recurrent_regularizer = NULL, bias_regularizer = NULL, activity_regularizer = NULL, kernel_constraint = NULL, recurrent_constraint = NULL, bias_constraint = NULL, dropout = 0, recurrent_dropout = 0, ... )
object |
What to compose the new
|
units |
Positive integer, dimensionality of the output space. |
activation |
Activation function to use. Default: hyperbolic tangent
( |
recurrent_activation |
Activation function to use for the recurrent step. |
use_bias |
Boolean, whether the layer uses a bias vector. |
return_sequences |
Boolean. Whether to return the last output in the output sequence, or the full sequence. |
return_state |
Boolean (default FALSE). Whether to return the last state in addition to the output. |
go_backwards |
Boolean (default FALSE). If TRUE, process the input sequence backwards and return the reversed sequence. |
stateful |
Boolean (default FALSE). If TRUE, the last state for each sample at index i in a batch will be used as initial state for the sample of index i in the following batch. |
unroll |
Boolean (default FALSE). If TRUE, the network will be unrolled, else a symbolic loop will be used. Unrolling can speed-up a RNN, although it tends to be more memory-intensive. Unrolling is only suitable for short sequences. |
time_major |
If True, the inputs and outputs will be in shape
|
reset_after |
GRU convention (whether to apply reset gate after or before matrix multiplication). FALSE = "before" (default), TRUE = "after" (CuDNN compatible). |
kernel_initializer |
Initializer for the |
recurrent_initializer |
Initializer for the |
bias_initializer |
Initializer for the bias vector. |
kernel_regularizer |
Regularizer function applied to the |
recurrent_regularizer |
Regularizer function applied to the
|
bias_regularizer |
Regularizer function applied to the bias vector. |
activity_regularizer |
Regularizer function applied to the output of the layer (its "activation").. |
kernel_constraint |
Constraint function applied to the |
recurrent_constraint |
Constraint function applied to the
|
bias_constraint |
Constraint function applied to the bias vector. |
dropout |
Float between 0 and 1. Fraction of the units to drop for the linear transformation of the inputs. |
recurrent_dropout |
Float between 0 and 1. Fraction of the units to drop for the linear transformation of the recurrent state. |
... |
Standard Layer args. |
The second variant is compatible with CuDNNGRU (GPU-only) and allows
inference on CPU. Thus it has separate biases for kernel
and
recurrent_kernel
. Use reset_after = TRUE
and
recurrent_activation = "sigmoid"
.
N-D tensor with shape (batch_size, timesteps, ...)
,
or (timesteps, batch_size, ...)
when time_major = TRUE
.
if return_state
: a list of tensors. The first tensor is
the output. The remaining tensors are the last states,
each with shape (batch_size, state_size)
, where state_size
could be a high dimension tensor shape.
if return_sequences
: N-D tensor with shape [batch_size, timesteps, output_size]
, where output_size
could be a high dimension tensor shape, or
[timesteps, batch_size, output_size]
when time_major
is TRUE
else, N-D tensor with shape [batch_size, output_size]
, where
output_size
could be a high dimension tensor shape.
This layer supports masking for input data with a variable number of
timesteps. To introduce masks to your data, use
layer_embedding()
with the mask_zero
parameter set to TRUE
.
You can set RNN layers to be 'stateful', which means that the states computed for the samples in one batch will be reused as initial states for the samples in the next batch. This assumes a one-to-one mapping between samples in different successive batches.
For intuition behind statefulness, there is a helpful blog post here: https://philipperemy.github.io/keras-stateful-lstm/
To enable statefulness:
Specify stateful = TRUE
in the layer constructor.
Specify a fixed batch size for your model. For sequential models,
pass batch_input_shape = list(...)
to the first layer in your model.
For functional models with 1 or more Input layers, pass
batch_shape = list(...)
to all the first layers in your model.
This is the expected shape of your inputs including the batch size.
It should be a list of integers, e.g. list(32, 10, 100)
.
For dimensions which can vary (are not known ahead of time),
use NULL
in place of an integer, e.g. list(32, NULL, NULL)
.
Specify shuffle = FALSE
when calling fit()
.
To reset the states of your model, call layer$reset_states()
on either
a specific layer, or on your entire model.
You can specify the initial state of RNN layers symbolically by calling them
with the keyword argument initial_state.
The value of initial_state should
be a tensor or list of tensors representing the initial state of the RNN
layer.
You can specify the initial state of RNN layers numerically by calling
reset_states
with the named argument states.
The value of states
should
be an array or list of arrays representing the initial state of the RNN
layer.
You can pass "external" constants to the cell using the constants
named
argument of RNN$__call__
(as well as RNN$call
) method. This requires that the
cell$call
method accepts the same keyword argument constants
. Such constants
can be used to condition the cell transformation on additional static inputs
(not changing over time), a.k.a. an attention mechanism.
Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation
On the Properties of Neural Machine Translation: Encoder-Decoder Approaches
Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling
A Theoretically Grounded Application of Dropout in Recurrent Neural Networks
Other recurrent layers:
layer_cudnn_gru()
,
layer_cudnn_lstm()
,
layer_lstm()
,
layer_rnn()
,
layer_simple_rnn()
Cell class for the GRU layer
layer_gru_cell( units, activation = "tanh", recurrent_activation = "sigmoid", use_bias = TRUE, kernel_initializer = "glorot_uniform", recurrent_initializer = "orthogonal", bias_initializer = "zeros", kernel_regularizer = NULL, recurrent_regularizer = NULL, bias_regularizer = NULL, kernel_constraint = NULL, recurrent_constraint = NULL, bias_constraint = NULL, dropout = 0, recurrent_dropout = 0, reset_after = TRUE, ... )
layer_gru_cell( units, activation = "tanh", recurrent_activation = "sigmoid", use_bias = TRUE, kernel_initializer = "glorot_uniform", recurrent_initializer = "orthogonal", bias_initializer = "zeros", kernel_regularizer = NULL, recurrent_regularizer = NULL, bias_regularizer = NULL, kernel_constraint = NULL, recurrent_constraint = NULL, bias_constraint = NULL, dropout = 0, recurrent_dropout = 0, reset_after = TRUE, ... )
units |
Positive integer, dimensionality of the output space. |
activation |
Activation function to use. Default: hyperbolic tangent
( |
recurrent_activation |
Activation function to use for the recurrent step.
Default: sigmoid ( |
use_bias |
Boolean, (default |
kernel_initializer |
Initializer for the |
recurrent_initializer |
Initializer for the |
bias_initializer |
Initializer for the bias vector. Default: |
kernel_regularizer |
Regularizer function applied to the |
recurrent_regularizer |
Regularizer function applied to the
|
bias_regularizer |
Regularizer function applied to the bias vector. Default:
|
kernel_constraint |
Constraint function applied to the |
recurrent_constraint |
Constraint function applied to the |
bias_constraint |
Constraint function applied to the bias vector. Default:
|
dropout |
Float between 0 and 1. Fraction of the units to drop for the linear transformation of the inputs. Default: 0. |
recurrent_dropout |
Float between 0 and 1. Fraction of the units to drop for the linear transformation of the recurrent state. Default: 0. |
reset_after |
GRU convention (whether to apply reset gate after or before matrix multiplication). FALSE = "before", TRUE = "after" (default and CuDNN compatible). |
... |
standard layer arguments. |
See the Keras RNN API guide for details about the usage of RNN API.
This class processes one step within the whole time sequence input, whereas
tf.keras.layer.GRU
processes the whole sequence.
For example:
inputs <- k_random_uniform(c(32, 10, 8)) output <- inputs %>% layer_rnn(layer_gru_cell(4)) output$shape # TensorShape([32, 4]) rnn <- layer_rnn(cell = layer_gru_cell(4), return_sequence = TRUE, return_state = TRUE) c(whole_sequence_output, final_state) %<-% rnn(inputs) whole_sequence_output$shape # TensorShape([32, 10, 4]) final_state$shape # TensorShape([32, 4])
Other RNN cell layers:
layer_lstm_cell()
,
layer_simple_rnn_cell()
,
layer_stacked_rnn_cells()
A preprocessing layer which hashes and bins categorical features.
layer_hashing( object, num_bins, mask_value = NULL, salt = NULL, output_mode = "int", sparse = FALSE, ... )
layer_hashing( object, num_bins, mask_value = NULL, salt = NULL, output_mode = "int", sparse = FALSE, ... )
object |
What to compose the new
|
num_bins |
Number of hash bins. Note that this includes the |
mask_value |
A value that represents masked inputs, which are mapped to index 0. Defaults to NULL, meaning no mask term will be added and the hashing will start at index 0. |
salt |
A single unsigned integer or NULL.
If passed, the hash function used will be SipHash64, with these values
used as an additional input (known as a "salt" in cryptography).
These should be non-zero. Defaults to |
output_mode |
Specification for the output of the layer. Defaults to
|
sparse |
Boolean. Only applicable to |
... |
standard layer arguments. |
This layer transforms single or multiple categorical inputs to hashed output.
It converts a sequence of int or string to a sequence of int. The stable hash
function uses tensorflow::ops::Fingerprint
to produce the same output
consistently across all platforms.
This layer uses FarmHash64 by default, which provides a consistent hashed output across different platforms and is stable across invocations, regardless of device and context, by mixing the input bits thoroughly.
If you want to obfuscate the hashed output, you can also pass a random salt
argument in the constructor. In that case, the layer will use the
SipHash64 hash function, with
the salt
value serving as additional input to the hash function.
Example (FarmHash64)
layer <- layer_hashing(num_bins=3) inp <- matrix(c('A', 'B', 'C', 'D', 'E')) layer(inp) # <tf.Tensor: shape=(5, 1), dtype=int64, numpy= # array([[1], # [0], # [1], # [1], # [2]])>
Example (FarmHash64) with a mask value
layer <- layer_hashing(num_bins=3, mask_value='') inp <- matrix(c('A', 'B', 'C', 'D', 'E')) layer(inp) # <tf.Tensor: shape=(5, 1), dtype=int64, numpy= # array([[1], # [1], # [0], # [2], # [2]])>
Example (SipHash64)
layer <- layer_hashing(num_bins=3, salt=c(133, 137)) inp <- matrix(c('A', 'B', 'C', 'D', 'E')) layer(inp) # <tf.Tensor: shape=(5, 1), dtype=int64, numpy= # array([[1], # [2], # [1], # [0], # [2]])>
Example (Siphash64 with a single integer, same as salt=[133, 133]
)
layer <- layer_hashing(num_bins=3, salt=133) inp <- matrix(c('A', 'B', 'C', 'D', 'E')) layer(inp) # <tf.Tensor: shape=(5, 1), dtype=int64, numpy= # array([[0], # [0], # [2], # [1], # [0]])>
https://www.tensorflow.org/api_docs/python/tf/keras/layers/Hashing
https://keras.io/api/layers/preprocessing_layers/categorical/hashing/
Other categorical features preprocessing layers:
layer_category_encoding()
,
layer_integer_lookup()
,
layer_string_lookup()
Other preprocessing layers:
layer_category_encoding()
,
layer_center_crop()
,
layer_discretization()
,
layer_integer_lookup()
,
layer_normalization()
,
layer_random_brightness()
,
layer_random_contrast()
,
layer_random_crop()
,
layer_random_flip()
,
layer_random_height()
,
layer_random_rotation()
,
layer_random_translation()
,
layer_random_width()
,
layer_random_zoom()
,
layer_rescaling()
,
layer_resizing()
,
layer_string_lookup()
,
layer_text_vectorization()
Layer to be used as an entry point into a graph.
layer_input( shape = NULL, batch_shape = NULL, name = NULL, dtype = NULL, sparse = FALSE, tensor = NULL, ragged = FALSE )
layer_input( shape = NULL, batch_shape = NULL, name = NULL, dtype = NULL, sparse = FALSE, tensor = NULL, ragged = FALSE )
shape |
Shape, not including the batch size. For instance,
|
batch_shape |
Shape, including the batch size. For instance,
|
name |
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
dtype |
The data type expected by the input, as a string ( |
sparse |
Boolean, whether the placeholder created is meant to be sparse. |
tensor |
Existing tensor to wrap into the |
ragged |
A boolean specifying whether the placeholder to be created is
ragged. Only one of 'ragged' and 'sparse' can be |
A tensor
Other core layers:
layer_activation()
,
layer_activity_regularization()
,
layer_attention()
,
layer_dense()
,
layer_dense_features()
,
layer_dropout()
,
layer_flatten()
,
layer_lambda()
,
layer_masking()
,
layer_permute()
,
layer_repeat_vector()
,
layer_reshape()
A preprocessing layer which maps integer features to contiguous ranges.
layer_integer_lookup( object, max_tokens = NULL, num_oov_indices = 1L, mask_token = NULL, oov_token = -1L, vocabulary = NULL, vocabulary_dtype = "int64", idf_weights = NULL, invert = FALSE, output_mode = "int", sparse = FALSE, pad_to_max_tokens = FALSE, ... )
layer_integer_lookup( object, max_tokens = NULL, num_oov_indices = 1L, mask_token = NULL, oov_token = -1L, vocabulary = NULL, vocabulary_dtype = "int64", idf_weights = NULL, invert = FALSE, output_mode = "int", sparse = FALSE, pad_to_max_tokens = FALSE, ... )
object |
What to compose the new
|
max_tokens |
Maximum size of the vocabulary for this layer. This should
only be specified when adapting the vocabulary or when setting
|
num_oov_indices |
The number of out-of-vocabulary tokens to use. If this value is more than 1, OOV inputs are modulated to determine their OOV value. If this value is 0, OOV inputs will cause an error when calling the layer. Defaults to 1. |
mask_token |
An integer token that represents masked inputs. When
|
oov_token |
Only used when |
vocabulary |
Optional. Either an array of integers or a string path to a
text file. If passing an array, can pass a list, list, 1D numpy array,
or 1D tensor containing the integer vocabulary terms. If passing a file
path, the file should contain one line per term in the vocabulary. If
this argument is set, there is no need to |
vocabulary_dtype |
The dtype of the vocabulary terms, for example
|
idf_weights |
Only valid when |
invert |
Only valid when |
output_mode |
Specification for the output of the layer. Defaults to
|
sparse |
Boolean. Only applicable when |
pad_to_max_tokens |
Only applicable when |
... |
standard layer arguments. |
This layer maps a set of arbitrary integer input tokens into indexed integer
output via a table-based vocabulary lookup. The layer's output indices will
be contiguously arranged up to the maximum vocab size, even if the input
tokens are non-continguous or unbounded. The layer supports multiple options
for encoding the output via output_mode
, and has optional support for
out-of-vocabulary (OOV) tokens and masking.
The vocabulary for the layer must be either supplied on construction or
learned via adapt()
. During adapt()
, the layer will analyze a data set,
determine the frequency of individual integer tokens, and create a
vocabulary from them. If the vocabulary is capped in size, the most frequent
tokens will be used to create the vocabulary and all others will be treated
as OOV.
There are two possible output modes for the layer. When output_mode
is
"int"
, input integers are converted to their index in the vocabulary (an
integer). When output_mode
is "multi_hot"
, "count"
, or "tf_idf"
,
input integers are encoded into an array where each dimension corresponds to
an element in the vocabulary.
The vocabulary can optionally contain a mask token as well as an OOV token
(which can optionally occupy multiple indices in the vocabulary, as set
by num_oov_indices
).
The position of these tokens in the vocabulary is fixed. When output_mode
is "int"
, the vocabulary will begin with the mask token at index 0
,
followed by OOV indices, followed by the rest of the vocabulary. When
output_mode
is "multi_hot"
, "count"
, or "tf_idf"
the vocabulary will
begin with OOV indices and instances of the mask token will be dropped.
For an overview and full list of preprocessing layers, see the preprocessing guide.
https://www.tensorflow.org/api_docs/python/tf/keras/layers/IntegerLookup
https://keras.io/api/layers/preprocessing_layers/categorical/integer_lookup
Other categorical features preprocessing layers:
layer_category_encoding()
,
layer_hashing()
,
layer_string_lookup()
Other preprocessing layers:
layer_category_encoding()
,
layer_center_crop()
,
layer_discretization()
,
layer_hashing()
,
layer_normalization()
,
layer_random_brightness()
,
layer_random_contrast()
,
layer_random_crop()
,
layer_random_flip()
,
layer_random_height()
,
layer_random_rotation()
,
layer_random_translation()
,
layer_random_width()
,
layer_random_zoom()
,
layer_rescaling()
,
layer_resizing()
,
layer_string_lookup()
,
layer_text_vectorization()
Wraps arbitrary expression as a layer
layer_lambda( object, f, output_shape = NULL, mask = NULL, arguments = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
layer_lambda( object, f, output_shape = NULL, mask = NULL, arguments = NULL, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
What to compose the new
|
f |
The function to be evaluated. Takes input tensor as first argument. |
output_shape |
Expected output shape from the function (not required when using TensorFlow back-end). |
mask |