TypeError: Ошибка преобразования фигуры в TensorShape: только массивы размера 1 могут быть преобразованы в скаляры Python - PullRequest
0 голосов
/ 23 сентября 2018

Я пытаюсь построить авто кодировщик для текста, используя CNN в Keras, в Jupyter Notebook.Я работаю с набором данных IMDB, который содержит 25 000 примеров из 2 столбцов, один из которых содержит обзор и рейтинг.
Сначала я разложил токены и преобразовал их в последовательности чисел и дополнил до 2340 (максимальная длина последовательности).Итак, наконец, мой размер матрицы составляет 25 000 x 2340. Затем я пытаюсь перейти на входной слой, но я не получаю

input_ = Input((2340,)) 
Input(X_train)

Тогда я получаю следующую ошибку:

TypeError: Ошибка преобразования формы в TensorShape: только массивы размера 1 могут быть преобразованы в скаляры Python.

Форма X_train равна (20000, 2340) после разбиения его на поезд и набор проверки.

Пожалуйста, объясните, почему возникает эта ошибка.

1 Ответ

0 голосов
/ 08 ноября 2018

Я чувствую, что здесь ошибка Input (X_train), функция Input согласно документации keras ожидает фигуру = (2340,) указывает, что ожидаемым вводом будут пакеты из 2340-мерных векторов, и по умолчанию она принимает формуbe (None, 2340), поэтому я не думаю, что вам нужно снова передавать Input (X_train).ниже приведен пример со страницы документации keras

x = Input(shape=(32,))
y = Dense(16, activation='softmax')(x)
model = Model(x, y)

Надеюсь, это поможет !!

...