Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the same(解决)

  • 问题描述
  • 在使用pytorch训练经典的MNIST数据集时,运行时,出现了以下的问题:
Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the same
  • 问题原因:
    错误内容大概就是指输入类型是CPU(torch.FloatTensor),而参数类型是GPU(torch.cuda.FloatTensor)
    报错内容是:输入的是CPU类型的(torch.FloatTensor),然而输出的内容是GPU类型的,同时它提示,应该保持一直的数据类型
  • 解决错误:
    首先检查我们是不是正确的使用了CUDA:

1.下面是正确的使用CUDA的方法:

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

2.而我之前在使用CUDA进行加速时,是这样写的:

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

显然这样写是错误的,而应该采用第一种方法

  • 结果:
    在解决了上述的问题后,使用经典的MNIST数据集训练的模型进行预测的结果也就展示出来了
    在这里插入图片描述
posted @   陶陶Name  阅读(913)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示