1

我正在尝试通过加载我自己的数据来增加此处找到的 MNIST。为此,我有 numpy arrays training_xtraining_y我将其转换如下:

training_X = torch.from_numpy(training_X)
training_y = torch.from_numpy(training_y) 

【注意原文training_y是scikit-learn的LabelEncoder的输出】

并通过执行以下操作添加到 DataLoader:

torch.utils.data.TensorDataset(training_X, training_y)

训练时我收到以下错误:

TypeError: addmm_ received an invalid combination of arguments - got (int, int, torch.cuda.FloatTensor, torch.FloatTensor), but expected one of:
* (torch.cuda.FloatTensor mat1, torch.cuda.FloatTensor mat2)
* (torch.cuda.sparse.FloatTensor mat1, torch.cuda.FloatTensor mat2)
* (float beta, torch.cuda.FloatTensor mat1, torch.cuda.FloatTensor mat2)
* (float alpha, torch.cuda.FloatTensor mat1, torch.cuda.FloatTensor mat2)
* (float beta, torch.cuda.sparse.FloatTensor mat1, torch.cuda.FloatTensor mat2)
* (float alpha, torch.cuda.sparse.FloatTensor mat1, torch.cuda.FloatTensor mat2)
* (float beta, float alpha, torch.cuda.FloatTensor mat1, torch.cuda.FloatTensor mat2)
  didn't match because some of the arguments have invalid types: (int, int, torch.cuda.FloatTensor, !torch.FloatTensor!)
v * (float beta, float alpha, torch.cuda.sparse.FloatTensor mat1, torch.cuda.FloatTensor mat2)
  didn't match because some of the arguments have invalid types: (int, int, !torch.cuda.FloatTensor!, !torch.FloatTensor!)

我尝试将输入张量更改为浮动、双倍和长,但似乎我仍然缺少一些重要的东西。

如何让模型接受我的输入?

4

1 回答 1

0

您提供的第四个参数似乎是 atorch.FloatTensor但它应该是 a torch.cuda.FloatTensor

你有没有尝试.cuda()过这个论点?

torch.Tensor.cuda()

于 2017-05-10T03:30:15.857 回答