报错内容:

Traceback (most recent call last):File "/home/user1/main_arc_face.py", line 534, in <module>main()File "/home/user1/main_arc_face.py", line 315, in mainval_loss, prec1 = validate(val_loader, model, criterion)File "/home/user1/main_arc_face.py", line 455, in validateoutput = model(input)File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 493, in __call__result = self.forward(*input, **kwargs)File "/home/user1/arc_face/model.py", line 173, in forwardx = self.output_layer(x)File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 493, in __call__result = self.forward(*input, **kwargs)File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/nn/modules/container.py", line 92, in forwardinput = module(input)File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 493, in __call__result = self.forward(*input, **kwargs)File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/nn/modules/linear.py", line 92, in forwardreturn F.linear(input, self.weight, self.bias)File "/home/user1/miniconda3/lib/python3.7/site-packages/torch/nn/functional.py", line 1406, in linearret = torch.addmm(bias, input, weight.t())
RuntimeError: size mismatch, m1: [16 x 86016], m2: [25088 x 512] at /opt/conda/conda-bld/pytorch_1556653215914/work/aten/src/THC/generic/THCTensorMathBlas.cu:268

原因:调整了训练的图像输入,测试时的没有调整。导致训练没问题,测试报错。ArcFace不管是训练输入还是测试输入,都是112x112的(也可能不一定非得112,但是需要统一),所以训练改了测试也要改。transforms.Resize((112, 112)),

修复:

    val_loader = torch.utils.data.DataLoader(CelebA(args.data,'val_40_att_list.txt',transforms.Compose([transforms.Resize((112, 112)),transforms.ToTensor(),normalize,])),batch_size=args.test_batch, shuffle=False,num_workers=args.workers, pin_memory=True)

是怎么想到这一点的呢?
从这个报错来看:m1: [16 x 86016], m2: [25088 x 512]
86016 = 512 x 14 x 12,而25088 = 112 x 112 x 2
设置一个小的数据集做测试,在模型定义的forward函数中 报错的位置(x = self.output_layer(x)) 输出数据的shape,对比训练和测试时候的shape变化异同,可以发现问题。

    def forward(self,x):x = self.input_layer(x)x = self.body(x)# print(x.shape) x = self.output_layer(x)# print(x.shape) y = []for i in range(self.num_attributes):classifier = getattr(self, 'classifier' + str(i).zfill(2))y.append(classifier(x))return y

类似的问题在这里:pytorch RuntimeError size mismatch, m1: [64 x 100], m2: [784 x 128] at /pytorch/aten/src/TH/generic/THTensorMath.cpp:2070

