Keras ValueError:检查输入时出错:预期嵌入_1_输入具有形状(4),但得到与形状(1,)numpy相关的数组

Keras ValueError:检查输入时出错:预期嵌入_1_输入具有形状(4),但得到与形状(1,)numpy相关的数组,keras,deep-learning,model,prediction,machine-translation,Keras,Deep Learning,Model,Prediction,Machine Translation,我试图预测keras机器翻译的预训练模型 但我得到了错误,我无法解决或找到合适的答案 似乎每个人都会犯这个错误 代码**:** model = load_model('model.h5') single_x_test = ['how are you'] model.predict(np.array(single_x_test, ndmin=0)) ValueError:检查输入时出错:应将\u 1\u输入嵌入到 具有形状(4),但获得了具有形状(1)的数组 有了所有的更新,我认为若您以这种

我试图预测keras机器翻译的预训练模型

但我得到了错误,我无法解决或找到合适的答案

似乎每个人都会犯这个错误

代码**:**

model = load_model('model.h5')

single_x_test = ['how are you']

model.predict(np.array(single_x_test, ndmin=0))
ValueError:检查输入时出错:应将\u 1\u输入嵌入到 具有形状(4),但获得了具有形状(1)的数组


有了所有的更新,我认为若您以这种方式更改代码,这可能有助于解决您的问题:

您需要稍微更改一下加载函数:

def load_test_data(X_data, X_word_to_ix, max_len):


    X = [text_to_word_sequence(x)[::-1] for x in X_data.split('\n') if 0 < len(x) <= max_len]
    for i, sentence in enumerate(X):
        for j, word in enumerate(sentence):

            if word in X_word_to_ix:
                X[i][j] = X_word_to_ix[word]
            elif word in X_word_to_ix is None:
                X[i][j] = None
            else:
                X[i][j] = X_word_to_ix['UNK']
    return X

希望这能让您了解您想要的内容

共享有关代码的更多信息。因为错误与模型有关。共享您使用的模型,或您参考的教程或其他内容。model.summery显然有助于至少了解您的模型输入形状您是否尝试了np.array([single_x_test])?模型摘要显示您在开始时有一个嵌入层,它接受维度(4500)的数据。您应该在某个地方有一个中间层,将原始文本转换为这样的维度(即,beleive应该是嵌入模型或类似的东西)@Zrufy这不是问题所在。看看模型摘要,输入的显然不是原始文本。谢谢你的回答,但还是遇到了同样的问题
model = load_model('model.h5')

single_x_test = 'how are you'

X=load_test_data(single_x_test, X_word_to_ix, max_len)
X= pad_sequences(X, maxlen=X_max_len, dtype='int32')
model.predict(X)