You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyTorch中nn.MSELoss(reduction='mean')对时序数据的平均范围问询

PyTorch中nn.MSELoss(reduction="mean")对时序数据的均值计算范围

当使用nn.MSELoss(reduction="mean")处理形状为(minibatch, feature, sequence length)的时序数据时,均值计算是对所有维度(批量、特征、时序)里的每一个元素求整体平均,并非仅针对批量维度。

你的验证代码解析

你写的代码刚好能印证这一点:

  • x_t是全1的张量,x_est是全2的张量,每个元素的均方误差都是(2-1)²=1
  • 哪怕张量总共有32×4×100=12800个元素,所有元素的平均值还是1,所以最终输出为tensor(1.)

完整可运行代码

import torch
import torch.nn as nn

# 默认reduction='mean'
loss_fn = nn.MSELoss()
# 形状:[批量大小, 特征数, 时序长度]
x_t = torch.ones((32, 4, 100))
x_est = torch.ones((32, 4, 100)) * 2

loss_result = loss_fn(x_t, x_est)
print(loss_result)

运行输出

tensor(1.)

内容的提问来源于stack exchange,提问作者user23880552

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 01:33:14