CNN с текстовым документом: ввод 0 несовместим со слоем conv2d_4: ожидается ndim = 4, найдено ndim = 3 - PullRequest
0 голосов
/ 13 мая 2019

Я хочу добавить сверточный слой в мою модель CNN, но не могу понять ошибку: Вход 0 несовместим со слоем conv2d_4: ожидаемый ndim = 4, найденный ndim = 3 .

Я искал решения на сайтах, некоторые говорили, что я должен добавить дополнительное измерение, которое довольно размыто для моего состояния.

У меня есть размер слова вложения 300, а максимальная длина каждого текстового документа - 265. Размер словаря - 2345. Я хочу классифицировать текстовые документы по 3 типам.

from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D
from keras.optimizers import Adadelta , Adam , SGD

# define the model 
embedding_dim = 300

model = Sequential()
model.add(Embedding(vocab_size, embedding_dim, input_length=max_length))

# error occurs here
model.add(Conv2D(filters=16,kernel_size=(3,300),padding='same',activation='relu'))

Любая идея о том, как эта ошибка означает, является большой помощью!Я застрял с этой строкой полдня.

...