用法
@staticmethod
sample_from_datasets(
datasets, weights=None, seed=None, stop_on_empty_dataset=False
)
参数
-
datasets
具有兼容结构的tf.data.Dataset
对象的非空列表。 -
weights
(可选。)len(datasets)
浮点值的列表或张量,其中weights[i]
表示从datasets[i]
或tf.data.Dataset
对象中采样的概率,其中每个元素都是这样的列表。默认为跨datasets
的均匀分布。 -
seed
(可选。)tf.int64
标量tf.Tensor
,表示将用于创建分布的随机种子。有关行为,请参阅tf.random.set_seed
。 -
stop_on_empty_dataset
如果True
,如果遇到空数据集,采样将停止。如果False
,它会跳过空数据集。建议将其设置为True
。否则,样本的分布会按照用户的意图开始,但可能会随着输入数据集变空而改变。这可能很难检测到,因为数据集开始看起来是正确的。默认为False
以实现向后兼容性。
返回
-
根据
weights
(如果提供),随机交织来自datasets
的元素的数据集,否则以统一概率。
抛出
-
TypeError
如果datasets
或weights
参数的类型错误。 -
ValueError
- 如果
datasets
为空,或者 - 如果指定了
weights
并且与datasets
的长度不匹配。
- 如果
从 datasets
的数据集中随机抽取元素。
通过将 datasets
的元素与从数据集 i
中选取元素的概率 weight[i]
交错来创建数据集。取样无需更换。例如,假设我们有 2 个数据集:
dataset1 = tf.data.Dataset.range(0, 3)
dataset2 = tf.data.Dataset.range(100, 103)
假设我们从这两个数据集中使用以下权重进行采样:
sample_dataset = tf.data.Dataset.sample_from_datasets(
[dataset1, dataset2], weights=[0.5, 0.5])
sample_dataset 中元素的一种可能结果是:
print(list(sample_dataset.as_numpy_iterator()))
# [100, 0, 1, 101, 2, 102]
相关用法
- Python tf.data.Dataset.snapshot用法及代码示例
- Python tf.data.Dataset.scan用法及代码示例
- Python tf.data.Dataset.shuffle用法及代码示例
- Python tf.data.Dataset.skip用法及代码示例
- Python tf.data.Dataset.shard用法及代码示例
- Python tf.data.Dataset.take_while用法及代码示例
- Python tf.data.Dataset.cardinality用法及代码示例
- Python tf.data.Dataset.from_tensors用法及代码示例
- Python tf.data.Dataset.concatenate用法及代码示例
- Python tf.data.Dataset.unique用法及代码示例
- Python tf.data.Dataset.cache用法及代码示例
- Python tf.data.Dataset.unbatch用法及代码示例
- Python tf.data.Dataset.as_numpy_iterator用法及代码示例
- Python tf.data.Dataset.random用法及代码示例
- Python tf.data.Dataset.group_by_window用法及代码示例
- Python tf.data.Dataset.reduce用法及代码示例
- Python tf.data.Dataset.map用法及代码示例
- Python tf.data.Dataset.repeat用法及代码示例
- Python tf.data.Dataset.bucket_by_sequence_length用法及代码示例
- Python tf.data.Dataset.get_single_element用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.data.Dataset.sample_from_datasets。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。