当前位置: 首页 > 编程笔记 >

解决pytorch 数据类型报错的问题

简俊楚
2023-03-14
本文向大家介绍解决pytorch 数据类型报错的问题,包括了解决pytorch 数据类型报错的问题的使用技巧和注意事项,需要的朋友参考一下

pytorch报错:

RuntimeError: Expected object of type Variable[torch.LongTensor] but found type Variable[torch.cuda.ByteTensor] for argument #1 ‘argument1'

解决方法:

pytorch框架在存储labels时,采用LongTensor来存储,所以在一开始dataset返回label时,就要返回与LongTensor对应的数据类型,即numpy.int64

补充:使用pytorch遇到的各种问题及解决方案

自己在使用html" target="_blank">pytorch遇到的各种问题及解决方案:

RuntimeError: Expected object of scalar type Float but got scalar type Double for argument #4 'mat1'

RuntimeError: The size of tensor a (12800) must match the size of tensor b (100) at non-singleton dimension 0

输入维度为12800,输出维度为100,输入输出的维度不一致,正确的例子如下:

inputs = [(1,2,3), (2,3,4)]
outsputs = [4, 5]

将输入输出的长度改为一致

取tensor的第一个元素

XXX.item() # XXX为tensor对象

tensor中的元素改变数据类型

# 常常因为数据类型出错,要修改数据类型
XXX.int()
XXX.float()

补充:Pytorch的Dataloader报错:TypeError: batch must contain tensors, numbers, dicts or lists

具体报错:

TypeError: batch must contain tensors, numbers, dicts or lists; found <class 'PIL.Image.Image'>

loader的代码:

dataloader=torch.utils.data.DataLoader(dataset,batch_size=1,shuffle=True)

表面上看这个代码没有问题,实际上问题出在了dataloader机制的要求上,dataloader要求接收的是一个tensor,而我的dataset没有做transform,所以dataset的getitem函数返回的是一个PIL的Image对象,所以就会报错

以上为个人经验,希望能给大家一个参考,也希望大家多多支持小牛知识库。如有错误或未考虑完全的地方,望不吝赐教。

 类似资料:
  • 本文向大家介绍pytorch数据预处理错误的解决,包括了pytorch数据预处理错误的解决的使用技巧和注意事项,需要的朋友参考一下 出错: 这是因为输入的大小不匹配,跟数据集有关,也跟数据预处理中的函数相关: transforms.Resize(input_size) 该函数是按比例缩放,可能是因为该数据集的分辨率不同,所以出来的结果不是(224,224)的,解决办法是改为使用: transfor

  • 本文向大家介绍Java解析JSON数据时报错问题解决方案,包括了Java解析JSON数据时报错问题解决方案的使用技巧和注意事项,需要的朋友参考一下 一、问题由来 测试人员最近在测试时,后台日志一直抱错,大致意思是JSON数据解析错误,错误信息如下: 二、问题分析 去查看代码时,发现异常信息是这里抛出来的,解析时使用的是json-lib这个包中的方法; 然后进一步排查错误,将里面的测试数据复制出来查

  • 本文向大家介绍解决pytorch 模型复制的一些问题,包括了解决pytorch 模型复制的一些问题的使用技巧和注意事项,需要的朋友参考一下 直接使用 会出现当更新model2时,model1的权重也会更新,这和自己的初始目的不同。 经评论指出可以使用: 来实现深拷贝,手上没有pytorch环境,具体还没测试过,谁测试过可以和我说下有没有用。 原方法: 所有要使用模型复制可以使用如下方法。 这样编写

  • 本文向大家介绍解决pytorch 保存模型遇到的问题,包括了解决pytorch 保存模型遇到的问题的使用技巧和注意事项,需要的朋友参考一下 今天用pytorch保存模型时遇到bug Can't pickle <class 'torch._C._VariableFunctions'> 在google上查找原因,发现是保存时保存了整个模型的原因,而模型中有一些自定义的参数 将 torch.save(m

  • 本文向大家介绍解决python3 Pycharm上连接数据库时报错的问题,包括了解决python3 Pycharm上连接数据库时报错的问题的使用技巧和注意事项,需要的朋友参考一下 最近在学习python。 今天在学习python连接Mysql数据库时报错: 使用pyCharm+python3+pyMysql+mysql5.56 数据库连接: 最后查看发现,在数据库连接时不需要编码: 最后测试通过!

  • 本文向大家介绍解决mybatis case when 报错的问题,包括了解决mybatis case when 报错的问题的使用技巧和注意事项,需要的朋友参考一下 在mybatis中使用case when进行条件筛选判断时遇到 Failed to process, please exclude the tableName or statementId. 这样的报错信息,报错的信息是语法错误 但是我