Pytorch 运行时错误:输入类型(torch.FloatTensor)和权重类型(torch.cuda.FloatTensor)应相同,即使在将模型和输入放入cuda之后也是如此

Pytorch 运行时错误:输入类型(torch.FloatTensor)和权重类型(torch.cuda.FloatTensor)应相同,即使在将模型和输入放入cuda之后也是如此,pytorch,Pytorch,我遇到了“RuntimeError:输入类型(torch.FloatTensor)和权重类型(torch.cuda.FloatTensor)应该是相同的”问题,即使在我将输入和模型放入设备之后。如果有人能帮助我,我将不胜感激 point_net.to(device) for epoch in range(100): running_loss = 0.0 correct = 0.0 total = 0 for i in range(0, points_te

我遇到了“RuntimeError:输入类型(torch.FloatTensor)和权重类型(torch.cuda.FloatTensor)应该是相同的”问题,即使在我将输入和模型放入设备之后。如果有人能帮助我,我将不胜感激

point_net.to(device)
for epoch in range(100):
    running_loss = 0.0
    correct = 0.0
    total = 0
    
    for i in range(0, points_tensor.shape[0], 2048):
        X = points_tensor[i:i + 2048]
        y = labels_tensor[i:i + 2048]
        
        X = X.to(device)
        y = y.to(device)
        optimizer.zero_grad()

        y_pred = point_net(X)
        loss = criterion(y_pred, y)
        loss.backward()
        optimizer.step()
        
        running_loss += loss.item()

你的模型在GPU上吗?这确实很奇怪。你也应该把整个stacktrace放在这里。同时打印
设备
。它可能是“cpu”,而模型名为
cuda
其他地方请显示完整的代码和错误消息谢谢大家的回复。非常感谢。实际上,我发现了错误,这是由于我的模型中的一个中间输出没有放入cuda。