I have a CNN architecture for CIFAR-10 dataset which is as follows:

Convolutions: 64, 64, pool

Fully Connected Layers: 256, 256, 10

Batch size: 60

Optimizer: Adam(2e-4)

Loss: Categorical Cross-Entropy

When I train this model, training and testing accuracy along with loss has a very jittery behavior and does not converge properly.

Is the defined architecture correct? Should I have a max-pooling layer after every convolution layer?

  • $\begingroup$ I know this is an old question, but could you please edit it to include the result of plot_model(your_model_object)? Moreover, you should provide the plots that show the behavior of the accuracy and loss. You should explain for how long you have been training. $\endgroup$
    – nbro
    Oct 31 '20 at 10:40

To be honest, your model is not very clear. But basically after the convolution, you need to add non-linear layers. Otherwise, there is no point of Neural Networks.

You can add a Relu layer for sure.

  • $\begingroup$ I am using TensorFlow 2.0 Conv2D layer and I am using ReLU activation function $\endgroup$
    – Arun
    Feb 25 '20 at 16:03

Not the answer you're looking for? Browse other questions tagged or ask your own question.