解决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中input和raw_input的一点区别
Oct 21 Python
python实现基本进制转换的方法
Jul 11 Python
python3操作微信itchat实现发送图片
Feb 24 Python
Python 批量合并多个txt文件的实例讲解
May 08 Python
对pandas里的loc并列条件索引的实例讲解
Nov 15 Python
OpenCV图像颜色反转算法详解
May 13 Python
Python计算两个矩形重合面积代码实例
Sep 16 Python
python将字符串转变成dict格式的实现
Nov 18 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
Apr 08 Python
PyTorch 导数应用的使用教程
Aug 31 Python
Python实现简单的猜单词小游戏
Oct 28 Python
django inspectdb 操作已有数据库数据的使用步骤
Feb 07 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 生成WML页面方法详解
2009/08/09 PHP
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
phpstorm配置Xdebug进行调试PHP教程
2014/12/01 PHP
又拍云异步上传实例教程详解
2016/04/19 PHP
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
php7新特性的理解和比较总结
2019/04/14 PHP
Laravel 修改默认日志文件名称和位置的例子
2019/10/17 PHP
Laravel5.1 框架响应基本用法实例分析
2020/01/04 PHP
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
jquery checkbox全选、取消全选实现代码
2010/03/05 Javascript
javascript实现的一个随机点名功能
2014/08/26 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
2015/08/27 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
Vue2.2.0+新特性整理及注意事项
2018/08/22 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
简单了解JavaScript sort方法
2019/11/25 Javascript
OpenLayers3实现地图显示功能
2020/09/25 Javascript
python网络编程实例简析
2014/09/26 Python
vue.js实现输入框输入值内容实时响应变化示例
2018/07/07 Python
详解python实现小波变换的一个简单例子
2019/07/18 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
鼠标滚轮事件和Mac触控板双指事件
2019/12/23 HTML / CSS
详解HTML5常用的语义化标签
2019/09/27 HTML / CSS
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
国外的一些J2EE面试题一
2012/10/13 面试题
学习党的群众路线教育实践活动心得体会
2014/03/01 职场文书
贺卡寄语大全
2014/04/11 职场文书
连带责任保证书
2014/04/29 职场文书
图书室标语
2014/06/21 职场文书
地道战观后感300字
2015/06/04 职场文书
步步惊心观后感
2015/06/12 职场文书