使用Pytorch和TensorFlow时的CUDNN_STATUS_INTERNAL_ERROR

时间:2018-05-14 11:10:46

标签: tensorflow pytorch

我正在运行一个程序来处理一些数据,我推断了TensorFlow模型和Pytorch模型。

在推断任何一个模型时,一切正常。但是,当我添加pytorch输入时,我的程序崩溃了这个错误:

2018-05-14 12:55:05.525251: E tensorflow/stream_executor/cuda/cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2018-05-14 12:55:05.525280: F tensorflow/core/kernels/conv_ops.cc:717] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms) 

请注意,在我使用Pytorch做任何事情之前,这已经发生了。没有加载任何模型,GPU上没有任何模型,也没有检查任何设备。

有谁知道可能出现的问题,如何修复它,如果有一些参数我可以改变?

我已经尝试过的东西是使用以下代码禁用PyTorch后端:

import torch.backends.cudnn as cudnn
cudnn.enabled = False

但不幸的是,这没有帮助......

1 个答案:

答案 0 :(得分:0)

您将在NVIDIA论坛中找到cuBLAS的一些参考资料,这些参考资料不能同时与多个与之交互的Python进程配合使用。此问题在Tensorflow已有1年的历史了,但对于通过CUDA和cuBLAS与GPU交互的任何多PyTorch客户端应用程序,则应相同。 cuBLAS句柄未正确初始化,某种程度上是由于与磁盘缓存和RAM利用率过高有关的各种问题混合在一起的。 解决方案都是删除cuBLAS的磁盘缓存,

sudo rm -rf ~/.nv

并限制网络的内存使用量。