ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

pytorch BN层报错:ValueError: expected 4D input (got 2D input)

2021-05-20 15:05:18  阅读:1103  来源: 互联网

标签:层报 user1 BN py File home input line


报错:

Traceback (most recent call last):
  File "train_noPfc.py", line 201, in <module>
    main(args_)
  File "train_noPfc.py", line 160, in main
    f_masked, focc_masked, output, output_occ, f_diff, out = backbone(img1, img2)
  File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/nn/parallel/distributed.py", line 619, in forward
    output = self.module(*inputs[0], **kwargs[0])
  File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/home/user1/pjs/frvt/mask/siamese/debug/0510_noPfc_2branch_iter_pdsn/2branch_alter_1update/recognition/arcface_torch/backbones/iresnet.py", line 172, in forward
    fc1 = self.fc_(fc1)
  File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/nn/modules/container.py", line 117, in forward
    input = module(input)
  File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/nn/modules/batchnorm.py", line 98, in forward
    self._check_input_dim(input)
  File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/nn/modules/batchnorm.py", line 282, in _check_input_dim
    .format(input.dim()))
ValueError: expected 4D input (got 2D input)
Traceback (most recent call last):
  File "/home/user1/miniconda3/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/user1/miniconda3/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/distributed/launch.py", line 260, in <module>
    main()
  File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/distributed/launch.py", line 256, in main
    cmd=cmd)

分析:你可能是使用了nn.BatchNorm2d网络层,它要求输入是4维的。

解决:
可以改为nn.BatchNorm1d,接收二维输入。

https://discuss.pytorch.org/t/batchnorm2d-valueerror-expected-4d-input-got-2d-input/85110

标签:层报,user1,BN,py,File,home,input,line
来源: https://blog.csdn.net/qxqxqzzz/article/details/117076305

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有