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

PyTorch-Loss Function and BP

目录

1. Loss Function

1.1 L1Loss

1.2 MSELoss

1.3 CrossEntropyLoss

2. 交叉熵与神经网络模型的结合

2.1 反向传播

1. Loss Function

目的: 

a. 计算预测值与真实值之间的差距;

b. 可通过此条件,进行反向传播。

1.1 L1Loss

import torch
from torch.nn import L1Lossinputs = 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))  # 1-batch_size,1-channel,1×3
targets = torch.reshape(targets, (1, 1, 1, 3))
loss = L1Loss()
result = loss(inputs, targets)
print(result)  # tensor(0.6667)
loss1 = L1Loss(reduction='sum')
result1 = loss1(inputs, targets)
print(result1)  # tensor(2.)

1.2 MSELoss

import torch
from torch.nn import L1Loss, MSELossinputs = 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))  # 1-batch_size,1-channel,1×3
targets = torch.reshape(targets, (1, 1, 1, 3))
loss_mse = MSELoss()
res = loss_mse(inputs, targets)
print(res)  # tensor(1.3333)

1.3 CrossEntropyLoss

图片来源于:b站up主 我是土堆

It is useful when training a classification problem with C classes. 

import torch
from torch import nnx = torch.tensor([0.1, 0.2, 0.3])
y = torch.tensor([1])
x = torch.reshape(x, (1, 3))  # 1-batch_size,3 classes
loss_cross = nn.CrossEntropyLoss()
res = loss_cross(x, y)
print(res)  # tensor(1.1019)

2. 交叉熵与神经网络模型的结合

