解决pytorch 损失函数中输入输出不匹配的问题


Posted in Python onJune 05, 2021

一、pytorch 损失函数中输入输出不匹配问题

File "C:\Users\Rain\AppData\Local\Programs\Python\Anaconda.3.5.1\envs\python35\python35\lib\site-packages\torch\nn\modules\module.py", line 491, in __call__  result = self.forward(*input, **kwargs)

File "C:\Users\Rain\AppData\Local\Programs\Python\Anaconda.3.5.1\envs\python35\python35\lib\site-packages\torch\nn\modules\loss.py", line 500, in forward reduce=self.reduce)
 
File "C:\Users\Rain\AppData\Local\Programs\Python\Anaconda.3.5.1\envs\python35\python35\lib\site-packages\torch\nn\functional.py", line 1514, in binary_cross_entropy_with_logits
 
raise ValueError("Target size ({}) must be the same as input size ({})".format(target.size(), input.size()))
 
ValueError: Target size (torch.Size([32])) must be the same as input size (torch.Size([32,2]))

原因

input 和 target 尺寸不匹配

解决方案:

将target转为onehot

例如:

one_hot = torch.nn.functional.one_hot(masks, num_classes=args.num_classes)

二、Pytorch遇到权重不匹配的问题

最近,楼主在pytorch微调模型时遇到

size mismatch for fc.weight: copying a param with shape torch.Size([1000, 2048]) from checkpoint, the shape in current model is torch.Size([2, 2048]).

size mismatch for fc.bias: copying a param with shape torch.Size([1000]) from checkpoint, the shape in current model is torch.Size([2]).

这个是因为楼主下载的预训练模型中的全连接层是1000类别的,而楼主本人的类别只有2类,所以会报不匹配的错误

解决方案:

从报错信息可以看出,是fc层的权重参数不匹配,那我们只要不load 这一层的参数就可以了。

net = se_resnet50(num_classes=2)
pretrained_dict = torch.load("./senet/seresnet50-60a8950a85b2b.pkl")
model_dict = net.state_dict()
# 重新制作预训练的权重,主要是减去参数不匹配的层,楼主这边层名为“fc”
pretrained_dict = {k: v for k, v in pretrained_dict.items() if (k in model_dict and 'fc' not in k)}
# 更新权重
model_dict.update(pretrained_dict)
net.load_state_dict(model_dict)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python BeautifulSoup设置页面编码的方法
Apr 03 Python
Django查找网站项目根目录和对正则表达式的支持
Jul 15 Python
Python中functools模块函数解析
Mar 12 Python
Python检查和同步本地时间(北京时间)的实现方法
Dec 03 Python
Python实现带参数的用户验证功能装饰器示例
Dec 14 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 Python
Python3实现的判断回文链表算法示例
Mar 08 Python
Python Web版语音合成实例详解
Jul 16 Python
Python学习笔记之列表推导式实例分析
Aug 13 Python
django 连接数据库 sqlite的例子
Aug 14 Python
python线程信号量semaphore使用解析
Nov 30 Python
Python三维绘图之Matplotlib库的使用方法
Sep 20 Python
Pytorch distributed 多卡并行载入模型操作
Jun 05 #Python
Pytorch中的学习率衰减及其用法详解
Jun 05 #Python
pytorch finetuning 自己的图片进行训练操作
Jun 05 #Python
Python 如何将integer转化为罗马数(3999以内)
Jun 05 #Python
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
OpenCV中resize函数插值算法的实现过程(五种)
Jun 05 #Python
OpenCV全景图像拼接的实现示例
You might like
备份mysql数据库的php代码(一个表一个文件)
2010/05/28 PHP
linux下实现定时执行php脚本
2015/02/13 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
jQuery 联动日历实现代码
2012/05/31 Javascript
使用jQuery插件创建常规模态窗口登陆效果
2013/08/23 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
2013/12/31 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
2016/06/13 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
分享一个精简的vue.js 图片lazyload插件实例
2017/03/13 Javascript
Angular4表单验证代码详解
2017/09/03 Javascript
结合Vue控制字符和字节的显示个数的示例
2018/05/17 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
2020/04/14 Javascript
详解JavaScript中的this指向问题
2021/02/05 Javascript
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
Python实现基于KNN算法的笔迹识别功能详解
2018/07/09 Python
Python+OpenCV目标跟踪实现基本的运动检测
2018/07/10 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
Python中py文件转换成exe可执行文件的方法
2019/06/14 Python
python+logging+yaml实现日志分割
2019/07/22 Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
2020/03/09 Python
浅析Python requests 模块
2020/10/09 Python
Python Sqlalchemy如何实现select for update
2020/10/12 Python
python3中celery异步框架简单使用+守护进程方式启动
2021/01/20 Python
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
经济实惠的豪华家具:My-Furniture
2019/03/12 全球购物
2019年Java 最常见的 面试题
2016/10/19 面试题
如何在.net Winform里面显示PDF文档
2012/09/11 面试题
Linux文件操作命令都有哪些
2015/02/27 面试题
大学毕业生简单自荐信
2013/11/05 职场文书
文明家庭先进事迹材
2014/01/27 职场文书
骆驼祥子读书笔记
2015/06/26 职场文书
python自动化八大定位元素讲解
2021/07/09 Python