繁体   English   中英

ValueError:检查输入时出错:预期 embedding_1_input 的形状为 (500,) 但得到的数组的形状为 (1,)

[英]ValueError: Error when checking input: expected embedding_1_input to have shape (500,) but got array with shape (1,)

from keras.datasets import imdb

from keras.models import load_model

deep = load_model('ImdbLSTMtry.h5')

from keras import preprocessing

import numpy as np
(xtrain,ytrain) , (xtest,ytest) = imdb.load_data(num_words=10000)

xtrain = preprocessing.sequence.pad_sequences(xtrain,maxlen=500)

xtest = preprocessing.sequence.pad_sequences(xtest,maxlen=500)

print(xtest[0].shape)

result = deep.predict(xtest[0])

model代码

from keras.datasets import imdb
from keras import preprocessing
max_fea = 10000
mal = 500
(xtrain,ytrain) , (xtest,ytest) = imdb.load_data(num_words=max_fea)
xtrain = preprocessing.sequence.pad_sequences(xtrain,maxlen=mal)
xtest = preprocessing.sequence.pad_sequences(xtest,maxlen=mal)

from keras.models import Sequential
from keras.layers import Embedding , Flatten , Dense , SimpleRNN, LSTM, GRU
model = Sequential()
model.add(Embedding(10000,8,input_length=mal))
model.add(GRU(32))
model.add(Dense(1,activation='sigmoid'))         model.compile(loss='binary_crossentropy',optimizer='rmsprop',metrics['accuracy'])
model.fit(xtrain,ytrain,epochs=1,batch_size=128,validation_split=0.2)
print(xtest[0])
result = model.evaluate(xtest,ytest)
print(result)
model.save('ImdbLSTMtry.h5')
model.summary()

我正在尝试从 keras 中的 Imdb 数据集预测情绪分析,我已将输入的形状更改为嵌入层的形状,但尽管存在上述错误。

你应该尝试:

result = deep.predict(xtest)

方法predict旨在不仅预测一个样本(在您的情况下为xtest[0] ),而且预测整个数据集( xtest )。

如果您只想对xtest[0]进行预测,可以按以下方式进行:

result = deep.predict(np.expand_dims(xtest[0], axis=0))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM