You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Keras报错:module 'keras.preprocessing.sequence'无pad_sequences属性

解决AttributeError: module 'keras.preprocessing.sequence' has no attribute 'pad_sequences'

你的问题出在导入路径与代码调用不匹配,加上Keras版本迭代后API位置变更,具体修正方案如下:

核心问题分析

  1. 你已经从keras.utils导入了pad_sequences,但代码里却错误调用sequence.pad_sequences,且未导入sequence模块;
  2. Keras 2.10+版本后,pad_sequences已从keras.preprocessing.sequence迁移到keras.utils路径下,旧路径不再生效。

修正方案(推荐)

直接使用已导入的pad_sequences,同时修正Tokenizer的调用路径(你之前的代码未正确导入text模块):

import keras
from keras import preprocessing
from keras.utils import pad_sequences

# 修正Tokenizer的调用方式
tokenizer = preprocessing.text.Tokenizer(num_words=max_features)
tokenizer.fit_on_texts(x_train)
tokenized_train = tokenizer.texts_to_sequences(x_train)
# 直接使用导入的pad_sequences,无需sequence前缀
x_train = pad_sequences(tokenized_train, maxlen=maxlen)

tokenized_test = tokenizer.texts_to_sequences(x_test)
X_test = pad_sequences(tokenized_test, maxlen=maxlen)

兼容旧版本方案(不推荐)

如果你使用Keras 2.10以下版本,可调整导入路径并确保导入sequence模块:

import keras
from keras.preprocessing import text, sequence

tokenizer = text.Tokenizer(num_words=max_features)
tokenizer.fit_on_texts(x_train)
tokenized_train = tokenizer.texts_to_sequences(x_train)
x_train = sequence.pad_sequences(tokenized_train, maxlen=maxlen)

tokenized_test = tokenizer.texts_to_sequences(x_test)
X_test = sequence.pad_sequences(tokenized_test, maxlen=maxlen)

内容的提问来源于stack exchange,提问作者Satyam Sahu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 03:05:13