为什么我在 tensorflow 上的迁移学习实现在几次迭代后抛出错误?
Why is my transfer learning implementation on tensorflow is throwing me an error after a few iterations?
我正在使用 inception v1 架构进行迁移学习。我已经从下面的 github 存储库
下载了检查点文件、网络、预处理文件
https://github.com/tensorflow/models/tree/master/slim
我有 3700 张图像,并从图表中为每张图像汇集最后一个池化层过滤器,并将其附加到列表中。随着每次迭代,ram 使用量都在增加,并最终在大约 2000 张图像处杀死 运行。你能告诉我我犯了什么错误吗?
即使我删除了附加的列表并只是试图打印结果。这仍在发生。我想错误在于调用图形的方式。当我看到我的 ram 使用情况时,每次迭代都会变得很重,我不知道为什么会这样,因为我没有保存任何东西,而且第一次迭代之间也没有区别
从我的角度来看,我只是发送一张图片并获取输出并保存它们。因此,无论我发送多少图像,它都应该有效。
我在 GPU (6GB) 和 CPU (32GB) 上都试过了。
您似乎将图表中的图像存储为 tf.constant
s。这些将持续存在,并会导致您遇到的内存问题。相反,我会推荐 placeholders or queues。队列非常灵活,性能非常高,但也可能变得相当复杂。您可能只想从一个占位符开始。
对于图像输入管道的 full-complexity 示例,您可以查看 Inception model。
我正在使用 inception v1 架构进行迁移学习。我已经从下面的 github 存储库
下载了检查点文件、网络、预处理文件https://github.com/tensorflow/models/tree/master/slim
我有 3700 张图像,并从图表中为每张图像汇集最后一个池化层过滤器,并将其附加到列表中。随着每次迭代,ram 使用量都在增加,并最终在大约 2000 张图像处杀死 运行。你能告诉我我犯了什么错误吗?
即使我删除了附加的列表并只是试图打印结果。这仍在发生。我想错误在于调用图形的方式。当我看到我的 ram 使用情况时,每次迭代都会变得很重,我不知道为什么会这样,因为我没有保存任何东西,而且第一次迭代之间也没有区别
从我的角度来看,我只是发送一张图片并获取输出并保存它们。因此,无论我发送多少图像,它都应该有效。
我在 GPU (6GB) 和 CPU (32GB) 上都试过了。
您似乎将图表中的图像存储为 tf.constant
s。这些将持续存在,并会导致您遇到的内存问题。相反,我会推荐 placeholders or queues。队列非常灵活,性能非常高,但也可能变得相当复杂。您可能只想从一个占位符开始。
对于图像输入管道的 full-complexity 示例,您可以查看 Inception model。