当前位置: 首页 > 知识库问答 >
问题:

Keras、Tensorflow将在模型构建时保留所有GPU内存

卫泉
2023-03-14

我的GPU是NVIDIA RTX 2080 TI

Keras 2.2。4.

Tensorflow gpu 1.12。0

CUDA 10.0

一旦我加载构建模型(编译前),我发现GPU内存被完全分配

[0]GeForce RTX 2080钛合金50℃下,15%钛合金10759/10989 MB钛合金issd/8067(10749米)

可能是什么原因,我如何调试它?

即使通过生成器加载,我也没有多余的内存来加载数据

我曾尝试监控GPU内存使用情况,发现它在构建层之后(编译模型之前)就已经满了

共有1个答案

寇升
2023-03-14

当我加载预先训练过的ResNet50时,我遇到了类似的问题。GPU的内存使用量激增到11GB,而ResNet50通常只消耗不到150MB的内存。

在我的例子中的问题是,我也导入PyTorch没有实际使用它在我的代码。评论后,一切正常。但是我有另一台电脑,代码相同,工作正常。所以我卸载并用正确的版本重新安装Tensorflow和PyTorch。然后一切工作正常,即使我导入PyTorch。

 类似资料:
  • 我已经训练了3个模型,现在正在运行代码,按顺序加载3个检查点中的每一个,并使用它们运行预测。我在用GPU。 当加载第一个模型时,它会预先分配整个GPU内存(我希望用于处理第一批数据)。但它不会在完成时卸载内存。加载第二个模型时,使用第一个型号的GPU内存仍然被完全消耗,第二个型号的内存不足。 除了使用Python子进程或多重处理来解决这个问题(这是我通过谷歌搜索找到的唯一解决方案),还有其他方法可

  • 问题内容: 我已经训练了3个模型,现在正在运行代码,依次加载3个检查点中的每一个并使用它们运行预测。我正在使用GPU。 加载第一个模型时,它会预先分配整个GPU内存(我希望通过它来处理第一批数据)。但是它不会在完成时卸载内存。当第二模型被加载,同时使用和GPU存储器仍从第一模型完全消耗,并且所述第二模型然后饥饿的存储器。 除了使用Python子进程或多进程来解决该问题(我通过Google搜索找到的

  • 我已经在纸质空间云架构体系上创建了虚拟笔记本,后端有Tensorflow GPU P5000虚拟实例。当我开始训练我的网络时,它比我的MacBook Pro用纯CPU运行时引擎慢2倍。如何确保Keras NN在训练过程中使用GPU而不是CPU? 请在下面找到我的代码:

  • 在使用进行实验时,我在将转换为时遇到了一个问题。 这是我的设置: 如果有人能解释转换失败的原因,那就太好了。

  • 我目前正在尝试将RNN模型转换为TF lite。在多次尝试失败后,我尝试运行此处存储库中给出的示例。由于层定义位置的变化,这也引发了错误。一旦修复了下面的代码 我继续出错 在使用tf.compat.v1.disable\u eager\u execution()禁用渴望执行后,我得到了错误 有人有在TensorFlow 2.0中将RNN(LSTM、GRU、CustomRNN)转换为TFLite的工

  • 当我执行这个程序时,一切都很好: