Your model architecture as well as the training look alright.
Note that torch.round(torch.tensor(0.5)) would round to 0., since it’s sticking to the numpy rounding implementation, if I’m not mistaken. So you might want to apply a threshold, if you want to round 0.5 to 1.0.