nn_loss_network.py

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(),download=True)
dataloader = DataLoader(dataset, batch_size=1)class MyModule(nn.Module):def __init__(self):super(MyModule, self).__init__()self.model1 = Sequential(Conv2d(3, 32, 5, padding=2),MaxPool2d(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 xmyModule1 = MyModule()
for data in dataloader:imgs, targets = dataoutputs = myModule1(imgs)print(outputs)print(targets)

tensor([[-0.1187,  0.1490, -0.1015,  0.0767, -0.0677, -0.0625,  0.0553, -0.0932,
         -0.0866,  0.0746]], grad_fn=<AddmmBackward0>)
tensor([1])

计算交叉熵损失

loss = nn.CrossEntropyLoss()
myModule1 = MyModule()
for data in dataloader:imgs, targets = dataoutputs = myModule1(imgs)res_loss = loss(outputs, targets)print(res_loss)

tensor(2.4315, grad_fn=<NllLossBackward0>)
tensor(2.3594, grad_fn=<NllLossBackward0>)
tensor(2.3659, grad_fn=<NllLossBackward0>)

...

2.1 反向传播

for data in dataloader:imgs, targets = dataoutputs = myModule1(imgs)res_loss = loss(outputs, targets)res_loss.backward()

相关文章:

PyTorch-Loss Function and BP

目录 1. Loss Function 1.1 L1Loss 1.2 MSELoss 1.3 CrossEntropyLoss 2. 交叉熵与神经网络模型的结合 2.1 反向传播 1. Loss Function 目的&#xff1a; a. 计算预测值与真实值之间的差距; b. 可通过此条件&#xff0c;进行反向传播。 1.1 L1Loss import torch from …...

centos docker安装mysql8

1、创建挂载文件夹 mkdir -p /mydata/mysql/log mkdir -p /mydata/mysql/data mkdir -p /mydata/mysql/conf 2、拉取镜像最新版本&#xff0c;如果写 mysql:8.0.26可以指定版本 docker pull mysql 3、启动命令 docker run -p 3306:3306 --restartalways -v /mydata/mysql/log:…...

Java中synchronized锁的深入理解

使用范围 synchronized使用上用于同步方法或者同步代码块在锁实现上是基于对象去实现使用中用于对static修饰的便是class类锁使用中用于对非static修饰的便是当前对象锁 synchronized的优化 在jdk1.6中对synchronized做了相关的优化 锁消除 在synchronized修饰的代码块中…...

Find My资讯|iOS17将重点改进钱包、Find My、SharePlay和AirPlay等功能

彭博社的马克・古尔曼&#xff08;Mark Gurman&#xff09;在最新一期 Power On 时事通讯中表示&#xff0c;苹果即将推出的 iOS 17 系统将改进 Wallet、Find My、SharePlay 和 AirPlay 等多项功能。 古尔曼在博文中还表示苹果会增强 Find My 的位置服务&#xff0c;同样也没…...

什么是webSocket?

什么是webSocket WebSockets是一种协议&#xff0c;它允许在Web应用程序中建立持久连接。这意味着当客户端与服务器建立连接后&#xff0c;它们可以始终保持连接状态&#xff0c;直到其中一个终止连接。相比于传统的HTTP协议&#xff0c;WebSockets提供了更高效的方式来处理实…...

黑马Redis视频教程高级篇(一:分布式缓存)

目录 分布式缓存 一、Redis持久化 1.1、RDB持久化 1.1.1、执行时机 1.1.2、RDB原理 1.1.3、小结 1.2、OF持久化 1.2.1、AOF原理 1.2.2、OF配置 1.2.3、AOF文件重写 1.3、RDB与AOF对比 二、Redis主从 2.1、搭建主从架构 2.1.1、集群结构 2.1.2、准备实例和配置 …...

SLMi331数明深力科带DESAT保护功能隔离驱动应用笔记

SLMi33X系列SLMi331数明深力科首款单通道带DESAT保护功能的IGBT/SiC隔离驱动器。内置快速去饱和(DESAT) 故障检测功能、米勒钳位功能、漏极开路故障反馈、软关断功能以及可选择的自恢复模式&#xff0c;兼容光耦隔离驱动器。 SLMi331的DESAT阈值为6.5V&#xff0c;其最大驱动电…...

【嵌入式Linux基础】启动初始化程序--init程序

文章目录 内核启动后初始化程序简介BusyBox initBuildroot init 脚本 后记 内核启动后 内核引导代码在initramfs中通过内核命令行中的root指定的文件系统中去寻找根系统文件&#xff0c;并执行一个相应的程序。在默认情况下&#xff0c;对于initramfs这个程序是/init&#xff0…...

基于Java实现农产品交易平台的设计与实现_kaic

【摘要】农业是我国国民经济的重要组成部分&#xff0c;随着信息化的普及&#xff0c;4G网络、光纤以及5G网络也日益完善&#xff0c;农业信息化的发展成为了必然。同时&#xff0c;由于本年疫情原因&#xff0c;导致农作物积压销售&#xff0c;甚至腐烂造成不必要的浪费&#…...

视频转换、视频压缩、录屏等工具合集:迅捷视频工具箱

这是一款功能强大的视频处理软件&#xff0c;提供了多种视频处理功能。可以使用该软件进行视频剪辑、视频转换、音频转换、视频录像、视频压缩、字幕贴图等多种操作。软件界面简洁易用&#xff0c;操作方便&#xff0c;可以满足各种视频处理需求。 基本功能 视频压缩&#xff…...

理解时序数据库的时间线

在当今数据爆炸的时代&#xff0c;时序数据已经成为企业和组织中不可或缺的一部分。它们包括了从传感器、监控设备、日志记录系统和金融交易等多种来源的大量数据&#xff0c;这些数据按照时间顺序排列&#xff0c;记录了各种事件和活动的发生和变化。时序数据的分析和处理对于…...

音视频技术开发周刊 | 295

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 微软炸通Windows与ChatGPT全家桶&#xff01;人手一个Copilot&#xff0c;AI宇宙降临 三位OpenAI掌舵人亲自撰文&#xff1a;我们应该如何治理超级智能&#xff1f; OpenA…...

15稳压二级管

目录 一、基本原理 二、I-V特性 三、工作原理 四、参数 1、Vz 2、Zzt和Zzk 3、IrVr 4、VfIf 5、Pd 五、应用 1、示例1 2、串联应用 3、钳位电路 六、动态电阻 一、基本原理 稳压二极管或“击穿二极管”(有时也称为齐纳二极管)基本上与标准PN结二极管相同&#xf…...

一些零零碎碎的记录

Questions1. 用户访问多网址服务器同一个IP是怎么回事 Q:用户访问服务器的同一个IP不同网址&#xff0c;服务器是如何区分的A: 在 HTTP 协议中&#xff0c;客户端通过发送请求报文来向服务器请求资源。每个 HTTP 请求都包含一个 HTTP 头部&#xff0c;其中包括了一些关键信息&…...

MyBatis - Spring Boot 集成 MyBatis

文章目录 1.版本要求2.导入依赖3.自动配置2.可配置项 MyBatis-Spring-Boot-Starter 可以帮助你更快地在 Spring Boot 之上构建 MyBatis 应用。通过使用该模块我们能够快速实现以下目的&#xff1a; 构建单体应用程序将几乎不需要样板配置使用更少的 XML 配置 1.版本要求 MyB…...

常见开源协议介绍

开源协议是指开放源代码软件的使用、修改和分发的规则。开源协议的出现&#xff0c;使得开发者可以在保护自己的知识产权的同时&#xff0c;也可以让其他人使用、修改和分发自己的代码。本文将介绍几种常见的开源协议。 一、GPL协议 GPL&#xff08;GNU General Public Licens…...

第十九章行为型模式—中介者模式

文章目录 中介者模式解决的问题结构实例存在的问题适用场景 中介者模式和代理模式的区别代理模式中介模式桥接模式总结 行为型模式用于描述程序在运行时复杂的流程控制&#xff0c;即描述多个类或对象之间怎样相互协作共同完成单个对象无法单独完成的任务&#xff0c;它涉及算法…...

AKStream部署1:ZLMediaKit流媒体服务器(win)

环境准备&#xff1a; windows10/11 visual stadio 2022(.net 6) cmake 3.22.0 git bash 没讲究直接下最新的 ffmpeg &#xff1a; ffmpeg-5.1.2-full_build VLC播放器&#xff1a;VLC media player ZLMediaKit&#xff1a;gitee地址 1、安装上述软件 例ffmpeg下载解压至某自定…...

【Redis】Redis 中地理位置功能 Geospatial 了解一下?

文章目录 前言一、Geospatial Indexes 的数据结构二、常用命令三、实用场景示例1. 找出某一经纬度周围的餐馆2. 按照距离排序查询景点 四、在实际开发中&#xff0c;需要注意以下几点&#xff1a; 前言 Geospatial Indexes 是 Redis 提供的一种数据结构&#xff0c;用于存储和…...

Qt Qml 实现键鼠长时间未操作锁屏

文章目录 摘要实现思路键盘鼠标监控百度到的方法我的自己方法 最后 关键字&#xff1a; Qt、 Qml、 QInputEvent 、 QStandardItem、 eventFilter 摘要 今日需求&#xff1a; 项目中需要实时检测用户是否长时间为操作键盘和鼠标&#xff0c;如果超过预设时间未操作键盘和…...

数据科学驱动的自动化分析:缠论量化开源工具包的技术实践与价值

数据科学驱动的自动化分析&#xff1a;缠论量化开源工具包的技术实践与价值 【免费下载链接】chanvis 基于TradingView本地SDK的可视化前后端代码&#xff0c;适用于缠论量化研究&#xff0c;和其他的基于几何交易的量化研究。 缠论量化 摩尔缠论 缠论可视化 TradingView TV-SD…...

Spring AI 流式输出底层原理解析

在 AI 应用开发中&#xff0c;流式输出早已成为提升用户体验的核心能力——像 ChatGPT 那样的打字机式实时回复&#xff0c;既能避免用户长时间干等&#xff0c;又能解决长连接超时问题&#xff0c;是 AI 产品的必备特性。 一、流式输出的两种技术&#xff0c;不是对立而是“底…...

AI辅助开发进阶:让快马智能助手帮你设计与优化专业图像处理库

今天想和大家分享一个很实用的开发经验——如何用AI辅助工具来优化和扩展专业图像处理库的开发。最近我在做一个Python图像处理工具库&#xff0c;正好用InsCode(快马)平台的AI功能做了些尝试&#xff0c;效果出乎意料的好。 先说说背景。这个工具库最初只有基础的图片缩放和滤…...

InoDriverShop参数设置避坑指南:如何避免伺服系统调试中的常见错误

InoDriverShop参数设置避坑指南&#xff1a;如何避免伺服系统调试中的常见错误 伺服系统调试是工业自动化领域中的关键环节&#xff0c;而InoDriverShop作为一款功能强大的伺服驱动配置工具&#xff0c;其参数设置的准确性直接影响到设备的运行性能。本文将深入剖析新手工程师…...

高效低成本馈电保护电路设计与应用

1. 为什么需要馈电保护电路&#xff1f; 有源天线在通信系统中扮演着重要角色&#xff0c;但实际使用中经常会遇到一些棘手的问题。比如在野外作业时&#xff0c;技术人员可能会频繁插拔天线&#xff1b;或者在长期运行过程中&#xff0c;天线内部电路可能出现故障。这些情况都…...

【flash-attn安装成功却import失败?一个ABI参数引发的‘血案’】

1. 为什么flash-attn安装成功却import失败&#xff1f; 最近在部署Llama2模型时&#xff0c;遇到了一个让人抓狂的问题&#xff1a;明明用pip安装了flash-attn&#xff0c;执行import时却报错提示找不到这个包。更诡异的是&#xff0c;pip list明明显示安装成功了&#xff0c;…...

FastAPI日志配置终极指南:10个简单步骤实现生产级日志管理

FastAPI日志配置终极指南&#xff1a;10个简单步骤实现生产级日志管理 【免费下载链接】fastapi FastAPI framework, high performance, easy to learn, fast to code, ready for production 项目地址: https://gitcode.com/GitHub_Trending/fa/fastapi FastAPI作为现代…...

Kodi中文插件库终极指南:3分钟打造你的智能家庭影院

Kodi中文插件库终极指南&#xff1a;3分钟打造你的智能家庭影院 【免费下载链接】xbmc-addons-chinese Addon scripts, plugins, and skins for XBMC Media Center. Special for chinese laguage. 项目地址: https://gitcode.com/gh_mirrors/xb/xbmc-addons-chinese 还在…...

VSCode配置PyTorch开发环境:从CUDA版本检查到镜像源加速(附常见报错解决方案)

VSCode配置PyTorch开发环境&#xff1a;从CUDA版本检查到镜像源加速&#xff08;附常见报错解决方案&#xff09; 在深度学习领域&#xff0c;PyTorch凭借其动态计算图和易用性已成为研究者和开发者的首选框架。然而&#xff0c;配置PyTorch开发环境时&#xff0c;CUDA版本匹配…...

文华财经与博易大师双轨期货多空变色线指标实战解析

1. 双轨期货多空变色线指标是什么&#xff1f; 如果你经常使用文华财经或博易大师进行期货交易&#xff0c;一定对主图上的各种技术指标不陌生。今天要介绍的这个双轨期货多空变色线指标&#xff0c;可以说是趋势交易者的"秘密武器"。简单来说&#xff0c;它就像给K线…...