【pytorch】ValueError: Expected more than 1 value per channel when training
ValueError: Expected more than 1 value per channel when training
- 一、解决方案
- 二、问题分析
- 三、深入分析,修改源码
一、解决方案
- dataloader设置参数 drop_last=True1 丢弃掉最后单独的样本
- 在训练前用num_of_samples % batch_size 算一下会不会正好剩下一个样本2
- 如果模型只inference,无需更新参数可以设置model.eval()
- 修改源码,注释掉相关判断的源码3 (
自己心理得有数
)
我遇到的问题比较奇怪,使用BatchNorm1d报错,但是BatchNorm2d就正常…
二、问题分析
ValueError: Expected more than 1 value per channel when training, got input size torch.Size xxx
如果输入的batch size = 1就抛出ValueError,那我的BatchNorm2d是如何正常运行的?.. 继续调试
:
明明输入的batch_size=1,突然变成500了
擦。。输入的是:torch.Size([1, 128, 500, 1]) 经过上一行标黄处代码
,size_prods变了
如果输入torch.Size([1, 512]),size_prod不会改变
为什么使用BatchNorm1d报错,但是BatchNorm2d就正常... 原来是我应用它俩的场景不一样
三、深入分析,修改源码
BN详解4:Batch Normalization 学习笔记
需要明确,输入的batch_size=1 或者较小的话确实会影响BN参数的更新,以至于可能影响模型最后的效果
由于个人原因,需要batch_size=1时候的实验数据,故此记录
将相关代码注释,保留源函数 加个pass
空操作 - 插眼
解决报错:ValueError: Expected more than 1 value per channel when training ↩︎
Pytorch的12个坑 ↩︎
解决raise ValueError(“Expected more than 1 value per channel when training, got报错(亲测有效) ↩︎
Batch Normalization 学习笔记 ↩︎
【pytorch】ValueError: Expected more than 1 value per channel when training相关推荐
- Debug Pytorch: ValueError: Expected more than 1 value per channel when training, got input size tor
ValueError: Expected more than 1 value per channel when training, got input size torch.Size([1, 512] ...
- bn层Expected more than 1 value per channel when training, got input size torch.Size
报错代码: File "E:/project/fenge/jacke121-U-2-Net-master_mse/nets/bisnet.py", line 106, in for ...
- 【Pytorch】常见的人脸身份识别损失函数
[Pytorch]常见的人脸身份识别损失函数 实验环境准备:人脸多角度多光照的图像数据集MUCT(276个受试者)+ MobileNetV3 说明:对于人脸身份数据集MUCT,是少样本数据集,应该使用 ...
- 【PyTorch】8 语言翻译Torchtext实战——英语和德语翻译、Attention模型、 Pytorch 1.8 安装
torchtext 语言翻译 1. 数据处理 2. DataLoader 3. 定义nn.Module和Optimizer 4. 训练 4.1 Pytorch 1.8 安装 4.2 训练网络 5. 测 ...
- 【Pytorch】| Pytorch中softmax的dim的详细总结
[Pytorch]| Pytorch中softmax的dim的详细总结 关于softmax的理解 一维向量:dim=0和dim=-1结果相同,dim=1和dim=2会报错 二维张量:dim=1和dim ...
- 【PyTorch】09深度体验之图像分类
9 PyTorch深度体验 图像分类(Image Classification) [PyTorch]8.1 图像分类 9.1 模型如何完成图像分类? 图像分类的推理步骤: 9.2 ResNet18模型 ...
- 【PyTorch】构造VGG19网络进行本地图片分类(超详细过程)——项目介绍
本篇博客主要解决以下3个问题: 如何自定义网络(以VGG19为例). 如何自建数据集并加载至模型中. 如何使用自定义数据训练自定义模型. 第一篇:[PyTorch]构造VGG19网络进行本地图片分类( ...
- 【金融】【pytorch】使用深度学习预测期货收盘价涨跌——全连接神经网络模型构建与训练
[金融][pytorch]使用深度学习预测期货收盘价涨跌--全连接神经网络模型构建与训练 模型构建与训练 模型构建与训练 def get_accuracy(SR,GT,threshold=0.5):S ...
- 【金融】【pytorch】使用深度学习预测期货收盘价涨跌——LSTM模型构建与训练
[金融][pytorch]使用深度学习预测期货收盘价涨跌--LSTM模型构建与训练 LSTM 创建模型 模型训练 查看指标 LSTM 创建模型 指标函数参考<如何用keras/tf/pytorc ...
最新文章
- 在全面部署 IPV6 前,你需要了解都在这儿
- 学python用什么教材-金融学专业学python用什么教材或课外资料比较好?
- 学习笔记---母板页、用户控件、第三方控件及视图状态管理
- Silverlight 参考:三维效果(透视转换) -- MSN
- ubuntu 下通过 sh 命令运行脚本产生如下错误:[: y: unexpected operator
- php 获取设备,PHP获取设备类型实例代码
- java中的args参数
- 【css】响应式布局 @media媒介 适配平板手机
- TensorFlow 2.0简介
- 深度比较Map的遍历
- android ui新控件,android_常用UI控件_01_TextView3_点击打开新的activity
- python单词的含义-Python常用英文单词有哪些?
- a链接下载文件名乱码
- 中国大学MOOC电影鉴赏题库(含答案)
- Html+Css实现鼠标经过图片放大
- 盗版WIN7的管理员权限
- 《研发企业管理——思想、方法、流程和工具》——第1章 企业管理基本理念 1.1 企业的根本目标及其内涵...
- 记录-老联想笔记本安装 centos8
- c语言switch不可以用枚举,化解一个误区,其实switch和enum是能够很方便配合使用的...
- Java实现AES加密算法