There is a major problem with your code, and that is you apply softmax in your last layer and you also use crossentropyloss, crossentropyloss applies softmax internally so that is wrong(your network still works but with longer training time)
second problem I see is that you instantiate relu and softmax in your forward pass, but a cleaner way would have been to define them in your init
class Classifier(nn.Module):
 def __init__(self):
  super(Classifier,self).__init__()
  self.net = nn.Sequential(nn.Linear(features.shape[1],50), nn.ReLU(), nn.Linear(50, 25), nn.ReLU(), nn.Linear(25, 2))
 def forward(self, x)
  return self.net(x)