PyTorch 面试题
目录

PyTorch 中如何使用 torch.nn.MSELoss?

· 约 2 分钟读完 · 第 64 / 125 章

推荐答案

在 PyTorch 中,torch.nn.MSELoss 用于计算均方误差(Mean Squared Error, MSE)。以下是一个简单的示例,展示如何使用 torch.nn.MSELoss:

本题详细解读

1. 创建输入和目标张量

  • input 是模型的输出,通常是一个张量,形状为 (batch_size, *),其中 * 表示任意维度。
  • target 是目标值,通常也是一个张量,形状与 input 相同。

2. 创建 MSELoss 对象

  • nn.MSELoss() 创建一个均方误差损失函数的实例。默认情况下,reduction 参数为 'mean',表示计算所有元素的平均值。你也可以将其设置为 'sum' 或 'none'。

3. 计算损失

  • criterion(input, target) 计算输入和目标之间的均方误差。公式为: [ \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (input_i - target_i)^2 ] 其中 ( n ) 是元素的总数。

4. 反向传播

  • loss.backward() 计算梯度并反向传播,用于更新模型参数。

5. 输出损失

  • loss.item() 返回损失的值,作为一个 Python 浮点数。

通过以上步骤,你可以在 PyTorch 中使用 torch.nn.MSELoss 来计算均方误差损失,并用于训练模型。