0

There is train, test and validation data with size of (12900, 15360), (5100,15360) and (7500, 15360) respectively. I want to classify data into two classes with one dimensional convolutional neural network, but it gives an error which is shown as below. How should i correct input size?

ValueError: Input 0 of layer sequential_20 is incompatible with the layer: : expected min_ndim=3, found ndim=2. Full shape received: [100, 15360]  

The code which i use:

import keras
from keras.models import Sequential
from keras import layers 
from keras.optimizers import RMSprop
from keras.layers.convolutional import Conv1D    
from keras.layers import Dense
from keras.layers import MaxPooling1D
from keras.layers import GlobalMaxPooling1D
 


model = Sequential()
model.add(Conv1D(32, 5, activation = 'relu', input_shape = (None,15360)))
model.add(MaxPooling1D(1))
model.add(Conv1D(32, 5, activation ='relu'))
model.add(MaxPooling1D(1))
model.add(Conv1D(32, 5, activation ='relu'))
model.add(GlobalMaxPooling1D())
model.add(Dense(2, activation='softmax'))

model.compile(optimizer=RMSprop(lr = 1e-4), loss = 'binary_crossentropy', metrics = ['acc'] )

history = model.fit(Train_data, Train_labels, batch_size = 100, epochs = 40, validation_data = (Val_data, Val_labels))
desertnaut
  • 57,590
  • 26
  • 140
  • 166
afrah
  • 31
  • 8

0 Answers0