Assuming you are using nn.BCELoss, the model output and target should have the same shape ([batch_size, 1] for a binary classification use case) and both should be FloatTensors.
Note that removing the last sigmoid and using nn.BCEWithLogitsLoss would give you a better numerical stability.