cudaGetDevice()失败。状态:CUDA驱动程序版本不足于CUDA运行时版本

Jos*_*lin 7 cuda python-2.7 tensorflow

当我在GPU中运行tensorflow时出现以下错误。

2018-09-15 18:56:51.011724: E tensorflow/core/common_runtime/direct_session.cc:158] Internal: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version
Traceback (most recent call last):
  File "evaluate_sample.py", line 160, in <module>
    tf.app.run(main)
  File "/anaconda3/envs/tf/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 125, in run
    _sys.exit(main(argv))
  File "evaluate_sample.py", line 123, in main
    with tf.Session() as sess:
  File "/anaconda3/envs/tf/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1494, in __init__
    super(Session, self).__init__(target, graph, config=config)
  File "/anaconda3/envs/tf/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 626, in __init__
    self._session = tf_session.TF_NewSession(self._graph._c_graph, opts)
tensorflow.python.framework.errors_impl.InternalError: Failed to create session.
Run Code Online (Sandbox Code Playgroud)

以下错误是从哪里来的?

E tensorflow/core/common_runtime/direct_session.cc:158] Internal: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version
Run Code Online (Sandbox Code Playgroud)

tensorflow.python.framework.errors_impl.InternalError:创建会话失败

这样的我的版本:

张量流为:1.10

cat /proc/driver/nvidia/version
Run Code Online (Sandbox Code Playgroud)

NVRM版本:NVIDIA UNIX x86_64内核模块390.77 Tue Jul 10 18:28:52 PDT 2018

GCC版本:gcc版本7.3.0(Debian 7.3.0-28)

nvcc --version
Run Code Online (Sandbox Code Playgroud)

nvcc:NVIDIA(R)Cuda编译器驱动程序

版权所有(c)2005-2016 NVIDIA Corporation

建立在Sun_Sep__4_22:14:01_CDT_2016

Cuda编译工具,版本8.0,V8.0.44

小智 8

更新 nvidia 驱动程序解决了这个问题。

您可以在此处检查您的 cuda 工具包兼容性。然后通过从此处下载来更新您的 nvidia 驱动程序。


wor*_*ise 5

在我刚刚解决的案例中,是将GPU驱动程序更新到最新并安装cuda工具包。您的错误告诉您 CUDA 驱动程序版本太旧。我相信我们看到的 nvcc 版本是 7.5,而您有 7.3。

我想你所要做的就是:sudo apt install nvidia-cuda-toolkit然后重新启动。

libcuda.so.1以下是我针对找不到文件的问题所采取的步骤。

首先,添加 ppa 并安装更新的 GPU 驱动程序:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-390
Run Code Online (Sandbox Code Playgroud)

添加 ppa 后,它显示了驱动程序版本的选项,390 是显示的最新“稳定”版本。

然后安装cuda工具包:

sudo apt install nvidia-cuda-toolkit
Run Code Online (Sandbox Code Playgroud)

然后重新启动:

sudo reboot
Run Code Online (Sandbox Code Playgroud)

它将驱动程序更新为比第一步中最初安装的 390 更新的版本(它是 410;这是 AWS 上的 p2.xlarge 实例)。


Usc*_*che 5

这个错误的原因是你安装的Cuda Toolkit版本和python包cudatoolkit的版本不匹配,cudatoolkit通常作为tensorflow-gpu的依赖安装。

为了解决这个问题,你必须先与你安装CUDA工具包版本匹配您的tensorflow版本一样显示在这里

然后你必须检查你的 cudatoolkit 包的版本。这必须匹配主要和次要版本,因此例如,如果您安装了 Cuda Toolkit 9.0 并安装了 cudatoolkit9_1,您需要通过您的 python 降级到 cudatoolkit9。