相关疑难解决方法(0)

Pytorch:将FloatTensor转换为DoubleTensor

我有2个numpy数组,我将其转换为张量以使用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)
Run Code Online (Sandbox Code Playgroud)

当我做:

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

我得到了一个错误的错误:

TypeError:addmm_收到了一个无效的参数组合 - got(int,int,torch.DoubleTensor,torch.FloatTensor),但是期望的一个:[...]
*(浮点测试版,浮动阿尔法,火炬.DoubleTensor mat1,火炬. DoubleTensor mat2)不匹配,因为一些参数具有无效类型:(int,int,torch.DoubleTensor,torch.FloatTensor)
*(float beta,float alpha,torch.SparseDoubleTensor mat1,torch.DoubleTensor mat2)没有匹配,因为一些参数具有无效类型:(int,int,torch.DoubleTensor,torch.FloatTensor)

最后一个错误来自:

output.addmm_(0,1,input,weight.t())

正如你在我的代码中看到的那样,我尝试使用.double()来转换张量 - 但这不起作用.为什么他将一个数组转换为FloatTensor对象而另一个数组转换为DoubleTensor?有任何想法吗?

python torch pytorch

12
推荐指数
2
解决办法
2万
查看次数

标签 统计

python ×1

pytorch ×1

torch ×1