赞
踩
错误:RuntimeError: Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the same or input should be a MKLDNN tensor and weight is a dense tensor
这个错误表明在模型的前向传播过程中,输入张量的类型是 torch.FloatTensor
,但模型权重的类型是 torch.cuda.FloatTensor
。PyTorch 要求输入类型与权重类型相匹配,这意味着在 GPU 上训练的模型要求输入也在 GPU 上。
解决这个问题的一种方法是确保输入张量 images
也在 GPU 上。可以通过将其转移到 GPU 上,使用 .to(device)
方法。下述的sample_batched是字典,其中包含键 'images'
和 'labels'。
images = sample_batched['images'].to(device)
在这行代码之前,你可能已经将 device
设置为 GPU。确保在模型前向传播之前,输入张量和模型都在相同的设备上。
- device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
- model.to(device)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。