1 问题描述

在使用PyTorch编程的时候,经常遇到一种报错就是:“RuntimeError: running_mean should contain *** elements not ***”;

这次我具体的报错信息是:

File "/home/***/software/python/anaconda/anaconda3/envs/conda-general/lib/python3.7/site-packages/torch/nn/modules/module.py", line 541, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/***/software/python/anaconda/anaconda3/envs/conda-general/lib/python3.7/site-packages/torch/nn/modules/container.py", line 92, in forward
    input = module(input)
  File "/home/***/software/python/anaconda/anaconda3/envs/conda-general/lib/python3.7/site-packages/torch/nn/modules/module.py", line 541, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/***/software/python/anaconda/anaconda3/envs/conda-general/lib/python3.7/site-packages/torch/nn/modules/batchnorm.py", line 81, in forward
    exponential_average_factor, self.eps)
  File "/home/***/software/python/anaconda/anaconda3/envs/conda-general/lib/python3.7/site-packages/torch/nn/functional.py", line 1670, in batch_norm
    training, momentum, eps, torch.backends.cudnn.enabled
RuntimeError: running_mean should contain 192 elements not 768

从最后一行的报错信息,可以看到:进行求均值元素的总数应该是192而不是768;

2 解决方案

我们可以继续看看上一条提示信息:“File "/home/***/software/python/anaconda/anaconda3/envs/conda-general/lib/python3.7/site-packages/torch/nn/functional.py", line 1670, in batch_norm

有一个值得注意的信息是batch_norm,而我们的模型中也刚好使用了BN的操作,所以应该是BN的设置出现了问题,

我们回到代码定位的部分进行查看,需要查看的是BN初始化设置的代码,然后看到了下面的代码:

modules = [nn.Sequential(nn.Conv2d(in_channels, OUT_CHANNELS, 1, groups=1, bias=False),nn.BatchNorm2d(in_channels),nn.ReLU()),

我们可以看到,果然,BatchNorm2d的输入通道数与前一层Conv2d的输出通道数不一致,而这里的OUT_CHANNELS=192,in_channels=768,所以造成了这种维度的不一致,所以才会报错;

所以,我们需要根据自己模型的设计,将BN层与Conv层的输出维度保持一致。

PyTorch——解决报错“RuntimeError: running_mean should contain *** elements not ***”相关推荐

  1. 解决pytorch CrossEntropyLoss报错RuntimeError: 1D target tensor expected, multi-target not supported

    解决方法 CrossEntropyLoss(预测值,label)需要的输入维度是: 有batch时,预测值维度为2,size为[ batch_size, n ]时,label的维度是1,size为[ ...

  2. 解决报错“RuntimeError - [Xcodeproj] Unknown object version.”

    在 pod install 时提示错误: ### Error ``` RuntimeError - [Xcodeproj] Unknown object version. /Library/Ruby/ ...

  3. pytorch并行报错RuntimeError: unable to write to file</torch_xxx>

    问题主要是使用multiprocessing在每一轮训练时并行随机产生数据时,job.get()数据超过了torch的暂存内存,参考了以下文章,加入代码或者降低了num_pool都没有解决我的问题 h ...

  4. 解决fitz模块报错RuntimeError: Directory ‘static/‘ does not exist

    报错 fitz模块报错RuntimeError: Directory 'static/' does not exist 原因 使用Python处理PDF文档时,需要使用fitz模块.由于Python ...

  5. Pytorch_Geometric(PyG)使用DataLoader报错RuntimeError: Sizes of tensors must match except in dimension 0.

    使用Pytorch_Geometric(PyG)时构建DataLoader,从DataLoader获取样本Batch时报错:RuntimeError: Sizes of tensors must ma ...

  6. DDP报错::RuntimeError: Expected all tensors to be on the same device, but found at least two devic

    DDP报错 RuntimeError: Expected all tensors to be on the same device, but found at least two devices, c ...

  7. 解决报错: MobaXterm X11 proxy: Unsupported authorisation protocol

    此文首发于我的个人博客:解决报错 MobaXterm X11 proxy Unsupported authorisation protocol - zhang0peter的个人博客 今天在使用Moba ...

  8. Sublime Text 3便携版下载安装和常用插件安装--顺便解决报错An error occured installing和no packages available for install

    文章目录 Sublime Text 3便携版下载安装和常用插件安装 1.Sublime Text 3便携版下载: 2.sublime 插件控制器(Package Control)安装 2.1离线安装P ...

  9. Intel Realsense D435运行报错 RuntimeError: Camera not connected! dev.hardware_reset()函数需加睡眠sleep()

    解决方案: 参考:Intel Realsense D435报错 RuntimeError: MFCreateDeviceSource(_device_attrs, &_source) retu ...

最新文章

  1. python 语料标注_在python中怎么标记文本?
  2. 源码安装mysql主从_mysql源码安装和主从同步配置
  3. 日活4000万,占据22%手游时长份额的竟然是……(文末有彩蛋)
  4. oracle 触发器的种类和触发事件
  5. chrome浏览器世界之窗浏览器的收藏夹在哪?
  6. 华为EMUI 10系统内测截图曝光:基于Android 10.0
  7. windows,linux下SVN实现自动更新WEB目录
  8. 自定义线程池-c#的简单实现
  9. Compile syslog-win32
  10. linux-LNMP一键安装Error: MySQL install failed. Error: PHP install failed
  11. 基于SSM框架的考勤签到请假系统
  12. ftp怎么用计算机打开 不用浏览器打开,win7 访问ftp站点 不用浏览器显示
  13. Spring Validation 验证框架全面总结
  14. java liveness_并发 - 活跃度(Liveness) - 《Java 编程要点(Essential Java)》 - 书栈网 · BookStack...
  15. Day4-STM32的中断与通信——百问网7天物联网智能家居
  16. 阵列信号处理笔记-波达方向DOA-子空间方法
  17. ROS暑期学校与ROSCon 2018
  18. Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配
  19. Oracle--ORA-01144 报错解决方案
  20. 【c++】_Debug_lt_pred

热门文章

  1. tomcat端口被占用了怎么办
  2. 服创大赛第二次讨论_2019-01-19
  3. [UE4]虚幻引擎UE4如何制作可拖动(Drag and Drop)的背包(Scrollbox)(转载)
  4. Python新式类与经典类(旧式类)的区别
  5. oracle初级系列教程
  6. python学习笔记(十一)-python程序目录工程化
  7. 解决Python开发过程中依赖库打包问题的方法
  8. 驰骋工作流引擎-总体介绍
  9. 事务的隔离级别 数据库
  10. 【笔记目录】南邮(通达)计算机专业基础