I don’t know what is your batch size, learning rate and dataset size but you use leaky relu activation function in the last layer. Its appropriate to use sigmoid activation function for binary classification in the last layer. Also I think your model can’t learn features because of poor network so I can suggest to enlarge your linear layers which means increase the hidden units. If you use small batch size, you can remove batch norm layers. Last, you can normalize input features to speed up gradient descent.