pytorch RuntimeError: size mismatch, m1: [16 x 86016], m2: [25088 x 512] at /opt/conda/conda-bld/pyt相关推荐

  1. pytorch RuntimeError: size mismatch, m1: [64 x 784], m2: [784 x 10] at

    from torch import nnclass Mnist_Logistic(nn.Module):def __init__(self):super().__init__()self.lin=nn ...

  2. PyTorch RuntimeError: size mismatch, m1:

    在查看torch的FastRCNNPredictor官方实现时,想弄清楚一些细节,其中nn.Linear使用的时候需要给定(in_channels, num_classes). 随便打一点测试代码,报 ...

  3. pytorch搭建cnn报错:RuntimeError: size mismatch, m1: [10 x 43264], m2: [10816 x 2] at C...

    具体报错信息: Traceback (most recent call last):File "E:/Program Files/PyCharm 2019.2/machinelearning ...

  4. 做项目遇到问题 2 AWS NLP 剽窃RuntimeError: size mismatch, m1: [10 x 3], m2: [2 x 10]检测部署报错

    报错 RuntimeError: size mismatch, m1: [10 x 3], m2: [2 x 10] 原因: train.csv 为100x4    4列  第一列  标签是否剽窃  ...

  5. RuntimeError: size mismatch, m1: [80 x 4], m2: [320 x 50] at ..\aten\src\TH/generic/THTensorMath.cpp

    RuntimeError: size mismatch, m1: [80 x 4], m2: [320 x 50] at -\aten\src\TH/generic/THTensorMath.cpp: ...

  6. RuntimeError: size mismatch, m1: [512 x 12800], m2: [2048 x 1024] at C

    RuntimeError: size mismatch, m1: [512 x 12800], m2: [2048 x 1024] at C 说一下这错误,意思就是m1和m2两个数组尺寸不一样. 为啥 ...

  7. Pytorch-RuntimeError: size mismatch m1: [a x b], m2: [c x d]

    Pytorch-RuntimeError: size mismatch m1: [a x b], m2: [c x d] 在进行深度学习的代码中,在采用线性层进行转化的时候可能出现size misma ...

  8. 【error】RuntimeError: size mismatch与全连接fc层

    今天跑代码的时候遇到了这个错误: RuntimeError: size mismatch, m1:[1152 x 1] ,m2:[576 x 192] ,at /opt/conda/conda-bld ...

  9. RuntimeError: size mismatch

    RuntimeError: size mismatch出现于pytorch框架下加载VGG11预训练模型时出现的错误.笔者初期认为,出现该错误的主要原因是输出和输入的维度不匹配.带着疑惑,我们通过输出 ...

  10. 深度学习 cnn pytorch框架报错 size mismatch, m1: [ x ], m2: [ x ] Captcha.ImageCaptcha设置生成图片的大小尺寸

    看总结直接拉最后 这里很大程度是因为图片大小不一致,可以通过 resize命令来进行图片的归一化. 如果是通过captcha库里面的ImageCaptcha生成的验证码,百度上 没有任何资料说可以改变 ...

最新文章

  1. 新的一年,开始新的学习旅途
  2. sdut-1117 C语言实验——求绝对值(选择结构)
  3. ASP.NET MVC XML绑定Action参数列表
  4. Implementation:Bellman-ford
  5. bzoj3122 [Sdoi2013]随机数生成器(bsgs+扩欧+数列)
  6. jquery getjson php,jquery中调用php json函数的方法分享
  7. 虚拟机中部署ISA Server 2006 防火墙 网络设置(上)
  8. 计算机桌面工具栏出现闪烁,电脑任务栏图标一直闪动怎么解决
  9. 常见的激励函数和损失函数
  10. 关于数据依赖的公理系统之Armstrong公理系统推理证明
  11. [笑话]让古龙看了要痛哭的高考作文(作品相当强,但得了零分,据说被破格入取了)!!!...
  12. android-17手机,安卓手机好评排行:魅族17第四,小米10至尊第六,第一名意料之中...
  13. java mail 发送邮件_JavaMail实现收发邮件——(二)发送邮件
  14. C++实现DLL注入的完整过程
  15. graphql_GraphQL简介
  16. SQL Server高级教程
  17. 字符串低位优先排序(LSD)和高位优先排序(MSD)原理及C++实现
  18. 联想电脑一开机出现Checking Media Presence……
  19. 海量数据处理之 Bit-map 详细讲解
  20. 凡科建站产品体验报告

热门文章

  1. 在线QQ客服链接,只添加 qq号
  2. java画乌龟_简单的实现java多线程——龟兔赛跑
  3. ❤️肝下25万字的《决战Linux到精通》笔记,你的Linux水平将从入门到入魔❤️【建议收藏】
  4. LeetCode - 448 - 找出所有数组中消失的数字(find-numbers-disappeared-in-array)
  5. 晚安西南-----地破实验
  6. 计算机四级考448分算低吗,英语4级成绩,四级300多成绩单有用吗。
  7. 推荐个echarts网站
  8. 手机H5如何对接支付宝登陆授权以及支付(H5网站支付)
  9. nginx流媒体服务器性能,搭建nginx流媒体服务器(支持HLS)
  10. 标准的软件测试文档,软件测试上线的标准是什么?