解决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使用paramiko实现远程拷贝文件的方法
Apr 18 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
Sep 19 Python
Python使用Django实现博客系统完整版
Sep 29 Python
Python根据文件名批量转移图片的方法
Oct 21 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
Jan 29 Python
Python-ElasticSearch搜索查询的讲解
Feb 25 Python
python的set处理二维数组转一维数组的方法示例
May 31 Python
Python 字符串类型列表转换成真正列表类型过程解析
Aug 26 Python
Python实现在Windows平台修改文件属性
Mar 05 Python
在服务器上安装python3.8.2环境的教程详解
Apr 26 Python
python适合做数据挖掘吗
Jun 16 Python
scrapy结合selenium解析动态页面的实现
Sep 28 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
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
深入浅出php socket编程
2015/05/13 PHP
php设置页面超时时间解决方法
2015/09/22 PHP
PHP运行模式汇总
2016/11/06 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
动态修改DOM 里面的 id 属性的弊端分析
2008/09/03 Javascript
jQuery 页面载入进度条实现代码
2009/02/08 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
js获取域名的方法
2015/01/27 Javascript
JavaScript仿静态分页实现方法
2015/08/04 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
2015/11/24 Javascript
用NodeJS实现批量查询地理位置的经纬度接口
2016/08/16 NodeJs
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
vue.js 左侧二级菜单显示与隐藏切换的实例代码
2017/05/23 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
对angularJs中$sce服务安全显示html文本的实例
2018/09/30 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
详解JavaScript 浮点数运算的精度问题
2019/07/23 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
2020/08/06 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
Python编程中的for循环语句学习教程
2015/10/14 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
Python turtle画图库&&画姓名实例
2020/01/19 Python
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
团干部培训方案
2014/06/03 职场文书
公司员工离职感言
2015/08/03 职场文书