Почему tensorflow версии 2.5 и выше работает, а 2.4 и ниже нет?

Мне понадобилась использовать более старую версию tensorflow для работы с этим репозиторием, так как там используется версия 2.3, а попробовав использовать последнюю версию 2.6 я получил ошибку при конвертации из tf в tflite. Но установив tensorflow 2.3, и просто импортировав его, я получил вот такой столбик ошибок:

import tensorflow


ImportError                               Traceback (most recent call last)
E:\PitonGandon\lib\site-packages\tensorflow\python\pywrap_tensorflow.py in <module>
     63   try:
---> 64     from tensorflow.python._pywrap_tensorflow_internal import *
     65   # This try catch logic is because there is no bazel equivalent for py_extension.

ImportError: DLL load failed with error code 3221225501 while importing _pywrap_tensorflow_internal

During handling of the above exception, another exception occurred:

ImportError                               Traceback (most recent call last)
<ipython-input-1-d6579f534729> in <module>
----> 1 import tensorflow

E:\PitonGandon\lib\site-packages\tensorflow\__init__.py in <module>
     39 import sys as _sys
     40 
---> 41 from tensorflow.python.tools import module_util as _module_util
     42 from tensorflow.python.util.lazy_loader import LazyLoader as _LazyLoader
     43 

E:\PitonGandon\lib\site-packages\tensorflow\python\__init__.py in <module>
     38 # pylint: disable=wildcard-import,g-bad-import-order,g-import-not-at-top
     39 
---> 40 from tensorflow.python.eager import context
     41 
     42 # pylint: enable=wildcard-import

E:\PitonGandon\lib\site-packages\tensorflow\python\eager\context.py in <module>
     33 from tensorflow.core.protobuf import config_pb2
     34 from tensorflow.core.protobuf import rewriter_config_pb2
---> 35 from tensorflow.python import pywrap_tfe
     36 from tensorflow.python import tf2
     37 from tensorflow.python.client import pywrap_tf_session

E:\PitonGandon\lib\site-packages\tensorflow\python\pywrap_tfe.py in <module>
     26 
     27 # pylint: disable=invalid-import-order,g-bad-import-order, wildcard-import, unused-import
---> 28 from tensorflow.python import pywrap_tensorflow
     29 from tensorflow.python._pywrap_tfe import *

E:\PitonGandon\lib\site-packages\tensorflow\python\pywrap_tensorflow.py in <module>
     81 for some common reasons and solutions.  Include the entire stack trace
     82 above this error message when asking for help.""" % traceback.format_exc()
---> 83   raise ImportError(msg)
     84 
     85 # pylint: enable=wildcard-import,g-import-not-at-top,unused-import,line-too-long

ImportError: Traceback (most recent call last):
  File "E:\PitonGandon\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 64, in <module>
    from tensorflow.python._pywrap_tensorflow_internal import *
ImportError: DLL load failed with error code 3221225501 while importing _pywrap_tensorflow_internal


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.

Затем попробовал 2.2 и 2.4, но они выдавали ту же ошибку, потом я установил 2.5, которая благополучно заработала, но не работал уже код.

Следуя разным советам в интернете, я переустановил анаконду, все библиотеки vs c++ и версию cuda с cudnn как в таблице на сайте tensorflow поставил, но ничего не поменялось.

На сайте tensorflow я ошибки с таким кодом не нашёл. В чём может быть проблема?


Ответы (1 шт):

Автор решения: Pak Uula

Ответ для тех, кто столкнётся с ошибкой DLL load failed with error code 3221225501 while importing _pywrap_tensorflow_internal

Эта ошибка возникает при попытке выполнить AVX инструкции на процессорах, которые не поддерживают расширение AVX. Библиотека _pywrap_tensorflow_internal собирается с поддержкой AVX начиная с версии 1.6.0.

Если вы столкнулись с такой ошибкой, то есть три пути решения проблемы:

  1. Найти компьютер с процессором, который поддерживает AVX, и работать на нём.
  2. Найти сборку Tensorflow без AVX
  3. Собрать TF на своей машине самостоятельно.
→ Ссылка