由 tf.data.Dataset.from_tensor_slices 填充的 tf.data.Dataset 是否会制作数据的深层副本?

khe*_*egz 6 c++ python tensorflow tensorflow-datasets

根据tensorflow,tf.data.Dataset是

“数据集可用于将输入管道表示为元素的集合(张量的嵌套结构)以及作用于这些元素的转换的“逻辑计划”。”

当我使用 tf.data.Dataset.from_tensor_slices 导入数据时

“创建一个数据集,其元素是给定张量的切片。”

但是,我不清楚这些嵌套张量是否填充了硬复制的数据、使用指针访问数据还是通过引用工作。我主要担心使用 tf.data.Dataset.from_tensor_slices 导入数据是否会制作数据的硬拷贝,这样我就不会耗尽内存。

我尝试通过从相同的输入数据创建两个 tf.data.Datasets 来使用小数据集对此进行基准测试。我只是查看了正在运行的程序使用了多少内存,在某些情况下,它是数据大小的一半,而在第二种情况下(使用一半数据)我得到了奇怪的结果。