TypeError: norm() received an invalid combination of arguments解决办法

1.问题

使用pytorch中torch.nn.functional模块时,出现以下报错:在这里插入图片描述
问题代码位于:

mean, std = [0.485, 0.456, 0.406], [0.229, 0.224, 0.225]
inputs = F.normalize(inputs, mean, std)
targets = F.normalize(targets, mean, std)

想要利用F.normalize进行归一化操作,传入参数为预定义好的均值mean和标准差std。但是F.normalize函数想要传入的参数并不是这两个,因此就会出现上述错误。即F.normalize希望传入上面截图中的6种参数,但是实际接收到的是(Tensor, list, list, keepdim=bool)类型,因此报错。博主用的torch版本是torch 1.8。

2.解决办法

将F.normalize函数改为torchvision.transform.Normalize即可。

import torchvision.transform as transform

mean, std = [0.485, 0.456, 0.406], [0.229, 0.224, 0.225]
trans = transform.Normalize(mean, std)  # 构建一个归一化操作并命名为trans
inputs = trans(inputs) # 将input传入trans即可

以上便可实现与原F.normalize一样功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值