解决问题的小可爱

关于cuda runtime error 的解决方案:

自己写的程序遇到了如下错误:
“RuntimeError: cuda runtime error (2) : out of memory at d:\downloads\pytorch-master-1\torch\lib\thc\generic/THCStorage.cu:66”

cuda有一定的运行时间限制,超过一定的时间就认为超时报错。
这里提供一些解决方案:

  1. 增加cuda的超时时间。
    1. 打开注册表 cmd->regedit
    2. 打开 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers
    3. 增加两个项目 右键->新建->DWORD(32位)
      名称:TdrDelay 类型:REG_DWORD 数据 0x00000040(64)
      名称:TdrLevel 类型:REG_DWORD 数据 0x00000006(6)
    4. 重启计算机就ok啦
  2. 减少load数据的时间。
    可能load的时间也被算进去了,我的数据很大的时候Memory显示100%,卡住了.
    于是提前写一个数据处理脚本,提前将数据写入csv,要用的时候直接拿取就好了。

  3. 减少数据/减少计算量
    可以推算一下网络需要的参数个数,每个占4Bytes.
    需要存储的参数个数*4Byte/(1024^3)
    算出来就是你需要多少G的存储空间了。
    查看一下你的GPU可以容纳多少空间,看看是不是真的超了。超了的话只好减少数据/简化网络结构从而减少计算量了。

2 comments

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注