[英]Error in importing Keras with tensorflow-gpu backend (can't find libcublas.so.10.0)
I'm trying to run a library included in Keras, given that it's very power-consuming I'd like to use tensorflow-gpu as a backend. 我正在尝试运行Keras中包含的库,因为它非常耗电我想使用tensorflow-gpu作为后端。 During import, I get this ImportError
在导入期间,我得到了这个ImportError
Using TensorFlow backend.
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
~/.conda/envs/tensorflow/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow.py in <module>
57
---> 58 from tensorflow.python.pywrap_tensorflow_internal import *
59 from tensorflow.python.pywrap_tensorflow_internal import __version__
~/.conda/envs/tensorflow/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py in <module>
27 return _mod
---> 28 _pywrap_tensorflow_internal = swig_import_helper()
29 del swig_import_helper
~/.conda/envs/tensorflow/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py in swig_import_helper()
23 try:
---> 24 _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
25 finally:
~/.conda/envs/tensorflow/lib/python3.7/imp.py in load_module(name, file, filename, details)
241 else:
--> 242 return load_dynamic(name, filename, file)
243 elif type_ == PKG_DIRECTORY:
~/.conda/envs/tensorflow/lib/python3.7/imp.py in load_dynamic(name, path, file)
341 name=name, loader=loader, origin=path)
--> 342 return _load(spec)
343
ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
ImportError Traceback (most recent call last)
<ipython-input-11-bbde2f34164a> in <module>
2 from torch.optim import Adam
3 from torch.utils.data import TensorDataset, DataLoader, RandomSampler, SequentialSampler
----> 4 from keras.preprocessing.sequence import pad_sequences
5 from sklearn.model_selection import train_test_split
6 from pytorch_pretrained_bert import BertTokenizer, BertConfig
~/.conda/envs/tensorflow/lib/python3.7/site-packages/keras/__init__.py in <module>
1 from __future__ import absolute_import
2
----> 3 from . import utils
4 from . import activations
5 from . import applications
~/.conda/envs/tensorflow/lib/python3.7/site-packages/keras/utils/__init__.py in <module>
4 from . import data_utils
5 from . import io_utils
----> 6 from . import conv_utils
7
8 # Globally-importable utils.
~/.conda/envs/tensorflow/lib/python3.7/site-packages/keras/utils/conv_utils.py in <module>
7 from six.moves import range
8 import numpy as np
----> 9 from .. import backend as K
10
11
~/.conda/envs/tensorflow/lib/python3.7/site-packages/keras/backend/__init__.py in <module>
87 elif _BACKEND == 'tensorflow':
88 sys.stderr.write('Using TensorFlow backend.\n')
---> 89 from .tensorflow_backend import *
90 else:
91 # Try and load external backend.
~/.conda/envs/tensorflow/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py in <module>
3 from __future__ import print_function
4
----> 5 import tensorflow as tf
6 from tensorflow.python.framework import ops as tf_ops
7 from tensorflow.python.training import moving_averages
~/.conda/envs/tensorflow/lib/python3.7/site-packages/tensorflow/__init__.py in <module>
22
23 # pylint: disable=g-bad-import-order
---> 24 from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
25
26 from tensorflow._api.v1 import app
~/.conda/envs/tensorflow/lib/python3.7/site-packages/tensorflow/python/__init__.py in <module>
47 import numpy as np
48
---> 49 from tensorflow.python import pywrap_tensorflow
50
51 # Protocol buffers
~/.conda/envs/tensorflow/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow.py in <module>
72 for some common reasons and solutions. Include the entire stack trace
73 above this error message when asking for help.""" % traceback.format_exc()
---> 74 raise ImportError(msg)
75
76 # pylint: enable=wildcard-import,g-import-not-at-top,unused-import,line-too-long
ImportError: Traceback (most recent call last):
File "/home/canniz/.conda/envs/tensorflow/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "/home/canniz/.conda/envs/tensorflow/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "/home/canniz/.conda/envs/tensorflow/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "/home/canniz/.conda/envs/tensorflow/lib/python3.7/imp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "/home/canniz/.conda/envs/tensorflow/lib/python3.7/imp.py", line 342, in load_dynamic
return _load(spec)
ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory
Failed to load the native TensorFlow runtime.
I see here --> ImportError: libcublas.so.10.0: cannot open shared object file: No such file or director that the problem could be an incompatible version of CUDA with tensorflow GPU. 我在这里看到了 - > ImportError:libcublas.so.10.0:无法打开共享对象文件:没有这样的文件或导演 ,问题可能是具有tensorflow GPU的CUDA的不兼容版本。
So now my problem is the following: 所以现在我的问题如下:
Tensorflow GPU version is 1.13 Tensorflow GPU版本为1.13
I have installed CUDA 10.0 (following the instructions of compatibility) and the relative Cudnn in fact what I get from nvcc --version
is `nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2018 NVIDIA Corporation Built on Sat_Aug_25_21:08:01_CDT_2018 Cuda compilation tools, release 10.0, V10.0.130 我已经安装了CUDA 10.0(按照兼容性说明)和相关的Cudnn实际上我从
nvcc --version
获得的nvcc --version
是`nvcc:NVIDIA(R)Cuda编译器驱动程序版权所有(c)2005-2018 NVIDIA Corporation建立在Sat_Aug_25_21上: 08:01_CDT_2018 Cuda编译工具,10.0版,V10.0.130
I installed Nvidia drivers running sudo apt-get install nvidia-driver-430
(which should be the right version for my Nvidia-GeForce-930mX) 我安装了运行
sudo apt-get install nvidia-driver-430
Nvidia驱动sudo apt-get install nvidia-driver-430
(这应该是我的Nvidia-GeForce-930mX的正确版本)
As you can see, the CUDA version is 10.2. 如您所见,CUDA版本为10.2。 How is it possible?
这怎么可能? Is it possible that installing Nvidia drivers, it automatically set CUDA driver to 10.2 and then I manually installed CUDA toolkit 10.0 so now Tensorflow (or more specifically Keras, using tf backend) looks at the CUDA DRIVER version?
是否有可能安装Nvidia驱动程序,它自动将CUDA驱动程序设置为10.2然后我手动安装CUDA工具包10.0所以现在Tensorflow(或更具体地说是Keras,使用tf后端)查看CUDA DRIVER版本?
What could I do? 我能做什么? Downgrade Nvidia drivers?
降级Nvidia司机? Is it safe?
安全吗? Is it possible to downgrade only CUDA DRIVERS?
是否有可能降级CUDA DRIVERS?
You can try to uninstall tensorflow with : 您可以尝试使用以下命令卸载tensorflow:
pip uninstall tensorflow-gpu
and install an older version of it : 并安装它的旧版本:
pip install tensorflow-gpu==1.12.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.