In mnist I got results of last epoch as
Epoch 50/50
trn_loss = 0.0262 trn_acc = 0.9926
val_loss = 0.9231 val_acc = 0.9936
My questions:-
- Is this much underfitting okay ? Please explain why not.
- What can I do to improve the model ?
Help me understand the above. Thank you.
Edit:- 1
I trained for extended 5 epochs and here are the results:-
Epoch 55/55
trn_loss = 0.0257 trn_acc = 0.9927
val_loss = 0.0231 val_acc = 0.9933
Does the model still underfits?
Such a big difference between training and validation is surprising. Try to add regularisation (weight regularisation, drop out or batch normalisation). Third line says train-acc. Is it val-acc?
Yes. I edited it.
Can you please elaborate your answer. I am not getting it. Here’s my model architecture:
Conv(32)
BatchNorm
Conv(32)
BatchNorm()
Maxpool()
Dropout(0.25)
Conv(64)
BatchNorm
Conv(64)
BatchNorm()
Maxpool()
Dropout(0.25)
Dense(512)
Dropout(0.25)
Dense(output_layers)
Is the model underfitted ?
I looked at the update and now things look fine. There’s no problem with your net.