简体   繁体   English

Keras 在使用 TensorFlow-gpu 时出错

[英]Keras getting an error when using TensorFlow-gpu

I'm trying to run Keras with TensorFlow as a backend, but I want to run it on my GPU.我正在尝试使用 TensorFlow 作为后端运行 Keras,但我想在我的 GPU 上运行它。 I installed TensorFlow-gpu, CUDA 8.0, and cuDNN, but Keras gets the following error:我安装了 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.

I only have the gpu version of tensorflow installed, and I've double-checked my gpu driver is up-to-date.我只安装了 tensorflow 的 gpu 版本,并且我已经仔细检查了我的 gpu 驱动程序是否是最新的。 I searched around for a few hours, but couldn't find any solutions to an issue like this.我搜索了几个小时,但找不到任何解决此类问题的方法。

Just to answer this, tensorflow currently on version 1.3 doesn't support cuDNN 7, but they will in 1.4.只是为了回答这个问题,目前 1.3 版的 tensorflow 不支持 cuDNN 7,但它们会在 1.4 版中支持。

If you ever have this problem again, make sure to check the official documentation on which exact version of Cuda and CuDNN to use with your version of tensorflow.如果您再次遇到此问题,请务必查看官方文档,了解与您的 tensorflow 版本一起使用的 Cuda 和 CuDNN 的确切版本。

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

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