深度学习语法笔记(一)——loss.item() -numpy() - unsqueeze() -MSELOSS()

本文介绍了如何在PyTorch中使用loss.item()获取高精度元素值,展示了MSE Loss函数的应用,并演示了张量转numpy及unsqueeze操作。重点讲解了在训练过程中这些技术的实用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

loss.item()

  • 1.item()取出张量具体位置的元素元素值
  • 2.并且返回的是该位置元素值的高精度值
  • 3.保持原元素类型不变;必须指定位置 一般用在求loss或者accuracy时,使用.item()
def item_use():
    # 理解:
    # 1.item()取出张量具体位置的元素元素值
    # 2.并且返回的是该位置元素值的高精度值
    # 3.保持原元素类型不变;必须指定位置
    #  一般用在求loss或者accuracy时,使用.item()
    import torch
    loss = torch.randn(2, 2)
    print(loss)
    print(loss[1, 1])
    print(loss[1, 1].item())
    # tensor([[-2.0274, -1.5974],
    #         [-1.4775, 1.9320]])
    # tensor(1.9320)
    # 1.9319512844085693

numpy()

  • 将tensor的数据转化成numpy.array()类型。

unsqueeze()

  • 作用:升维度:将指定位置的数据进行升高一个维度。
def unsqueeze_use():
    import torch
    input=torch.arange(0,6)
    print(input)
    print(input.shape)
    print(input.unsqueeze(0))
    print(input.unsqueeze(0).shape)
    print(input.unsqueeze(1))
    print(input.unsqueeze(1).shape)

MSELOSS()

  • 均方误差损失函数的计算和使用
def MSELOSS_use():
    import torch
    import numpy as np
    loss_fn = torch.nn.MSELoss(reduce=False, size_average=False)
    a = np.array([[1, 2], [3, 4]])
    b = np.array([[2, 3], [4, 5]])
    input = torch.autograd.Variable(torch.from_numpy(a))
    target = torch.autograd.Variable(torch.from_numpy(b))
    loss = loss_fn(input.float(), target.float())
    print(input.float())
    print(target.float())
    print(loss)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椒椒。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值