解决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中删除文件的程序代码
Mar 13 Python
Python中的__SLOTS__属性使用示例
Feb 18 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
Dec 10 Python
Python编程对列表中字典元素进行排序的方法详解
May 26 Python
python+selenium+autoit实现文件上传功能
Aug 23 Python
利用python的socket发送http(s)请求方法示例
May 07 Python
Django-Model数据库操作(增删改查、连表结构)详解
Jul 17 Python
Django forms表单 select下拉框的传值实例
Jul 19 Python
Python 实现一个手机号码获取妹子名字的功能
Sep 25 Python
Python基础之字符串常见操作经典实例详解
Feb 26 Python
python实现文件分片上传的接口自动化
Nov 19 Python
python FTP编程基础入门
Feb 27 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
第十四节 命名空间 [14]
2006/10/09 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
2009/11/30 PHP
php编写批量生成不重复的卡号密码代码
2015/05/14 PHP
Notify - 基于jquery的消息通知插件
2011/10/18 Javascript
优化Node.js Web应用运行速度的10个技巧
2014/09/03 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
2016/10/30 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
fullCalendar中文API官方文档
2017/02/07 Javascript
Bootstrap表单简单实现代码
2017/03/06 Javascript
jQuery操作css样式
2017/05/15 jQuery
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
浅析Angular19 自定义表单控件
2018/01/31 Javascript
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
关于Vue在ie10下空白页的debug小结
2018/05/02 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
了解重排与重绘
2019/05/29 Javascript
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
2015/03/30 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
Python数据结构之图的应用示例
2018/05/11 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
wxpython多线程防假死与线程间传递消息实例详解
2019/12/13 Python
使用python处理题库表格并转化为word形式的实现
2020/04/14 Python
如何在pycharm中安装第三方包
2020/10/27 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)
2013/01/06 HTML / CSS
Waterford英国官方网站:世界上最受欢迎的优质水晶品牌
2019/08/17 全球购物
关于.NET, HTML的五个问题
2012/08/29 面试题
精彩的推荐信范文
2013/11/26 职场文书
文科生自我鉴定
2014/02/15 职场文书
应届生自荐信范文
2014/02/21 职场文书
金融管理毕业生求职信
2014/03/03 职场文书
公司采购主管岗位职责
2014/06/17 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
优质服务标语口号
2015/12/26 职场文书
如何利用python和DOS获取wifi密码
2021/03/31 Python
SQL Server数据定义——模式与基本表操作
2021/04/05 SQL Server