Google Colab RuntimeError:cuDNN错误:CUDNN_STATUS_NOT_INITIALIZED

时间:2019-12-03 14:35:04

标签: python google-colaboratory

昨天和今天运行与过去几个月运行的Python笔记本相同的Python笔记本,但出现错误

/usr/local/lib/python3.6/dist-packages/torch/autograd/__init__.py in backward(tensors, grad_tensors, retain_graph, create_graph, grad_variables)
 97     Variable._execution_engine.run_backward(
 98         tensors, grad_tensors, retain_graph, create_graph,
 ---> 99         allow_unreachable=True)  # allow_unreachable flag
100 
101 

RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

在代码中此错误似乎是随机的,因为它从尝试更改为错误。根据我的搜索,这似乎是兼容性问题。

此外,如果我重新运行单元格,我可能会遇到另一个错误,

/usr/local/lib/python3.6/dist-packages/torch/utils/data/dataloader.py in __next__(self)
346         data = self._dataset_fetcher.fetch(index)  # may raise StopIteration
347         if self._pin_memory:
--> 348             data = _utils.pin_memory.pin_memory(data)
349         return data
350 

/usr/local/lib/python3.6/dist-packages/torch/utils/data/_utils/pin_memory.py in pin_memory(data)
 53         return type(data)(*(pin_memory(sample) for sample in data))
 54     elif isinstance(data, container_abcs.Sequence):
 ---> 55         return [pin_memory(sample) for sample in data]
 56     elif hasattr(data, "pin_memory"):
 57         return data.pin_memory()

 /usr/local/lib/python3.6/dist-packages/torch/utils/data/_utils/pin_memory.py in <listcomp>(.0)
 53         return type(data)(*(pin_memory(sample) for sample in data))
 54     elif isinstance(data, container_abcs.Sequence):
 ---> 55         return [pin_memory(sample) for sample in data]
 56     elif hasattr(data, "pin_memory"):
 57         return data.pin_memory()

 /usr/local/lib/python3.6/dist-packages/torch/utils/data/_utils /pin_memory.py in pin_memory(data)
 45 def pin_memory(data):
 46     if isinstance(data, torch.Tensor):
 ---> 47         return data.pin_memory()
 48     elif isinstance(data, string_classes):
 49         return data

 RuntimeError: cuda runtime error (700) : an illegal memory access was encountered at /pytorch/aten/src/THC/THCCachingHostAllocator.cpp:278

其他人也有同样的问题吗?有人解决了吗?

1 个答案:

答案 0 :(得分:1)

最后,我解决了这个问题。

  1. 在我的代码中的某些地方,我使用了一个CrossEntropyLoss函数,该函数的ignore_index参数为ignore_index = my_ignore_index。错误的是,我的my_ignore_index = -1作为值,它对于我的数据而言不是有效值; -1从不出现在我的数据值中。更新正确解决了该问题。这解决了“ ...非法内存访问被确保...”错误。

  2. 我做过并帮助解决的另一件事是使用了较新版本的anaconda3。这解决了“ CUDNN_STATUS_NOT_INITIALIZED”错误。

我希望有帮助。