pythontensorflowmachine-learningkerasneural-network

Getting a very low accuracy with Neural Network


I am trying to implement ANN on a Cifar-10 dataset using keras but for some reason I dont know I am getting only 10% accuracy ?

I have used 5 hidden layers iwth 8,16,32,64,128 neurons respectively.

This is the link to the jupyter notebook

model = Sequential()
model.add(Dense(units = 8,activation = 'sigmoid' , input_dim = X.shape[1]))
model.add(Dense(units = 16 , activation = 'sigmoid'))
model.add(Dense(units = 32 , activation = 'sigmoid'))
model.add(Dense(units = 64 , activation = 'sigmoid'))
model.add(Dense(units = 128 , activation = 'sigmoid'))
model.add(Dense(units = 10 , activation = 'softmax'))

model.compile(loss = 'categorical_crossentropy' , optimizer = 'adam' , metrics = ['accuracy'])

model.fit(x_train,y_train,epochs = 1000, batch_size = 500 )

Solution

  • That's very normal accuracy for a such network like this. You only have Dense layers which is not sufficient for this dataset. Cifar-10 is an image dataset, so:

    Also batch size of 500 is high. Consider using 32 - 64 - 128.