【发布时间】:2020-11-27 12:08:14
【问题描述】:
调用tf.data.Dataset.cache()后建立的内存缓存是否可以删除?
这就是我想做的事情。数据集的扩充是非常昂贵的,所以目前的代码或多或少:
data = tf.data.Dataset(...) \
.map(<expensive_augmentation>) \
.cache() \
# .shuffle().batch() etc.
但是,这意味着在 data 上的每次迭代都会看到相同的数据样本的增强版本。我想做的是使用缓存几个时期,然后重新开始,或者等效地执行Dataset.map(<augmentation>).fleeting_cache().repeat(8) 之类的操作。这有可能实现吗?
【问题讨论】:
-
我也想这样做,但不是每 n 个 epoch 丢弃整个缓存,我想在每个 epoch 驱逐一定比例的缓存。
-
FTR,我创建了一个feature request for this。
标签: python tensorflow