GPU 上的张量流

Posted

技术标签:

【中文标题】GPU 上的张量流【英文标题】:Tensorflow on GPU 【发布时间】:2017-05-10 12:11:44 【问题描述】:

我已经能够在 CPU 上使用 TensorFlow,现在我需要在具有以下规格的 GPU 设备上运行它:

CPU:Intel Xeon(E5-2670) 和 win7 64bit 和 NVIDIA GeForce GTX 980 Ti

正如 TF 主页中所述,我已经为 GPU 安装了 python3.5 和 Tensorflow。当我在这里运行一个测试程序时,当我尝试import Tensorflow 时得到什么:

    (C:\Users\Engine>python
Python 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 16:02:32) [MSC v.1900 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

>>> import tensorflow as tf
Traceback (most recent call last):](url)
  File "C:\Users\Engine\AppData\Local\Programs\Python\Python35\lib\site-pack
ages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_h
elper
    return importlib.import_module(mname)
  File "C:\Users\Engine\AppData\Local\Programs\Python\Python35\lib\importlib
\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 666, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 577, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 914, in create_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Engine\AppData\Local\Programs\Python\Python35\lib\site-pack
ages\tensorflow\python\pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Users\Engine\AppData\Local\Programs\Python\Python35\lib\site-pack
ages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Users\Engine\AppData\Local\Programs\Python\Python35\lib\site-pack
ages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_h
elper
    return importlib.import_module('_pywrap_tensorflow_internal')
  File "C:\Users\Engine\AppData\Local\Programs\Python\Python35\lib\importlib
\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow_internal'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Engine\AppData\Local\Programs\Python\Python35\lib\site-pack
ages\tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "C:\Users\Engine\AppData\Local\Programs\Python\Python35\lib\site-pack
ages\tensorflow\python\__init__.py", line 51, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "C:\Users\Engine\AppData\Local\Programs\Python\Python35\lib\site-pack
ages\tensorflow\python\pywrap_tensorflow.py", line 52, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "C:\Users\Engine\AppData\Local\Programs\Python\Python35\lib\site-pack
ages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_h
elper
    return importlib.import_module(mname)
  File "C:\Users\Engine\AppData\Local\Programs\Python\Python35\lib\importlib
\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 666, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 577, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 914, in create_module
  File "<frozen importlib._bootstrap>", line 22

2, in _call_with_frames_removed
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Engine\AppData\Local\Programs\Python\Python35\lib\site-pack
ages\tensorflow\python\pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Users\Engine\AppData\Local\Programs\Python\Python35\lib\site-pack
ages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Users\Engine\AppData\Local\Programs\Python\Python35\lib\site-pack
ages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_h
elper
    return importlib.import_module('_pywrap_tensorflow_internal')
  File "C:\Users\Engine\AppData\Local\Programs\Python\Python35\lib\importlib
\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow_internal'


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/install_sources#common_installation_probl
ems

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

有没有人提示如何解决这个问题?

【问题讨论】:

从 TF git 文件夹之外的另一个文件夹导入。你看到这个帖子了吗? ***.com/questions/35953210/… @hars 感谢您的回复,我是从 d: drive 开始 TF,所以我不认为该错误具有相同的原因! ***.com/questions/42011070/… @hars 感谢您的评论。第二个问题由于某种原因解决了这个问题,cuDNN5.1 工作正常,如果你把它作为答案,我会接受。 Cannot import Tensorflow for GPU on Windows 10的可能重复 【参考方案1】:
    CUDNN 可能是原因之一。 cuDNN v6.0 不适用于许多人。尝试使用 cuDNN v5.1。 从 GIT 文件夹中导入也是原因之一。

很高兴知道 1 对您有用。

【讨论】:

以上是关于GPU 上的张量流的主要内容,如果未能解决你的问题,请参考以下文章

使用张量流矩阵乘法测试 GPU

为 GPU 编译张量流示例自定义操作

张量流的 XLA_GPU 和 XLA_CPU 是啥

如何安装张量流显卡?

分配器(GPU_0_bfc)在使用纯张量流时尝试分配内存不足,而在 keras 上更复杂的模型上没有错误

如何在 Torch 的 GPU 上将张量的元素限制/舍入到小数点后 4 位?