在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.
以下错误来自哪里?
E tensorflow/core/common_runtime/direct_session.cc:158] Internal: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version
和 tensorflow.python.framework.errors_impl.InternalError:无法创建会话。
这是我的版本:
tensorflow是:1.10
cat /proc/driver/nvidia/version
NVRM版本:NVIDIA UNIX x86_64内核模块390.77 TDT Jul 10 18:28:52 PDT 2018
GCC版本:gcc版本7.3.0(Debian 7.3.0-28)
nvcc --version
nvcc:NVIDIA(R)Cuda编译器驱动程序
版权所有(c)2005-2016 NVIDIA Corporation
基于Sun_Sep__4_22:14:01_CDT_2016
Cuda编译工具,版本8.0,V8.0.44
答案 0 :(得分:2)
在我刚刚解决的情况下,它是将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
添加ppa后,它会显示驱动程序版本的选项,并且390是显示的最新“稳定”版本。
然后安装cuda工具包:
sudo apt install nvidia-cuda-toolkit
然后重新启动:
sudo reboot
它将驱动程序更新为比第一步最初安装的390更新的版本(它是410;这是AWS上的p2.xlarge实例)。
答案 1 :(得分:1)
答案 2 :(得分:0)
此错误的原因是您安装的Cuda Toolkit版本与python软件包cudatoolkit的版本不匹配,该软件包通常作为tensorflow-gpu的依赖项安装。
要解决此问题,您必须首先将tensorflow版本与已安装的Cuda Toolkit版本匹配,如图here
然后,您必须检查cudatoolkit软件包的版本。这必须匹配主要版本和次要版本,例如如果您已安装Cuda Toolkit 9.0且已安装cudatoolkit9_1,则需要通过python降级到cudatoolkit9。
答案 3 :(得分:0)
对于Ubuntu 18.04和Tensorflow 1.13.1
首先确保系统使用了数据:
sudo apt update
sudo apt dist-upgrade
sudo reboot now
安装更高版本的驱动程序:
sudo add-apt-repository ppa:graphics-drivers/ppa
打开软件和更新,然后选择“其他驱动程序”标签:
选择nvidia-driver-396,然后单击“应用更改”
现在重新启动:
sudo reboot now
要验证哪个NVIDIA驱动程序396处于活动状态,请执行以下操作:
nvidia-smi
答案 4 :(得分:0)
只需更新您的nvidia驱动程序,它将解决问题
答案 5 :(得分:0)
同样的问题。解决了更新nvidia驱动程序的问题,因为我正在使用tensorflow 2.1,并且它需要更新的驱动程序。如此,我使用的是390,并通过Ubuntu的软件管理器更新为435。