What is the difference between .options() and .type()?
auto w  = at::empty({batches, channels, height, width}, xy.type());

vs
auto w  = at::empty({batches, channels, height, width}, xy.options());

Would they both inherit the same device from xy?
I asked a similar question 1 earlier that I realized I can use .options.