1

我正在使用 inception v1 架构进行迁移学习。我已经从下面的 github 存储库中下载了检查点文件、网络、预处理文件

https://github.com/tensorflow/models/tree/master/slim

我有 3700 张图像,并从图中为每个图像汇集了最后一个池化层过滤器,并将其附加到列表中。随着每次迭代,内存使用量都在增加,最终在大约 2000 个图像处终止运行。你能告诉我我犯了什么错误吗?

https://github.com/Prakashvanapalli/TensorFlow/blob/master/Transfer_Learning/inception_v1_finallayer.py

即使我删除了附加列表并只是尝试打印结果。这仍在发生。我想错误在于调用图表的方式。当我看到我的 ram 使用情况时,每次迭代都会变得很重,我不知道为什么会这样,因为我没有保存任何东西,第一次迭代之间也没有区别

从我的角度来看,我只是发送一张图像并获取输出并保存它们。因此,无论我发送多少张图片,它都应该有效。

我在 GPU (6GB) 和 CPU (32GB) 上都试过了。

4

1 回答 1

2

您似乎将图形中的图像存储为tf.constants。这些将是持久的,并且会导致您遇到的内存问题。相反,我会推荐placeholdersqueues。队列非常灵活,可以非常高性能,但也可以变得相当复杂。您可能只想从一个占位符开始。

对于图像输入管道的完整示例,您可以查看Inception 模型

于 2017-02-07T22:00:06.850 回答