无法从“keras.preprocessing.sequence”导入名称“pad_sequences”

adh*_*dhi 52 python python-import keras

我正在尝试导入这些:

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
Run Code Online (Sandbox Code Playgroud)

但我收到错误,因为无法从“keras.preprocessing.sequence”导入名称“pad_sequences”

有人可以帮我吗?

arp*_*hur 78

代替:

from keras.preprocessing.sequence import pad_sequences
Run Code Online (Sandbox Code Playgroud)

和:

from keras_preprocessing.sequence import pad_sequences
Run Code Online (Sandbox Code Playgroud)

  • 我很好奇为什么这有效。您能提供更多相关信息吗? (2认同)

小智 50

根据 TensorFlow v2.10.0 文档,pad_sequences 的正确路径是 tf.keras.utils.pad_sequences。所以在你的脚本中应该写:

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

它已经为我解决了问题。


小智 21

你可以用这个。它对我有用。

from tensorflow.keras.preprocessing.sequence import pad_sequences
Run Code Online (Sandbox Code Playgroud)


use*_*846 7

您很可能使用的是 tf 版本 2.9 - 返回 2.8 并且相同的路径有效

或者将其导入为:

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

TF 的路径不太稳定 - 最好的方法是检查与您成功安装的版本相对应的 git 源!对于 TF2.9,您可以在此处查看它是如何导入的


小智 1

正确的导入路径是keras.io.preprocessing.sequence.pad_sequences。你的路径缺少 io.

from keras.io.preprocessing.sequence import pad_sequences
Run Code Online (Sandbox Code Playgroud)