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


Posted in Python onMarch 03, 2021

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遇到的各种问题及解决方案

自己在使用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对象,所以就会报错

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Python 相关文章推荐
python操作ie登陆土豆网的方法
May 09 Python
python使用pymysql实现操作mysql
Sep 13 Python
Python实现二分查找与bisect模块详解
Jan 13 Python
numpy使用技巧之数组过滤实例代码
Feb 03 Python
python实现坦克大战游戏 附详细注释
Mar 27 Python
python实现微信自动回复及批量添加好友功能
Jul 03 Python
pygame实现俄罗斯方块游戏(AI篇2)
Oct 29 Python
python每5分钟从kafka中提取数据的例子
Dec 23 Python
python实现提取str字符串/json中多级目录下的某个值
Feb 27 Python
Django DRF路由与扩展功能的实现
Jun 03 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
Feb 18 Python
python自动化之如何利用allure生成测试报告
May 02 Python
python反编译教程之2048小游戏实例
Mar 03 #Python
python 如何读、写、解析CSV文件
Mar 03 #Python
聊聊python在linux下与windows下导入模块的区别说明
Mar 03 #Python
python 递归相关知识总结
Mar 03 #Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
Mar 03 #Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
Mar 03 #Python
神经网络训练采用gpu设置的方式
Mar 03 #Python
You might like
php恢复数组的key为数字序列的方法
2015/04/28 PHP
解决Laravel无法使用COOKIE和SESSION的问题
2019/10/16 PHP
用Javascript同时提交多个Web表单的方法
2009/12/26 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
js实现创建删除html元素小结
2015/09/30 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
2016/12/01 Javascript
详解JavaScript对象的深浅复制
2017/03/30 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
vue实现app页面切换动画效果实例
2017/05/23 Javascript
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
2017/08/22 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
2018/09/27 Javascript
JavaScript使用闭包模仿块级作用域操作示例
2019/01/21 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
[52:14]VG vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python中的ctime()方法使用教程
2015/05/22 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
2018/07/13 Python
对python模块中多个类的用法详解
2019/01/10 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
django框架模板语言使用方法详解
2019/07/18 Python
pytorch多进程加速及代码优化方法
2019/08/19 Python
pywinauto自动化操作记事本
2019/08/26 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
Python换行与不换行的输出实例
2020/02/19 Python
python的launcher用法知识点总结
2020/08/07 Python
逃课上网检讨书
2014/02/20 职场文书
入股协议书
2014/04/14 职场文书
实训报告范文大全
2014/11/04 职场文书
2014年餐厅服务员工作总结
2014/11/18 职场文书
Python数据分析之pandas读取数据
2021/06/02 Python
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android