首页 > 解决方案 > 张量流数据集管道中每个时期的随机变换参数

问题描述

在我的训练中,我需要为每个 epoch 获取一组新的随机数据转换参数并应用这些参数(见下文,对于每次迭代,我尝试生成一个新的映射函数)。但这给出了 a NotFoundErrorand 表示Function tf_data_structured_function_wrapper_P4jUpdWmQYM is not defined第二次迭代(不是第一次迭代),它来自get_next()方法。我怎样才能达到我的目的?(注意:使用 tensorflow random() 方法将为每个批次而不是每个时期返回不同的随机数,所以这是一个否)

iterator = tf.data.Iterator.from_structure((tf.float32, tf.float32))
next_element = iterator.get_next()

sess = tf.Session()
for i in range(2):
    dataset1 = tf.data.Dataset.from_tensor_slices((x, y)).map(lambda x, y: (x + random(), y))
    initializer = iterator.make_initializer(dataset1)
    sess.run(initializer)
    while True:
        try:
            print(sess.run(next_element))
        except tf.errors.OutOfRangeError:
            break

标签: pythontensorflowinputpipeline

解决方案


推荐阅读