张量流中的CUDA_ERROR_OUT_OF_MEMORY

2023-12-19

当我开始训练一些神经网络时,它满足了CUDA_ERROR_OUT_OF_MEMORY但训练可以继续进行,不会出现错误。因为我想根据实际需要使用GPU内存,所以我设置了gpu_options.allow_growth = True.日志如下:

I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcurand.so locally
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:925] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_device.cc:951] Found device 0 with properties:
name: GeForce GTX 1080
major: 6 minor: 1 memoryClockRate (GHz) 1.7335
pciBusID 0000:01:00.0
Total memory: 7.92GiB
Free memory: 7.81GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:972] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:982] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:1041] Creating TensorFlow device (/gpu:0) -> (device:0, name: GeForce GTX 1080, pci bus id: 0000:01:00.0)
E tensorflow/stream_executor/cuda/cuda_driver.cc:965] failed to allocate 4.00G (4294967296 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
Iter 20, Minibatch Loss= 40491.636719
...

并且使用后nvidia-smi命令,它得到:

+-----------------------------------------------------------------------------+   
| NVIDIA-SMI 367.27                 Driver Version: 367.27                            
|-------------------------------+----------------------+----------------------+   
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |  
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M.
|===============================+======================+======================|
|   0  GeForce GTX 1080    Off  | 0000:01:00.0     Off |                  N/A |   
| 40%   61C    P2    46W / 180W |   8107MiB /  8111MiB |     96%      Default |   
+-------------------------------+----------------------+----------------------+   
|   1  GeForce GTX 1080    Off  | 0000:02:00.0     Off |                  N/A |   
|  0%   40C    P0    40W / 180W |      0MiB /  8113MiB |      0%      Default |   
+-------------------------------+----------------------+----------------------+   
                                                                              │
+-----------------------------------------------------------------------------+   
| Processes:                                                       GPU Memory |   
|  GPU       PID  Type  Process name                               Usage      |   
|=============================================================================|   
|    0     22932    C   python                                        8105MiB |
+-----------------------------------------------------------------------------+ 

我发表评论后gpu_options.allow_growth = True,我再次训练网络,一切正常。没有出现以下问题CUDA_ERROR_OUT_OF_MEMORY。最后,运行了nvidia-smi命令,它得到:

+-----------------------------------------------------------------------------+   
| NVIDIA-SMI 367.27                 Driver Version: 367.27                            
|-------------------------------+----------------------+----------------------+   
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |  
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M.
|===============================+======================+======================|
|   0  GeForce GTX 1080    Off  | 0000:01:00.0     Off |                  N/A |   
| 40%   61C    P2    46W / 180W |   7793MiB /  8111MiB |     99%      Default |   
+-------------------------------+----------------------+----------------------+   
|   1  GeForce GTX 1080    Off  | 0000:02:00.0     Off |                  N/A |   
|  0%   40C    P0    40W / 180W |      0MiB /  8113MiB |      0%      Default |   
+-------------------------------+----------------------+----------------------+   
                                                                              │
+-----------------------------------------------------------------------------+   
| Processes:                                                       GPU Memory |   
|  GPU       PID  Type  Process name                               Usage      |   
|=============================================================================|   
|    0     22932    C   python                                        7791MiB |
+-----------------------------------------------------------------------------+ 

我对此有两个问题。为什么CUDA_OUT_OF_MEMORY出来后程序正常进行吗?为什么评论后内存占用变小了allow_growth = True.


如果它仍然与某人相关,我在第一次运行中止后尝试第二次运行 Keras/Tensorflow 时遇到了这个问题。看来GPU内存仍然被分配,因此不能再次分配。通过手动结束所有使用 GPU 的 python 进程,或者关闭现有终端并在新终端窗口中再次运行,解决了这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

张量流中的CUDA_ERROR_OUT_OF_MEMORY 的相关文章

随机推荐

  • 自动刷新令牌并添加新的用户安全组 Azure AD

    我有一个简单的 ASP Net Web APP 使用 Azure AD 和角色 声明身份验证 授权 基本上 应用程序会检查用户的 IsinRole 然后根据返回的内容 他可以访问网络应用程序的区域 我们在 Azure AD 中使用安全组 这
  • 如何自动从“云”服务器发送打印作业到打印机?

    一张图片应该值 1000 个字 所以让我们看看这是否可以缩短这篇文章的长度 本质上 我正在研究 如何 编写一个在云中的 Web 服务器上运行的解决方案将向办公室 1 内的打印机 标签打印机 发送打印命令 打印作业实际上是 ASP NET W
  • CloudFront -> S3 用于静态或 API 网关,在 ECS 中具有多个动态后端

    我需要为站点实现反向代理 重定向服务 该服务将托管在 AWS S3 静态 JS 资产 CloudFront 中 并且多个后端作为不同的任务运行 AWS ECS 位于domain com api session number重定向或反向代理服
  • 如何将 JLabel.getIcon() 转换为 BufferedImage

    我有一个仅包含一个图标的 JLabel 我可以使用 label1 getIcon 获取该图标 但我不知道如何将该图标转换为 BufferedImage 仅供参考 我不是在谈论 ImageIcon 只是在谈论 Icon 另外 我也看到过这个问
  • 在数据库列中存储分隔列表真的那么糟糕吗?

    想象一个带有一组复选框的 Web 表单 可以选择其中任何一个或全部 我选择将它们保存在存储在数据库表的一列中的逗号分隔值列表中 现在 我知道正确的解决方案是创建第二个表并正确规范化数据库 实现简单的解决方案速度更快 我希望快速获得该应用程序
  • 如何获取 EnvDte.ActiveDocument 的 IWpfTextView?

    我正在尝试操纵 Visual Studio 文本编辑器滚动条值 问题是我只有 dte ActiveDocument 并且无法从那里执行此操作 当 VS 启动并且我捕获 dte Events CommandEvents 时 我的扩展仅加载一次
  • Angularjs 'FileConstructor 不是构造函数'

    问题 错误 FileConstructor 不是构造函数 评估 new 文件 blob 文件名 png 我看到这个问题Safari 的 File 构造函数的替代方案 https stackoverflow com questions 338
  • 返回 pandas DF 列,其中包含索引和今天日期之间经过的天数

    我有一个以日期作为索引的 dF 我想添加一个新列 delta 它显示索引中的日期与今天的日期之间的天数 I have dF today 2015 01 30 dF today pd to datetime dF today dF tvalu
  • mongodb如何从集合中获取最大值

    我有一个 mongodb 集合 例如 db kids find results name tom age 10 name alice age 12 我需要一个查询来从此集合中获取 MAX age 就像 SQL 中一样 SELECT MAX
  • 快速检查长整型是否为立方体的方法(Java 中)

    我正在编写一个程序 其中需要检查某些大数 立方体的排列 是否是三次方 对于某些n等于n 3 目前我只是使用该方法 static boolean isCube long input double cubeRoot Math pow input
  • 是否可以通过 RDCOM 发送可视化结果?

    我对 R 编程相对较新 并且已经开展了一个小项目来向 R 世界介绍自己 我想做的是帮助我的一位同事自动化他每周都会执行的手动电子邮件流程 该电子邮件包含用 Excel 创建的图表 DOW 指数价格 我们公司的股票价格以及他每周手动更新的一些
  • 使用 Sed 将旧时间戳替换为当前时间戳

    我想使用 Sed 在 template php 文件中查找 JS 文件名称的 unix 时间戳部分 并将其替换为当前时间戳 旧时间戳会有所不同 因此我需要一个正则表达式来匹配数字 这是我到目前为止所拥有的 TimPeterson curre
  • C# 中修饰符的顺序有约定吗?

    如果我要使用多个修饰符关键字 我应该按什么顺序使用 例如 public private protected virtual abstract override new static internal sealed 以及我忘记的任何其他人 我
  • 为什么 OpenXML 读取行两次

    我计算两个工作表中的行数 如下所示 foreach WorksheetPart worksheetPart in workbookPart WorksheetParts OpenXmlPartReader reader new OpenXm
  • 当 selectedItem 为 null 时,在 Combobox 中显示“选择一项”

    我有一个绑定到 viewModel 对象列表的 WPF 组合框 最初 SelectedItem 为空 因此组合框显示为空白 当所选项目为空时 我希望组合框显示 选择项目 以引导用户从组合框中选择某些内容 有点像这样 一些文本框包含灰色文本
  • Flexbox 中的行换行中心对齐

    目前 我正在尝试使用 Flexbox 将列居中 但当我调整浏览器大小时 它会粘在左侧 我尝试过调整内容中心和对齐项目中心 但我可能没有将它们放在正确的位置 如果有人知道如何解决这个问题 将不胜感激 谢谢你 wrap display flex
  • 无法完成交付

    我在尝试完成已发布的交付时收到以下错误 我可以从目标网站做些什么吗 cleartool Error Unable to check out vobs amit sumit lost found pcs i ltf odfc set sftp
  • 如何使用 javaparser 获取类级别变量声明?

    我只想获取类级别的变量声明 如何使用 javaparser 获取声明 public class Login private Keyword browser private String pageTitle Login 使用javaparse
  • 为 GridView 添加捏缩放功能

    我需要为该 gridview 添加捏缩放 我没有找到任何有关在 gridview 中添加捏缩放的示例 到目前为止 我的布局如下所示 我需要向该 gridview 添加捏缩放 活动 main xml
  • 张量流中的CUDA_ERROR_OUT_OF_MEMORY

    当我开始训练一些神经网络时 它满足了CUDA ERROR OUT OF MEMORY但训练可以继续进行 不会出现错误 因为我想根据实际需要使用GPU内存 所以我设置了gpu options allow growth True 日志如下 I