Jan-02-2020, 02:35 PM
Hi everyone,
I'm building a simple CNN and can't seem to get it to work. The error I get is:
I know I'm missing something, but I don't know what it is.
I'm building a simple CNN and can't seem to get it to work. The error I get is:
Output:ValueError: Error when checking target: expected dense_1 to have 2 dimensions, but got array with shape (1, 70, 2)Here's the code:print("Defining training and testing sets...")
x_train, x_test = shuffling_set(x);
y_train = np.full((1, len(x_train)), 1);
y_test = np.full((1, len(x_test)), 1);
print(x_train.shape)
y_train = np_utils.to_categorical(y_train);
y_test = np_utils.to_categorical(y_test);
print("Creating neural network...")
## Building has begun...
model = Sequential();
# Adding 2 convolution layers
model.add(Conv2D(64, kernel_size=3, activation='relu', input_shape=(1024,1024,3)));
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(32, kernel_size=3, activation='relu'));
model.add(MaxPooling2D(pool_size=(2, 2)))
# Flatten layer doesn't accept the use of several image sizes, so we go for max pooling
model.add(Flatten())
model.add(Dropout(0.2))
# Adding the fully connected layer
model.add(Dense(2, activation="softmax"));
# Compiling the model
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy']);
print("Training...")
model.fit(x_train, y_train, validation_data=(x_test, y_test), epochs=1);There's some image processing before that. X_train is a list with 70 images (not the full dataset, just for testing if this runs) with image being 1024 by 1024 with 3 channels (RGB).I know I'm missing something, but I don't know what it is.
