首页 > 解决方案 > 由 tf.data.Dataset.from_tensor_slices 填充的 tf.data.Dataset 是否会制作数据的深层副本?

问题描述

根据 tensorflow,一个 tf.data.Dataset 是一个

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

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

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

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

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

标签: pythonc++tensorflowtensorflow-datasets

解决方案


推荐阅读