I think if you add additional dimensions for tensor B then you could utilize broadcasting and obtain the results you desire. For example:
x = torch.ones((2, 3, 64, 64))
y = torch.ones((2))

x - y # This will bring an error
x - y.view(-1, 1, 1, 1) # This will work