Python PyTorch&x2B;CUDA 7.5错误

Python PyTorch&x2B;CUDA 7.5错误,python,python-2.7,pytorch,Python,Python 2.7,Pytorch,我可以非sudo访问安装了NVIDIA GPU和CUDA 7.5的机器。我安装了带有CUDA 7.5支持的PyTorch,这似乎很有效: >>> import torch >>> torch.cuda.is_available() True 为了练习,我跟着。当我设置USE\u CUDA=False并使用CPU时,一切都很正常。但是,当我想使用GPU时,USE_CUDA=True会出现以下错误: Traceback (most recent call las

我可以非sudo访问安装了NVIDIA GPU和CUDA 7.5的机器。我安装了带有CUDA 7.5支持的PyTorch,这似乎很有效:

>>> import torch
>>> torch.cuda.is_available()
True
为了练习,我跟着。当我设置
USE\u CUDA=False
并使用CPU时,一切都很正常。但是,当我想使用GPU时,
USE_CUDA=True
会出现以下错误:

Traceback (most recent call last):
  ...
  File "seq2seq.py", line 229, in train
    encoder_output, encoder_hidden = encoder(input_variable[ei], encoder_hidden)
  File "/.../python2.7/site-packages/torch/nn/modules/module.py", line 206, in __call__
    result = self.forward(*input, **kwargs)
  File "seq2seq.py", line 144, in forward
    output, hidden = self.gru(embedded, hidden)
  File "/.../python2.7/site-packages/torch/nn/modules/module.py", line 206, in __call__
    result = self.forward(*input, **kwargs)
  File "/.../python2.7/site-packages/torch/nn/modules/rnn.py", line 91, in forward
    output, hidden = func(input, self.all_weights, hx)
  ...  
  File "/.../python2.7/site-packages/torch/backends/cudnn/rnn.py", line 42, in init_rnn_descriptor
    cudnn.DropoutDescriptor(handle, dropout_p, fn.dropout_seed)
  File "/usr/lib/python2.7/ctypes/__init__.py", line 383, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: python: undefined symbol: cudnnCreateDropoutDescriptor
Exception AttributeError: 'python: undefined symbol: cudnnDestroyDropoutDescriptor' in <bound method DropoutDescriptor.__del__ of <torch.backends.cudnn.DropoutDescriptor object at 0x7fe540efec10>> ignored
回溯(最近一次呼叫最后一次):
...
列车中第229行的文件“seq2seq.py”
编码器输出,编码器隐藏=编码器(输入变量[ei],编码器隐藏)
文件“/…/python2.7/site packages/torch/nn/modules/module.py”,第206行,在调用中__
结果=自我转发(*输入,**kwargs)
文件“seq2seq.py”,第144行,向前
输出,隐藏=self.gru(嵌入式,隐藏)
文件“/…/python2.7/site packages/torch/nn/modules/module.py”,第206行,在调用中__
结果=自我转发(*输入,**kwargs)
文件“/…/python2.7/site packages/torch/nn/modules/rnn.py”,第91行,向前
输出,隐藏=func(输入,自身所有权重,hx)
...  
文件“/…/python2.7/site packages/torch/backends/cudnn/rnn.py”,第42行,在init\u rnn\u描述符中
cudnn.DropoutDescriptor(句柄、dropout\u p、fn.dropout\u种子)
文件“/usr/lib/python2.7/ctypes/_init__uuu.py”,第383行,在_getitem中__
func=self.\u FuncPtr((名称或顺序,self))
AttributeError:python:未定义符号:cudncreateDropoutDescriptor
异常AttributeError:忽略中的“python:未定义的符号:cudnedstroderopoutdescriptor”

我试着用谷歌搜索那个错误,但没有得到有意义的结果。因为我是PyTorch和CUDA的新手,我不知道如何从这里开始。完整的设置是Ubuntu 14.04、Python 2.7、CUDA 7.5。

如评论中所述:您的错误是使用过时的CUDNN,可以通过升级解决


安装CUDA、CUDNN和PyTorch的当前版本,您就可以了。

我猜您链接的教程希望CUDNN库的版本比您安装的版本更新。我认为v5或v5.1之前的版本没有该功能。@RobertCrovella是的,这似乎是版本问题!我有机会在安装了CUDA 8.0的机器上运行它,它在那里工作了。