当前位置: 首页 > news >正文

损失函数和反向传播

1. 损失函数的基础

import torch
from torch.nn import L1Loss
from torch import nninputs = torch.tensor([1, 2, 3], dtype=torch.float32)
targets = torch.tensor([1, 2, 5], dtype=torch.float32)inputs = torch.reshape(inputs, (1, 1, 1, 3))
targets = torch.reshape(targets, (1, 1, 1, 3))loss_l1 = L1Loss(reduction='sum') #默认为mean
result_l1  = loss_l1(inputs,targets)loos_mse = nn.MSELoss()
result_mes = loos_mse(inputs, targets)print(result_l1, result_mes)x = torch.tensor([0.1,0.2,0.3])
y = torch.tensor([1])
x = torch.reshape(x,(1,3)) #(N,C)
loss_cross = nn.CrossEntropyLoss()  #注意输入输出的维度 多看官网
result_cross = loss_cross(x,y)
print(result_cross)

2. 损失函数的运用

import torchvision
from torch import nn
from torch.nn import Sequential, Conv2d, MaxPool2d, Flatten, Linear
from torch.utils.data import DataLoaderdataset = torchvision.datasets.CIFAR10('./dataset',train=False, transform=torchvision.transforms.ToTensor())
dataloader = DataLoader(dataset, batch_size=1)class Tudui(nn.Module):def __init__(self):super().__init__()self.model1 = Sequential(Conv2d(3, 32, 5, padding=2),MaxPool2d(kernel_size=2),Conv2d(32, 32, 5, padding=2),MaxPool2d(2),Conv2d(32, 64, 5, padding=2),MaxPool2d(2),Flatten(),Linear(1024, 64),Linear(64, 10))def forward(self, x):x = self.model1(x)return xloss = nn.CrossEntropyLoss()tudui = Tudui()for data in dataloader:imgs, targets = dataoutputs = tudui(imgs)result_loss = loss(outputs, targets)print(result_loss)result_loss.backward() #梯度print('ok')
http://www.lryc.cn/news/318281.html

相关文章:

  • Nginx:配置拦截/禁用ip地址
  • css超出部分显示省略号
  • python-0001-安装虚拟环境
  • Python爬虫:原理与实战
  • C# danbooru Stable Diffusion 提示词反推 Onnx Demo
  • Windows系统搭建Cloudreve结合内网穿透打造可公网访问的私有云盘
  • upload-labs 0.1 靶机详解
  • react 综合题-旧版
  • 基于ElasticSearch存储海量AIS数据:AIS数据索引机制篇
  • IDEA中返回上一步和下一步快捷键失效【Ctrl+Alt+左箭头】
  • Hubspot 2023年推荐使用的11个AI视频生成器
  • Python 导入Excel三维坐标数据 生成三维曲面地形图(体) 5-2、线条平滑曲面且可通过面观察柱体变化(二)
  • [2024年]-flink面试真题(四)
  • 基于SpringBoot+Druid实现多数据源:原生注解式
  • AJAX 03 XMLHttpRequest、Promise、封装简易版 axios
  • 如何将办公资料文件生成二维码?扫码可看详情
  • 【Streamlit学习笔记】实现包含多个sheet的excel文件下载
  • [Redis]——主从同步原理(全量同步、增量同步)
  • Buildroot 之二 详解构建架构、流程、external tree、示例
  • 牛客小白月赛61-C-小喵觅食
  • 200 名专家编写报告:AI 发展可能对人类构成「灭绝级威胁」
  • 学习Android的第二十九天
  • SpringMVC重点记录
  • 一条 SQL 更新语句如何执行的
  • Github上哪些好用的安全工具1
  • 手写Mybatis自动填充插件
  • upload文件上传漏洞复现
  • Docker 安装部署 SqlServer 数据库
  • cmath 中cos sin等常用函数的坑(弧度角度换算)
  • 深度解析HTTP反向代理-okey proxy