无法从“keras.utils”导入名称“序列”

6 python pycharm keras tensorflow

当我使用“导入talos”时,出现以下错误:

Traceback (most recent call last):
  File "C:/Users/Mirijam/Desktop/rp/RNN_classification/classification.py", line 4, in <module>
    import talos
  File "C:\Users\Mirijam\Desktop\rp\venv\lib\site-packages\talos\__init__.py", line 14, in <module>
    from . import utils
  File "C:\Users\Mirijam\Desktop\rp\venv\lib\site-packages\talos\utils\__init__.py", line 11, in <module>
    from .sequence_generator import SequenceGenerator
  File "C:\Users\Mirijam\Desktop\rp\venv\lib\site-packages\talos\utils\sequence_generator.py", line 1, in <module>
    from keras.utils import Sequence
ImportError: cannot import name 'Sequence' from 'keras.utils' (C:\Users\Mirijam\Desktop\rp\venv\lib\site-packages\keras\utils\__init__.py)
Run Code Online (Sandbox Code Playgroud)

我的keras版本是2.5.0。我的其他 Keras 导入似乎有效。

小智 7

我能够复制您的问题,您可以参考工作代码,如下所示

import talos
import keras

print(talos.__version__)
print(keras.__version__)

from keras.utils import Sequence 
Run Code Online (Sandbox Code Playgroud)

输出:

1.0.0
2.5.0

ImportError                               Traceback (most recent call last)
<ipython-input-14-064232ea7706> in <module>()
----> 1 from keras.utils import Sequence # it wont work

ImportError: cannot import name 'Sequence' from 'keras.utils' (/usr/local/lib/python3.7/dist-packages/keras/utils/__init__.py)
Run Code Online (Sandbox Code Playgroud)

固定代码:

从那时Tensorflow 2.x起,keras不再维护,它成为 的一部分Tensorflow。我建议不要使用import Sequencefrom keras,你应该尝试 from ,tensorflow如下所示

from tensorflow.keras.utils import Sequence
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,您可以参考这里