关于tensorflow的dataset执行map的问题

对一个包含dataset的dataset,比如这种window过后的玩意儿
如果对这种dataset执行map,在map里对子元素的dataset进行遍历,就会出现内存泄漏并且卡死

import tensorflow as tf

def f(x:tf.data.Dataset):
    a=[i for i in x]
    return a

a = tf.data.Dataset.range(9)
b = a.window(3)
c = b.map(f)

print(list(c.as_numpy_iterator()))

目前不清楚原因,可能关于map的底层原理不太懂

如果想要把里面的dataset展开,必须使用flat_map

你可能感兴趣的:(Tensorflow学习,tensorflow,深度学习,机器学习)