ValueError:检查输入时出错:预期embedding_1_input具有形状(4,),但数组的形状为(1,)numpy

时间:2020-03-03 08:16:40

标签: 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:检查输入时出错:预期embedding_1_input到 形状为(4,)但数组为形状(1,)

1 个答案:

答案 0 :(得分: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 = 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)

希望这能使您找到想要的东西