class ToyModule(torch.nn.Module):
    def __init__(self) -> None:
        super(ToyModule, self).__init__()
        self.layer = torch.nn.Linear(2, 2)
        self.expected_moved_cuda_tensor = torch.tensor([0, 2, 3])

    def forward(self, input: torch.Tensor) -> torch.Tensor:
        return self.layer(input)

toy_module = ToyModule()
toy_module.cuda()

When we call  .cuda()  all the parameters and buffers of the module are moved to the GPU:
next(toy_module.layer.parameters()).device
>>> device(type='cuda', index=0)

But when we inspect the tensor attribute of toy_module, we see device(type='cpu')?
toy_module.expected_moved_cuda_tensor.device
>>> device(type='cpu')

Is this expected or am I missing anything? Thank you.