Ошибка при проверке ввода модели: список массивов Numpy, которые вы передаете своей модели Keras - PullRequest
0 голосов
/ 21 октября 2018

Я пишу LSTM в кератах, которые могут определить, насколько токсичны комментарии.Я тренирую свою модель на X.Операции, которые я сделал на X

1.

max_features = 2000
tokenizer = Tokenizer(num_words=max_features)
tokenizer.fit_on_texts(data.values)

2.

dictionary = tokenizer.word_index

3.

with open('wordindex.json', 'w') as dictionary_file:
  json.dump(dictionary , dictionary_file)

4.

X = tokenizer.texts_to_sequences(data.values)
X = pad_sequences(X)

Финал X имеет форму (1396,).Я обучаю модель на этих уроках

list_classes = ["toxic", "severe_toxic", "obscene", "threat", "insult", "identity_hate"]
y = train[list_classes].values

После обучения модели я пытаюсь проверить ее на своем входе.Шаги, которые я делаю, чтобы преобразовать мой ввод pred = 'f you'.

dictionary = json.load(open('wordindex.json'))
def convert_text_to_index_array(text):
         # one really important thing that `text_to_word_sequence` does
        # is make all texts the same length -- in this case, the length
        # of the longest text in the set.
        wordvec=[]
        for word in kpt.text_to_word_sequence(text) :
            if word in dictionary:
                wordvec.append([dictionary[word]])
            else:
                wordvec.append([0])

        return wordvec


   pred=convert_text_to_index_array(pred)

Когда я print(model.predict(pred)).Я получаю вывод ValueError: Error when checking model input: the list of Numpy arrays that you are passing to your model is not the size the model expected. Expected to see 1 array(s), but instead got the following list of 2 arrays: [array([[129]]), array([[6]])]... Когда я пытаюсь увидеть форму пред, я получаю сообщение об ошибке:

    print(pred.shape)
AttributeError: 'list' object has no attribute 'shape'

Я действительно расстроен, потому что похоже, что мой pred - это 1D.массив ([[129]]), массив ([[6]])] - мои закодированные слова в файле json, но почему они находятся в отдельном массиве?

...