a.new() will return a tensor of zero size (namely, no data in it) with the same type of a, while torch.empty_like(b1) will return a tensor with the same size and type of b1.
You may regard torch.empty_like(a) as a.new().resize_as_(a).