如何设置,如果没有start和end值,IterableDataset添加workers
1条回答 默认 最新
- 快撑死的鱼 2023-02-07 01:23关注
回答不易,求求您采纳点赞哦
如果你的IterableDataset没有start和end值,可以使用tf.data.experimental.rejection_resample函数来设置Worker:
ds = tf.data.Dataset.from_tensor_slices(data) ds = ds.apply(tf.data.experimental.rejection_resample(lambda x: x['label'], target_dist, 0.5)) ds = ds.map(....).batch(...).repeat()
这样就可以实现IteratorDataset添加Workers,其中target_dist是你需要添加的目标分布。
如果你想在IterableDataset中添加多个Workers,可以使用tf.data.experimental.sample_from_datasets函数来实现,你可以把所有你需要添加的Dataset都加入这个函数中,然后他会根据你设定的weights权重来从这些Dataset中选择数据作为输出,这样就可以实现多Worker的效果。
解决 无用评论 打赏 举报