Admin` 2023-02-06 18:20 采纳率: 0%
浏览 11
已结题

IterableDataset添加workers

如何设置,如果没有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的效果。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月26日
  • 创建了问题 2月6日