大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
在pytorch中,经常使用nn.MSELoss作为损失函数,例如
loss=nn.MSELoss()
input=torch.randn(3,5,requires_grad=True)
target=torch.randn(3,5)
error=loss(input,target)
error.backward()
这个地方有一个巨坑,就是一定要小心input和target的位置,说的更具体一些,target一定需要是一个不能被训练更新的、requires_grad=False的值,否则会报错!!!
另外,关于MSELoss的设定
若设定loss=torch.nn.MSELoss(reduction=’mean’),最终输出值是(target-input)每个元素数字平方和除以width x height,也就是在batch和特征维度上都做了平均。如果只想在batch上做平均,则可以写成这个样子:
#需要注意的是,这里的input和target是mini-batch的形式
loss=torch.nn.MSELoss(reduction='sum')
loss=loss(input,target)/target.size(0)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/192353.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...