Kadetzzz 2022-08-01 15:01 采纳率: 100%
浏览 906
已结题

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

在Keras中准备imdb数据时报错AttributeError: module 'keras.preprocessing.sequence' has no attribute 'pad_sequences'

from keras.datasets import imdb
from keras.preprocessing import sequence

max_features = 10000
maxlen = 500
batch_size = 32

print('Lodaing data...')
(input_train, y_train), (input_test, y_test) = imdb.load_data(num_words=max_features)
print(len(input_train), 'train sequences')
print(len(input_test), 'test sequences')

print('Pad sequences (sample x time)')
input_train = sequence.pad_sequences(input_train, maxlen=maxlen)
input_test = sequence.pad_sequences(input_test, maxlen=maxlen)
print('input_train shape:', input_train.shape)
print('input_test shape:', input_test.shape)

运行结果如下:

Lodaing data...
25000 train sequences
25000 test sequences
Pad sequences (sample x time)
Traceback (most recent call last):
  File "D:\Projects\LSTM\LSTM1\dataset.py", line 15, in <module>
    input_train = sequence.pad_sequences(input_train, maxlen=maxlen)
AttributeError: module 'keras.preprocessing.sequence' has no attribute 'pad_sequences'

重新安装过keras还是有这个问题,我的Keras版本是2.9.0,tensorflow的版本是2.9.1

  • 写回答

3条回答 默认 最新

  • kakaccys 2022-08-01 15:45
    关注

    几种解决方法
    1.keras2.9.0没这个方法了,要达到相同效果就用TextVectorization,具体用法查下官方文档就知道
    2.把keras降级到2.3.1,pad_sequence是支持的,但tensorflow也要降级到2.2以下左右。
    3.自己手写pad_sequence,这个函数并不难,无非超过最大长度截取到最大长度,没到最大长度的以当前batch的最大长度为最大长度补0
    tensorflow项目组老是把简单的变复杂,pytorch的流行是有原因的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月10日
  • 已采纳回答 8月2日
  • 创建了问题 8月1日

悬赏问题

  • ¥15 echarts绘制图表
  • ¥15 请教两个关于高德地图定位不准的技术问题
  • ¥15 根据企业名称 对照两个文件 样本筛选/匹配
  • ¥15 Linux环境下CA证书更新问题
  • ¥15 sqlserver语句提取结果以外数据
  • ¥60 微信小程序如何上传QQ聊天文件
  • ¥300 开发的系统遭到无良商家的破解,请问如何防止再次发生,并追回损失
  • ¥15 java代码写在记事本上后在cmd上运行时无报错但又没生成文件
  • ¥15 关于#python#的问题:在跑ldsc数据整理的时候一直抱这种错误,要么--out识别不了参数,要么--merge-alleles识别不了参数(操作系统-linux)
  • ¥15 PPOCRLabel