Pytorch: Converter FloatTensor em DoubleTensor

Eu tenho 2 matrizes numpy, que eu converto em tensores para usar o objeto TensorDataset.

import torch.utils.data as data_utils

X = np.zeros((100,30))
Y = np.zeros((100,30))

train = data_utils.TensorDataset(torch.from_numpy(X).double(), torch.from_numpy(Y))
train_loader = data_utils.DataLoader(train, batch_size=50, shuffle=True)

quando eu faço:

for batch_idx, (data, target) in enumerate(train_loader):
    data, target = Variable(data), Variable(target)
    optimizer.zero_grad()
    output = model(data)               # error occurs here

Eu recebo o seguinte erro:

TypeError: addmm_ recebeu uma combinação inválida de argumentos - got (int, int, torch.DoubleTensor, torch.FloatTensor), mas esperava um dos seguintes: [...]
* (float beta, float alfa, torch.DoubleTensor mat1, torch.DoubleTensor mat2) não corresponderam porque alguns dos argumentos têm tipos inválidos: (int, int, torch.DoubleTensor, torch.FloatTensor)
* (float beta, float alfa, torch.SparseDoubleTensor mat1, torch.DoubleTensor mat2) não corresponderam porque alguns dos argumentos têm tipos inválidos: (int, int, torch.DoubleTensor, torch.FloatTensor)

O último erro vem de:

output.addmm_ (0, 1, entrada, peso.t ())

Como você vê no meu código, tentei converter o tensor usando .double () - mas isso não funcionou. Por que ele está lançando uma matriz em um objeto FloatTensor e a outra em um DoubleTensor? Alguma ideia?

questionAnswers(2)

yourAnswerToTheQuestion