tensorflow 2.0创建TF记录内存消耗

我的数据集组织如下:

patient_{i}/dataset_{j}

其中i和j是整数索引。现在,对于每个数据集文件夹dataset_{j},我想创建一个单独的tfrecord(我使用的是Tensorflow 2.0稳定版)。为此,我有以下代码:

        for path in paths:  
            dset = self.get_dset(path,only_labelled=self.only_labelled)
            self._create_record(dset,os.path.split(path)[0],self.tfrecord_filename)

get_dset除了使用tf.data.Dataset.from_tensor_slices返回数据集外什么都不做,而create_record除了序列化数据集并将其写入磁盘外没有任何其他作用。因此,一旦进入新的循环迭代,我便无处愿意存储先前创建/存储的数据集。但是,随着循环的进行,内存消耗不断增加。这种预期的行为与在后台创建执行tf功能的tf图有关吗?我认为当要使用的数据量太大而无法容纳在内存中时,我正在做的事情很标准,所以我不知道tf将数据保留在RAM中的原因是什么。关于如何避免这种情况的任何提示/建议,将不胜感激。

peterbright 回答:tensorflow 2.0创建TF记录内存消耗

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3136530.html

大家都在问