当前位置:   article > 正文

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

loss.item()

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/494879
推荐阅读
相关标签
  

闽ICP备14008679号