The function enables you to use a TF Dataset in a stateless "tensor-in tensor-out" expression, without creating an iterator. This facilitates the ease of data transformation on tensors using the optimized TF Dataset abstraction on top of them.
# S3 method for tensorflow.python.data.ops.dataset_ops.DatasetV2
as_tensor(x, ..., name = NULL)# S3 method for tensorflow.python.data.ops.dataset_ops.DatasetV2
as.array(x, ...)
A TF Dataset
passed on to tensorflow::as_tensor()
(Optional.) A name for the TensorFlow operation.
For example, consider a preprocess_batch()
which would take as an input
a batch of raw features and returns the processed feature.
preprocess_one_case <- function(x) x + 100preprocess_batch <- function(raw_features) {
batch_size <- dim(raw_features)[1]
ds <- raw_features %>%
tensor_slices_dataset() %>%
dataset_map(preprocess_one_case, num_parallel_calls = batch_size) %>%
dataset_batch(batch_size)
as_tensor(ds)
}
raw_features <- array(seq(prod(4, 5)), c(4, 5))
preprocess_batch(raw_features)
In the above example, the batch of raw_features
was converted to a TF
Dataset. Next, each of the raw_feature cases in the batch was mapped using
the preprocess_one_case and the processed features were grouped into a single
batch. The final dataset contains only one element which is a batch of all
the processed features.
Note: The dataset should contain only one element. Now, instead of creating
an iterator for the dataset and retrieving the batch of features, the
as_tensor()
function is used to skip the iterator creation process and
directly output the batch of features.
This can be particularly useful when your tensor transformations are expressed as TF Dataset operations, and you want to use those transformations while serving your model.