【问题标题】:CUDA goes out of memory during inference and gives InternalError: CUDA runtime implicit initialization on GPU:0 failed. Status: out of memoryCUDA 在推理过程中内存不足并给出 InternalError: CUDA 运行时隐式初始化 GPU:0 失败。状态:内存不足
【发布时间】:2019-10-12 02:55:19
【问题描述】:

在推理过程中,加载模型时,Cuda 抛出 InternalError: CUDA runtime implicit initialization on GPU:0 failed。状态:内存不足。

我正在一台具有 6GB VRAM 的机器上执行推理。几天前,机器能够执行任务,但现在我经常收到这些消息。重新启动设备有时会有所帮助,但这不是一个可行的解决方案。我通过 nvidia-smi 进行了检查,但它也显示仅使用了大约 500 MB 的 VRam,并且当 tensorflow 尝试加载模型时,我无法看到内存使用量的任何峰值。

我目前使用的是 tensorflow 1.14.0 和 python 3.7.4

【问题讨论】:

  • 您是否正在使用 IPython Notebook 进行培训?
  • 推理时出现问题。不,jupyter notebook 既不用于训练也不用于推理。
  • 嗨 Akhil,你最后解决了吗?我遇到了同样的错误。请回复。
  • @Qululu 我添加了这两行用于从内存中清除以前的会话。 from keras import backend as K K.clear_session() 另外,我更改了模型使用的内存比例。默认情况下,tf 模型会填满整个 GPU 内存。你也可以参考this issue

标签: python tensorflow


【解决方案1】:

我在远程服务器上使用 Tensorflow 2.3.0。我的代码运行良好,但突然服务器与网络断开连接,我的训练停止了。当我重新运行代码时,我遇到了同样的问题。所以我猜这个问题与GPU忙于不再存在的事情有关。正如评论所说,清除会话足以解决问题(我也相信重启机器也可以解决问题,但我没有机会尝试这个解决方案)。 对于 tensorflow 2.3 使用 tf.kerasbackend.clear_session() 它可以解决问题

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-12-06
  • 2020-11-12
  • 1970-01-01
  • 1970-01-01
  • 2018-07-06
  • 2021-05-20
  • 2022-10-17
  • 2021-07-12
相关资源
最近更新 更多