对一个包含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