繁体   English   中英

无法导入 tensorflow 的 gpu 版本

[英]Can't import gpu version of tensorflow

我无法使用 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

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

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

严格按照Windows的安装说明进行操作。 确保您获得与您安装的 CUDA 版本兼容的 CuDNN 包 当您通过链接安装 CuDNN 时,它将为您提供一个向导,您可以在其中为不同的 CUDA 版本选择不同的 CuDNN 版本。 选择版本 10.1 的cudnn64_7.dllcudnn.h 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 )。 尝试再次运行脚本,它现在应该可以工作了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM