无法从 'keras.preprocessing.sequence' 导入 'pad_sequences'。

50
我正在尝试导入这些:

from numpy import array
from keras.preprocessing.text import one_hot

from keras.preprocessing.sequence import pad_sequences


from keras.models import Sequential
from keras.layers.core import Activation, Dropout, Dense
from keras.layers import Flatten, LSTM
from keras.layers import GlobalMaxPooling1D
from keras.models import Model

但是我遇到了错误,无法从“keras.preprocessing.sequence”导入“pad_sequences”的名称

请问有人可以帮助我吗?

10个回答

75

替换:

from keras.preprocessing.sequence import pad_sequences

使用:

from keras_preprocessing.sequence import pad_sequences

2
我很好奇这为什么有效。你能提供更多的信息吗? - hchen98
1
他们重构了这个模块。 - arp.arthur

50
根据TensorFlow v2.10.0文档,pad_sequences的正确路径是tf.keras.utils.pad_sequences。因此,在您的脚本中应该这样写:
tf.keras.utils.pad_sequences
from keras.utils import pad_sequences

它已经为我解决了这个问题。


谢谢,这很有帮助! - najmieh sadat safarabadi
谢谢!这也对我有帮助。为什么这个方法有效而其他模式不行?是模块重构的原因吗? - program_bumble_bee

21

你可以使用这个,对我有效。

from tensorflow.keras.preprocessing.sequence import pad_sequences

这是正确的答案。谢谢。 - undefined

7

你很可能正在使用 TensorFlow 2.9 版本,请回退到 2.8 版本,这样相同的路径就能正常工作了。

或者可以尝试按如下方式导入:

from keras.utils.data_utils import pad_sequences

TF在路径方面不太稳定 - 最好的方法是检查与您成功安装的版本相对应的git源代码!! 在TF2.9的情况下,您可以看到它是如何导入的这里


4
您可以使用以下内容:
from tensorflow.keras.preprocessing.sequence import pad_sequences

2

我刚刚遇到了同样的问题,但仍然不知道发生了什么(还在等待答案)。 我放弃了导入pad_sequences并将其完全编写,它可以工作。

keras.preprocessing.sequence.pad_sequences()

1
正确的导入路径是keras.io.preprocessing.sequence.pad_sequences。您的路径缺少io。
from keras.io.preprocessing.sequence import pad_sequences

0
from tensorflow.keras.preprocessing import sequence

对我有用


0
在他们的最新更新中Kiras 2.11.0中,他们对他们的软件包进行了一些更改和改进。 考虑到您的问题,您应该:

将此代码:

from keras.preprocessing.sequence import pad_sequences

替换为:

from keras_preprocessing.sequence import pad_sequences


0
从keras.utils.data_utils导入pad_sequences 使用这个代替。

目前您提供的回答不太清楚。请[编辑]以添加更多细节,帮助其他人理解它如何回答问题。您可以在帮助中心找到有关如何编写好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接