PyTorch基础:神经网络工具箱torch.nn(损失函数)

在深度学习中,损失函数反应模型最后预测结果与实际真值之间的差异,可以用来分析训练过程的好坏、模型是否收敛等,例如均方误差、交叉熵损失等。在PyTorch中,损失函数可以看做是网络的某一层而放到模型定义中,但在实际使用时更偏向于作为功能函数放到前向传播过程中
PyTorch在torch.nn即torch.nn.functional中都提供了各种损失函数,通常来讲,由于损失函数不含有可学习的参数,因此这两者在功能上基本没有区别

>>> #在perception.py终端环境继续运行,来进一步求损失
>>> from torch import nn
>>> import torch.nn.functional as F
>>> output
tensor([[0.8806, 0.5558],
        [0.9010, 0.5695],
        [0.9133, 0.5829],
        [0.8642, 0.5535]], grad_fn=<SigmoidBackward>)
>>> #设置标签,由于是二分类,一共有4个样本,因此标签维度为1*4,每个数为0或1两个类别
>>> label = torch.Tensor([0,1,1,0]).long()
>>> #实例化nn中的交叉熵损失
>>> criterion = nn.CrossEntropyLoss()
>>> #调用交叉熵损失
>>> loss_nn = criterion(output,label)
>>> loss_nn
tensor(0.7096, grad_fn=<NllLossBackward>)
>>> #由于F.cross_entropy是一个函数,因此可以直接调用,不需要实例化,两者求得的损失值相同
>>> loss_functional = F.cross_entropy(output,label)
>>> loss_functional
tensor(0.7096, grad_fn=<NllLossBackward>)

perception.py:添加链接描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

丁天牛

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

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

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

打赏作者

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

抵扣说明:

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

余额充值