解决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之模拟鼠标键盘动作具体实现
Dec 30 Python
详解使用python crontab设置linux定时任务
Dec 08 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
Nov 23 Python
Python 12306抢火车票脚本
Feb 07 Python
Tensorflow环境搭建的方法步骤
Feb 07 Python
python将dict中的unicode打印成中文实例
May 11 Python
使用python实现名片管理系统
Jun 18 Python
python飞机大战游戏实例讲解
Dec 04 Python
paramiko使用tail实时获取服务器的日志输出详解
Dec 06 Python
python中常用的数据结构介绍
Jan 12 Python
python 命令行传参方法总结
May 25 Python
python中opencv实现图片文本倾斜校正
Jun 11 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
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
HTML IMG标签 onload 内存溢出导致浏览器CPU占用过高
2021/03/09 Javascript
ExtJS判断IE浏览器类型的方法
2014/02/10 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
javascript中为某个元素指定事件的三种方式
2014/08/07 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
2015/09/10 Javascript
javascript 小数乘法结果错误的处理方法
2016/07/28 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
layui使用label标签的方法
2019/09/14 Javascript
vue中@change兼容问题详解
2019/10/25 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
python判断端口是否打开的实现代码
2013/02/10 Python
python抓取京东价格分析京东商品价格走势
2014/01/09 Python
python文件写入实例分析
2015/04/08 Python
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
2018/08/10 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
如何利用Pyecharts可视化微信好友
2019/07/04 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
使用Django搭建web服务器的例子(最最正确的方式)
2019/08/29 Python
修改Pandas的行或列的名字(重命名)
2019/12/18 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
2020/05/26 Python
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
自我鉴定怎么写
2013/12/05 职场文书
新学期红领巾广播稿
2014/01/14 职场文书
教师年终个人总结
2015/02/11 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
2017年寒假社区服务活动总结
2016/04/06 职场文书
Java基础-封装和继承
2021/07/02 Java/Android
Java8中接口的新特性使用指南
2021/11/01 Java/Android
请求模块urllib之PYTHON爬虫的基本使用
2022/04/08 Python