无法导入gpu版本的Tensorflow

时间:2020-02-28 08:44:54

标签: python tensorflow nvidia

我无法使用tensorflow,因为在尝试导入tensorflow时收到以下错误消息:

2020-02-28 09:31:24.742077: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_100.dll'; dlerror: cudart64_100.dll not found
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3.3\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Maximal\Documents\Python\PyCharm\Projekt1\venv\lib\site-packages\tensorflow\__init__.py", line 98, in <module>
    from tensorflow_core import *
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3.3\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Maximal\Documents\Python\PyCharm\Projekt1\venv\lib\site-packages\tensorflow_core\__init__.py", line 40, in <module>
    from tensorflow.python.tools import module_util as _module_util
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3.3\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Maximal\Documents\Python\PyCharm\Projekt1\venv\lib\site-packages\tensorflow\__init__.py", line 50, in __getattr__
    module = self._load()
  File "C:\Users\Maximal\Documents\Python\PyCharm\Projekt1\venv\lib\site-packages\tensorflow\__init__.py", line 44, in _load
    module = _importlib.import_module(self.__name__)
  File "C:\Users\Maximal\AppData\Local\Programs\Python\Python36\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "C:\Users\Maximal\Documents\Python\PyCharm\Projekt1\venv\lib\site-packages\tensorflow_core\python\__init__.py", line 52, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3.3\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Maximal\Documents\Python\PyCharm\Projekt1\venv\lib\site-packages\tensorflow_core\core\framework\graph_pb2.py", line 7, in <module>
    from google.protobuf import descriptor as _descriptor
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3.3\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Maximal\Documents\Python\PyCharm\Projekt1\venv\lib\site-packages\google\protobuf\descriptor.py", line 47, in <module>
    from google.protobuf.pyext import _message
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3.3\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)

我已经安装了Cuda工具包10.0和相应版本的cuDNN以及Visual Studio。刚开始我得到消息:

Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64_101.dll not found

因此,我检查了cuda文件夹,仅找到一个cudart64_100.dll。经过一番研究,我发现cudart_101.dll是cuda工具包10.1版的一部分。因此,我将cuDNN的相应版本安装了10.1。但是现在我收到消息了:

Could not load dynamic library 'cudart64_100.dll'; dlerror: cudart64_100.dll not found

这对我来说毫无意义,而且我没有找到解决此问题的方法。 我使用最新版本的PyCharm,Python 3.6,Tensorflow-gpu 2.0.0和Cuda 10.0和10.1

1 个答案:

答案 0 :(得分:0)

在这一点上,我将完全删除(例如,卸载)两个CUDA软件包(10.0和10.1),因为同时拥有两个CUDA并不是一个好主意。卸载后,请确保检查所有文件夹,以确保没有剩余任何内容。

然后,检查您的NVIDIA驱动程序是否最新。

严格按照Windows的安装说明进行操作。 确保您获得的CuDNN软件包与您安装的CUDA版本兼容。通过this链接安装CuDNN时,它将为您提供一个向导,您可以在其中为不同的CUDA版本选择不同的CuDNN版本。为版本10.1选择一个,并将cudnn64_7.dllcudnn.hcudnn.lib分别放在CUDA安装目录的右侧文件夹中。

然后,我将继续创建一个新的conda环境,例如

conda create --name DeepLearning3.6 python=3.6 tensorflow-gpu numpy scipy pandas scikit-learn pandas

可以(或者您可能需要的其他软件包,我通常以它们为起点,但请确保您的环境至少包括tensorflow-gpu和numpy)。当然,您也可以使用pip和venv,两者都应由您决定。

然后,不要忘记在PyCharm中指向正确的环境(Ctrl + Alt + S,选择正确的项目解释器,在此示例中将其称为DeepLearning3.6)。尝试再次运行该脚本,它现在应该可以运行了。