【发布时间】:2019-07-16 13:11:16
【问题描述】:
我的 GPU 是 NVIDIA RTX 2080 TI
Keras 2.2.4
张量流-GPU 1.12.0
CUDA 10.0
一旦我加载构建模型(在编译之前),我发现 GPU 内存已完全分配
[0] GeForce RTX 2080 Ti | 50'C, 15 % | 10759 / 10989 MB | issd/8067(10749M)
可能是什么原因,我该如何调试?
即使我通过生成器加载数据,我也没有多余的内存来加载数据
我试图监控 GPU 的内存使用情况,发现它在构建层后(编译模型之前)已满
【问题讨论】:
-
这是正常的 TensorFlow 行为。默认情况下,它会进行贪婪分配。一些研究会告诉你这一点。例如,阅读this。
-
tensorflow 吃掉你的 GPU!它是一种设计选择,如果 tensorflow 在其运行时间中途的某个时间点需要它,可能会确保没有其他进程在 GPU 上分配任何内存
-
@RobertCrovella 但是运行卷积非常困难,因为它们将使用 GPU 内存,我试图监控行为并且所有内存都已填满。我正在为我的网络提供小批量以确保最低使用量。
-
在 TF 中做你想做的事。仅仅因为它分配了所有内存并不意味着您内存不足。 TF 正在为您管理内存。除非您遇到内存不足错误,否则不要担心。无论如何,有很多问题和文章讨论这个问题。您需要阅读其中的一些内容并了解正在发生的事情。我无法比现有的所有文档、问题和文章更好地解释它。
标签: python-3.x tensorflow keras