gpt4 book ai didi

python - RuntimeError : Input type (torch. FloatTensor)和权重类型(torch.cuda.FloatTensor)应该相同

转载 作者:行者123 更新时间:2023-11-30 08:30:16 25 4
gpt4 key购买 nike

这个:

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)

for data in dataloader:
inputs, labels = data
outputs = model(inputs)

给出错误:

RuntimeError: Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the same

最佳答案

您收到此错误是因为您的模型位于 GPU 上,但您的数据位于 CPU 上。因此,您需要将输入张量发送到 GPU。

inputs, labels = data                         # this is what you had
inputs, labels = inputs.cuda(), labels.cuda() # add this line

或者像这样,与代码的其余部分保持一致:

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

inputs, labels = inputs.to(device), labels.to(device)

如果您的输入张量位于 GPU 上但模型权重不在 GPU 上,则会引发相同的错误。在这种情况下,您需要将模型权重发送到 GPU。

model = MyModel()

if torch.cuda.is_available():
model.cuda()

请参阅 cuda() 的文档,及其相反,cpu() .

关于python - RuntimeError : Input type (torch. FloatTensor)和权重类型(torch.cuda.FloatTensor)应该相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59013109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com