【发布时间】:2020-02-21 02:08:30
【问题描述】:
我正在使用 Estimator API。我想通过DataSet 在每次迭代中动态处理每个小批量(或每个元素)。
例如,我想在每次对数据集中的每个元素进行批处理并输入model_fn 时为其添加随机噪声。
dataset.map() 似乎只被调用一次,随后通过dataset.repeat() 的传递是静态的。这是我尝试过的:
import tensorflow as tf
import numpy as np
import random
dx = tf.data.Dataset.from_tensor_slices([10.0, 20.0, 30.0])
dx = dx.map(lambda x: x + random.uniform(0, 1)).repeat(2)
for next_element in dx:
print(next_element.numpy())
输出
10.426203
20.426203
30.426203
10.426203
20.426203
30.426203
一种方法是为input_fn 读取的原始数据添加随机性,但随后数据不会在不同时期之间发生变化。
【问题讨论】:
标签: python tensorflow dataset