Tensorflow 2.0 в Windows (SSE2): как остановить «ImportError: Ошибка загрузки DLL: указанный модуль не найден». при импорте тензорного потока

Информация о системе:

  • Windows 10

  • Python 3.6.4 и 3.7.0 ‹ — версия по умолчанию

  • Тензорный поток 1.11.0

  • Конда 4.7.12

  • пункт 19.3.1

Я пытался запустить Tensorflow 2.0 в Windows 10, но мой компьютер не поддерживает набор инструкций AVX/AVX2, поэтому я использовал wheel вместо этого поддерживает SSE2, который я установил с помощью pip.

Затем я попытался запустить код Python из учебника Основная классификация MINST из руководства Tensorflow. Официальный сайт:

from __future__ import absolute_import, division, print_function, unicode_literals

# TensorFlow and tf.keras
import tensorflow as tf
from tensorflow import keras

# Helper libraries
import numpy as np
import matplotlib.pyplot as plt

print(tf.__version__)

Когда я попытался запустить файл, мне выдали эту ошибку:

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

В этом и заключалась вся ошибка (intro.py — это имя файла):

(base) C:\Users\XXX\Desktop\NN\TF\Intro>python intro.py
Traceback (most recent call last):
  File "C:\Users\XXX\Miniconda3\lib\site-packages\tensorflow_core\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Users\XXX\Miniconda3\lib\site-packages\tensorflow_core\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Users\XXX\Miniconda3\lib\site-packages\tensorflow_core\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "C:\Users\XXX\Miniconda3\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "C:\Users\XXX\Miniconda3\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
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 "intro.py", line 4, in <module>
    import tensorflow as tf
  File "C:\Users\XXX\Miniconda3\lib\site-packages\tensorflow\__init__.py", line 98, in <module>
    from tensorflow_core import *
  File "C:\Users\XXX\Miniconda3\lib\site-packages\tensorflow_core\__init__.py", line 40, in <module>
    from tensorflow.python.tools import module_util as _module_util
  File "C:\Users\XXX\Miniconda3\lib\site-packages\tensorflow\__init__.py", line 50, in __getattr__
    module = self._load()
  File "C:\Users\XXX\Miniconda3\lib\site-packages\tensorflow\__init__.py", line 44, in _load
    module = _importlib.import_module(self.__name__)
  File "C:\Users\XXX\Miniconda3\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "C:\Users\XXX\Miniconda3\lib\site-packages\tensorflow_core\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "C:\Users\XXX\Miniconda3\lib\site-packages\tensorflow_core\python\pywrap_tensorflow.py", line 74, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "C:\Users\XXX\Miniconda3\lib\site-packages\tensorflow_core\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Users\XXX\Miniconda3\lib\site-packages\tensorflow_core\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Users\XXX\Miniconda3\lib\site-packages\tensorflow_core\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "C:\Users\XXX\Miniconda3\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "C:\Users\XXX\Miniconda3\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: The specified module could not be found.


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/errors

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

Я попытался и получил ту же ошибку exsct:

  • точка

  • анаконда (миниконда) как в окружающей среде, так и вне ее

У меня нет Cuda или cudNN, так как у меня дрянной процессор и встроенный графический процессор Intel, а это означает, что я не могу использовать tensorflow-gpu. Я также пробовал все вышеупомянутые варианты как на Python 3.6.4, так и на Python 3.7.0, но безрезультатно. Я бы использовал официальную версию, но у меня нет устройств, поддерживающих AVX/AVX2. Если я не смогу решить проблему, я попробую использовать Linux (хотя я уже пробовал и отказался) или перейти на версию, поддерживающую SSE2.


person Zolaxity    schedule 04.01.2020    source источник
comment
Вы используете conda env или какой-нибудь virtualenv? Где вы установили колеса, чтобы получить root права на python или env python?   -  person Geeocode    schedule 04.01.2020
comment
Я использовал conda env и установил колеса на корневой python, удалил его, а затем установил на env python. Оба не работали.   -  person Zolaxity    schedule 04.01.2020
comment
Я понятия не имею, я советую вам попробовать удалить проблему на github tensorflow или попробовать понизить версию.   -  person Geeocode    schedule 04.01.2020


Ответы (1)


У меня была такая же проблема, но она была решена путем установки https://aka.ms/vs/16/release/VC_redist.x64.exe вместо https://www.microsoft.com/en-us/download/details.aspx?id=53587. Может быть, вам нужен более новый распространяемый пакет Microsoft Visual C++?

Если у вас есть другие вопросы, спросите https://github.com/fo40225/tensorflow-windows-wheel/issues.

Tensorflow 2.0 работает на моем Pentium n4200 с использованием https://github.com/fo40225/tensorflow-windows-wheel/tree/master/2.0.0/py37/CPU/sse2.

Возможно, лучше удалить tensorflow1.11.0, а затем установить tensorflow2.0 (SSE2).

Я использую среду Vanilla python (python.org), а не anaconda.

person Kiminasium    schedule 06.01.2020
comment
почему проблема может быть решена путем установки aka.ms/vs/16/release/ VC_redist.x64.exe ? мне непонятно, зачем мне устанавливать Microsoft C++? - person SBad; 22.06.2020