View source on GitHub |
Samples elements at random from the datasets in datasets
.
tf.compat.v1.data.experimental.sample_from_datasets(
datasets, weights=None, seed=None
)
Creates a dataset by interleaving elements of datasets
with the weight[i]
probability of picking an element from dataset i
. For example, suppose we
have 2 datasets:
dataset1 = tf.data.Dataset.range(0, 3)
dataset2 = tf.data.Dataset.range(100, 103)
Suppose also that we sample from these 2 datasets with the following weights:
sample_dataset = tf.data.experimental.sample_from_datasets(
[dataset1, dataset2], weights=[0.5, 0.5])
One possible outcome of elements in sample_dataset is:
print(list(sample_dataset.as_numpy_iterator()))
# [100, 0, 1, 101, 2, 102]
Args | |
---|---|
datasets
|
A list of tf.data.Dataset objects with compatible structure.
|
weights
|
(Optional.) A list of len(datasets) floating-point values where
weights[i] represents the probability with which an element should be
sampled from datasets[i] , or a tf.data.Dataset object where each
element is such a list. Defaults to a uniform distribution across
datasets .
|
seed
|
(Optional.) A tf.int64 scalar tf.Tensor , representing the
random seed that will be used to create the distribution. See
tf.random.set_seed for behavior.
|
Returns | |
---|---|
A dataset that interleaves elements from datasets at random, according to
weights if provided, otherwise with uniform probability.
|
Raises | |
---|---|
TypeError
|
If the datasets or weights arguments have the wrong type.
|
ValueError
|
If the weights argument is specified and does not match the
length of the datasets element.
|