【问题标题】:Keras getting an error when using TensorFlow-gpuKeras 在使用 TensorFlow-gpu 时出现错误
【发布时间】:2017-10-22 00:38:52
【问题描述】:

我正在尝试以 TensorFlow 作为后端来运行 Keras,但我想在我的 GPU 上运行它。我安装了 TensorFlow-gpu、CUDA 8.0 和 cuDNN,但 Keras 得到以下错误:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
c:\python\python36-32\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py in swig_import_helper()
     17         try:
---> 18             return importlib.import_module(mname)
     19         except ImportError:

c:\python\python36-32\lib\importlib\__init__.py in import_module(name, package)
    125             level += 1
--> 126     return _bootstrap._gcd_import(name[level:], package, level)
    127 

c:\python\python36-32\lib\importlib\_bootstrap.py in _gcd_import(name, package, level)

c:\python\python36-32\lib\importlib\_bootstrap.py in _find_and_load(name, import_)

c:\python\python36-32\lib\importlib\_bootstrap.py in _find_and_load_unlocked(name, import_)

c:\python\python36-32\lib\importlib\_bootstrap.py in _load_unlocked(spec)

c:\python\python36-32\lib\importlib\_bootstrap.py in module_from_spec(spec)

c:\python\python36-32\lib\importlib\_bootstrap_external.py in create_module(self, spec)

c:\python\python36-32\lib\importlib\_bootstrap.py in _call_with_frames_removed(f, *args, **kwds)

ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

ModuleNotFoundError                       Traceback (most recent call last)
c:\python\python36-32\lib\site-packages\tensorflow\python\pywrap_tensorflow.py in <module>()
     40     sys.setdlopenflags(_default_dlopen_flags | ctypes.RTLD_GLOBAL)
---> 41   from tensorflow.python.pywrap_tensorflow_internal import *
     42   from tensorflow.python.pywrap_tensorflow_internal import __version__

c:\python\python36-32\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py in <module>()
     20             return importlib.import_module('_pywrap_tensorflow_internal')
---> 21     _pywrap_tensorflow_internal = swig_import_helper()
     22     del swig_import_helper

c:\python\python36-32\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py in swig_import_helper()
     19         except ImportError:
---> 20             return importlib.import_module('_pywrap_tensorflow_internal')
     21     _pywrap_tensorflow_internal = swig_import_helper()

c:\python\python36-32\lib\importlib\__init__.py in import_module(name, package)
    125             level += 1
--> 126     return _bootstrap._gcd_import(name[level:], package, level)
    127 

ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'

During handling of the above exception, another exception occurred:

ImportError                               Traceback (most recent call last)
<ipython-input-2-88d96843a926> in <module>()
----> 1 import keras

c:\python\python36-32\lib\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

c:\python\python36-32\lib\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.

c:\python\python36-32\lib\site-packages\keras\utils\conv_utils.py in <module>()
      1 from six.moves import range
      2 import numpy as np
----> 3 from .. import backend as K
      4 
      5 

c:\python\python36-32\lib\site-packages\keras\backend\__init__.py in <module>()
     81 elif _BACKEND == 'tensorflow':
     82     sys.stderr.write('Using TensorFlow backend.\n')
---> 83     from .tensorflow_backend import *
     84 else:
     85     raise ValueError('Unknown backend: ' + str(_BACKEND))

c:\python\python36-32\lib\site-packages\keras\backend\tensorflow_backend.py in <module>()
----> 1 import tensorflow as tf
      2 from tensorflow.python.training import moving_averages
      3 from tensorflow.python.ops import tensor_array_ops
      4 from tensorflow.python.ops import control_flow_ops
      5 from tensorflow.python.ops import functional_ops

c:\python\python36-32\lib\site-packages\tensorflow\__init__.py in <module>()
     22 
     23 # pylint: disable=wildcard-import
---> 24 from tensorflow.python import *
     25 # pylint: enable=wildcard-import
     26 

c:\python\python36-32\lib\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

c:\python\python36-32\lib\site-packages\tensorflow\python\pywrap_tensorflow.py in <module>()
     50 for some common reasons and solutions.  Include the entire stack trace
     51 above this error message when asking for help.""" % traceback.format_exc()
---> 52   raise ImportError(msg)
     53 
     54 # pylint: enable=wildcard-import,g-import-not-at-top,unused-import,line-too-long

ImportError: Traceback (most recent call last):
  File "c:\python\python36-32\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper
    return importlib.import_module(mname)
  File "c:\python\python36-32\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 658, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 571, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 922, in create_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\python\python36-32\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "c:\python\python36-32\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "c:\python\python36-32\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_helper
    return importlib.import_module('_pywrap_tensorflow_internal')
  File "c:\python\python36-32\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/install_sources#common_installation_problems

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

我只安装了 tensorflow 的 gpu 版本,并且我仔细检查了我的 gpu 驱动程序是最新的。我搜索了几个小时,但找不到任何解决此类问题的方法。

【问题讨论】:

  • 你安装了哪个版本的cuDNN和tensorflow?
  • @JulioDanielReyes 我安装了 cuDNN v7.0.3
  • 看来 tensorflow 支持 cuDNN 6.0 --- 问题:你在使用 jupyter 吗?如果是这样,你有没有创建环境并在这个环境中安装了这个tensorflow?
  • 是的,我正在使用 jupyter notebook,并且 tensorflow 可以在 cpu 版本上运行编辑:我安装了 cuDNN 6.0,现在它可以工作了!
  • 感谢@DanielMöller,这似乎是一个常见问题,对我来说No module named '_pywrap_tensorflow_internal' 意味着安装了错误的gpu 库

标签: python python-3.x tensorflow keras tensorflow-gpu


【解决方案1】:

为了回答这个问题,目前 1.3 版的 tensorflow 不支持 cuDNN 7,但 1.4 版的 they will

如果您再次遇到此问题,请务必检查 official documentation,了解哪个确切版本的 Cuda 和 CuDNN 与您的 tensorflow 版本一起使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 2018-04-14
    • 2019-05-19
    • 2018-08-16
    • 2018-05-07
    • 2020-09-24
    • 2019-10-09
    相关资源
    最近更新 更多