Thank you for your prompt response. It is interesting to know that we cannot use two non-linear activation functions like Relu and sigmoid together.
I changed the forward function to:
class reviewClassifier(nn.Module):
    def __init__(self):
        super(reviewClassifier, self).__init__()
        self.fc1 = nn.Linear(in_features=args.fixed_dimension, out_features=64) # fixed dimension is equal to 128
        self.fc2 = nn.Linear(in_features=64, out_features=32)
        self.fc3 = nn.Linear(in_features=32, out_features=1)
    def forward(self, x):
        x = x.view(-1, args.fixed_dimension)
        y = self.fc1(x)
        y = self.fc2(y)
        y = self.fc3(y)
        y = torch.sigmoid(y)
        return y

However, in the first epoch and after processing a couple of batches, all gradients of every layer get zero, and I got the same results as before.