- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 GPU 上训练 PyTorch 模型几个小时后,程序失败并显示错误
RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR
nn.LSTM
与 nn.Linear
输出 state
传入forward()
有形状(32, 20, 15)
,其中 32
是批量大小 torch.manual_seed(0)
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False
np.random.seed(0)
torch.backends.cudnn...
线路不起作用。
CUDNN_STATUS_INTERNAL_ERROR
仍然发生,但在第 300 集左右(585,000 步)要早得多。
torch.manual_seed(0)
#torch.backends.cudnn.deterministic = True
#torch.backends.cudnn.benchmark = False
np.random.seed(0)
RuntimeError Traceback (most recent call last)
<ipython-input-18-f5bbb4fdfda5> in <module>
57
58 while not done:
---> 59 action = agent.choose_action(state)
60 state_, reward, done, info = env.step(action)
61 score += reward
<ipython-input-11-5ad4dd57b5ad> in choose_action(self, state)
58 if np.random.random() > self.epsilon:
59 state = T.tensor([state], dtype=T.float).to(self.q_eval.device)
---> 60 actions = self.q_eval.forward(state)
61 action = T.argmax(actions).item()
62 else:
<ipython-input-10-94271a92f66e> in forward(self, state)
20
21 def forward(self, state):
---> 22 lstm, hidden = self.lstm(state)
23 actions = self.fc1(lstm[:,-1:].squeeze(1))
24 return actions
~\AppData\Local\Continuum\anaconda3\envs\rl\lib\site-packages\torch\nn\modules\module.py in __call__(self, *input, **kwargs)
575 result = self._slow_forward(*input, **kwargs)
576 else:
--> 577 result = self.forward(*input, **kwargs)
578 for hook in self._forward_hooks.values():
579 hook_result = hook(self, input, result)
~\AppData\Local\Continuum\anaconda3\envs\rl\lib\site-packages\torch\nn\modules\rnn.py in forward(self, input, hx)
571 self.check_forward_args(input, hx, batch_sizes)
572 if batch_sizes is None:
--> 573 result = _VF.lstm(input, hx, self._flat_weights, self.bias, self.num_layers,
574 self.dropout, self.training, self.bidirectional, self.batch_first)
575 else:
RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR
try... except
在我的代码中,除了
RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR
,我们还得到了错误
RuntimeError: CUDA error: unspecified launch failure
的第二个回溯
During handling of the above exception, another exception occurred:
RuntimeError Traceback (most recent call last)
<ipython-input-4-e8f15cc8cf4f> in <module>
61
62 while not done:
---> 63 action = agent.choose_action(state)
64 state_, reward, done, info = env.step(action)
65 score += reward
<ipython-input-3-1aae79080e99> in choose_action(self, state)
58 if np.random.random() > self.epsilon:
59 state = T.tensor([state], dtype=T.float).to(self.q_eval.device)
---> 60 actions = self.q_eval.forward(state)
61 action = T.argmax(actions).item()
62 else:
<ipython-input-2-6d22bb632c4c> in forward(self, state)
25 except Exception as e:
26 print('error in forward() with state:', state.shape, 'exception:', e)
---> 27 print('state:', state)
28 actions = self.fc1(lstm[:,-1:].squeeze(1))
29 return actions
~\AppData\Local\Continuum\anaconda3\envs\rl\lib\site-packages\torch\tensor.py in __repr__(self)
152 def __repr__(self):
153 # All strings are unicode in Python 3.
--> 154 return torch._tensor_str._str(self)
155
156 def backward(self, gradient=None, retain_graph=None, create_graph=False):
~\AppData\Local\Continuum\anaconda3\envs\rl\lib\site-packages\torch\_tensor_str.py in _str(self)
331 tensor_str = _tensor_str(self.to_dense(), indent)
332 else:
--> 333 tensor_str = _tensor_str(self, indent)
334
335 if self.layout != torch.strided:
~\AppData\Local\Continuum\anaconda3\envs\rl\lib\site-packages\torch\_tensor_str.py in _tensor_str(self, indent)
227 if self.dtype is torch.float16 or self.dtype is torch.bfloat16:
228 self = self.float()
--> 229 formatter = _Formatter(get_summarized_data(self) if summarize else self)
230 return _tensor_str_with_formatter(self, indent, formatter, summarize)
231
~\AppData\Local\Continuum\anaconda3\envs\rl\lib\site-packages\torch\_tensor_str.py in __init__(self, tensor)
99
100 else:
--> 101 nonzero_finite_vals = torch.masked_select(tensor_view, torch.isfinite(tensor_view) & tensor_view.ne(0))
102
103 if nonzero_finite_vals.numel() == 0:
RuntimeError: CUDA error: unspecified launch failure
最佳答案
错误 RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR
众所周知,它很难调试,但令人惊讶的是,它常常是内存不足的问题。通常,您会遇到内存不足错误,但取决于它发生的位置,PyTorch 无法拦截该错误,因此无法提供有意义的错误消息。
在您的情况下似乎可能存在内存问题,因为在代理完成之前您正在使用 while 循环,这可能需要足够长的时间来耗尽内存,这只是时间问题。一旦模型的参数与某个输入相结合无法及时完成,这也可能发生得相当晚。
您可以通过限制允许的操作数量来避免这种情况,而不是希望参与者在合理的时间内完成。
您还需要注意的是,不要占用不必要的内存。一个常见的错误是在 future 的迭代中保留过去状态的计算梯度。上次迭代的状态应该被认为是恒定的,因为当前的 Action 不应该影响过去的 Action ,因此不需要梯度。这通常是通过从下一次迭代的计算图中分离状态来实现的,例如state = state_.detach()
.也许您已经在这样做了,但是没有代码就无法分辨。
同样,如果您保留状态的历史记录,则应该分离它们,更重要的是将它们放在 CPU 上,即 history.append(state.detach().cpu())
.
关于python - PyTorch 模型训练 : RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62067849/
在 Ubuntu 16.04 上按照标准命令安装 Lua 和其他依赖项: conda install lua=5.2 lua-science -c alexbw 我在行中遇到错误: require '
我正在尝试在 python 3 中创建机器学习。但后来我试图编译我的代码,我在 Cuda 10.0/cuDNN 7.5.0 中遇到了这个错误,有人可以帮我解决这个问题吗? RTX 2080 我在:喀拉
我在安装了 CUDA 7.5 并正常工作的 Ubuntu 系统上使用 Python 和 IDE Pycharm。 我刚刚将 CUDNN 文件与我的常规 CUDA 安装合并。 现在,当我从 Tensor
我正在尝试配置 theano 以在我的 Windows 机器上使用 gpu。我已经将 .theanorc 设置为使用 device= gpu 但是当我运行一些应该使用 gpu 的代码时,我收到以下错误
当我为Windows编译caffe(64位,发行版,2013年,nvidia 750,opencv 3.1,cuDNN版本5.1)时,出现以下错误 "Error 13 error C1083: Can
我正在尝试理解和调试我的代码。我尝试使用在 GPU 上的 tf2.0/tf.keras 下开发的 CNN 模型进行预测,但得到了那些错误消息。 有人可以帮我修吗? 这是我的环境配置 enviromen
我现在在 C++ 中使用 Cuda 有一段时间了,我想试试 cuDNN。我想直接使用 C++,但我大多只能找到基于不同平台(如 Caffè 或 TensorFlow)的示例和教程。这是否意味着我不能在
我不确定这是否是这个问题的正确堆栈交换,但这里是。 我已经安装了最新的 CUDA 驱动程序和 Tensorflow 1.14,但是当我尝试训练卷积层时,Tensorflow 说它找不到实现,因为它无法
我需要找到有关提供给 cudnnConvolutionForward、cudnnConvolutionBackwardData、cudnnConvolutionBackwardFilter 函数系列的
我在尝试运行前馈 torch.nn.Conv2d 时收到此消息,得到以下堆栈跟踪: ----------------------------------------------------------
我正在尝试加载 NSynth 权重,我正在使用 tf 版本 1.7.0 from magenta.models.nsynth import utils from magenta.models.nsyn
我搜索了很多地方,但我得到的只是如何安装它,而不是如何验证它是否已安装。我可以验证我的 NVIDIA 驱动程序是否已安装,并且 CUDA 是否已安装,但我不知道如何验证 CuDNN 是否已安装。非常感
库德恩:https://developer.nvidia.com/cudnn 我登录并完成 NVIDIA 希望您完成的所有任务;然而,当需要下载文件时,我似乎不知道如何通过 wget 和命令行来完成它
我编写了一个简单的应用程序来测试 cudnn rnn api 并检查我的理解是否正确; 代码是这样的, int layernum = 1; int batchnum = 32; int hiddenS
CuDNN 安装程序似乎在查找错误版本的 CUDA。我究竟做错了什么?完整的故事: Ubuntu 16.04 安装了两个版本的 CUDA,9.0 和 9.1。/usr/lib/cuda 链接到 9.1
我有以下基于 Theano example 的代码: from theano import function, config, shared, sandbox import theano.tensor
我在Windows机器(Win10 Pro 64位,i7-7700,8GB内存,GTX-1060-6GB)中使用cupy和Spyder3.3.6和Python 3.7.5。 cupy、chainer、
我正在运行example Keras 的 kaggle_otto_nn.py,后端为 theano。 在下面的打印输出中,第 5 行,有这样的内容: CNMeM is enabled with ini
cuDNN 安装手册说 ALL PLATFORMS Extract the cuDNN archive to a directory of your choice, referred to below
我正在使用 ubuntu 20.04 并安装了 anaconda。根据this instruction ,我通过 conda create -n tf tensorflow-gpu 创建一个环境 在安
我是一名优秀的程序员,十分优秀!