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

深度学习中的离群值

文章目录

    • 深度学习中有离群值吗?
      • 深度学习中的离群值来源:
      • 处理离群值的策略:
        • 1. 数据预处理阶段:
        • 2. 数据增强和鲁棒模型:
        • 3. 模型训练阶段:
        • 4. 异常检测集成模型:
      • 如何处理对抗样本?
      • 总结:
    • 能够使用PyTorch检测离群值吗?
    • 1. 基于 Z-Score 的离群值检测
      • 原理:
      • 代码示例:
    • 2. 基于 IQR 的离群值检测
      • 原理:
      • 代码示例:
    • 3. 使用自动编码器(Autoencoder)检测离群值
      • 原理:
      • 代码示例:
    • 4. 使用 Isolation Forest 检测离群值(借助 sklearn)
      • 代码示例:
    • 5. 使用基于密度的算法(DBSCAN)检测离群值
      • 原理:
      • 代码示例:
    • 总结:
    • 相关阅读

深度学习中有离群值吗?

是的,和许多刚刚接触深度学习的工程师默认的不一样的是——深度学习中也会遇到离群值(Outliers)。这些异常值可能存在于输入数据或标签中,并对模型的训练和预测结果产生负面影响。


深度学习中的离群值来源:

  1. 输入特征异常:

    • 数据采集错误(例如传感器故障或录入错误)。
    • 数据预处理错误特征缩放问题。(这些错误甚至可能是模型训练者自己进行错误的数据增强造成的)
  2. 标签异常:

    • 手动标注错误(例如分类错误的标签,在一些有名的开源数据集中,偶尔也会存在这类问题)。在一篇新论文中,麻省理工 CSAIL 和亚马逊的研究者对 10 个主流机器学习数据集的测试集展开了研究,发现它们的平均错误率竟高达 3.4%。其中,最有名的 ImageNet 数据集的验证集中至少存在 2916 个错误,错误率为 6%;QuickDraw 数据集中至少存在 500 万个错误,错误率为 10%。论文链接:https://arxiv.org/pdf/2103.14749.pdf

    • 噪声或异常样本影响训练数据集。

  3. 特征空间偏差:

    • 特征分布存在长尾效应极端值
  4. 对抗样本:

    • 特意设计的输入,导致模型错误分类或输出异常结果(例如对抗攻击)。

处理离群值的策略:

1. 数据预处理阶段:

(a) 可视化分析

  • 绘制箱线图、散点图或直方图观察异常值分布。
  • 示例代码:
import matplotlib.pyplot as plt
plt.boxplot(data)
plt.show()

(b) 统计检测法

  • 使用 Z-Score 或 IQR 方法检测离群值(适合小规模数据)。

© 清洗数据

  • 删除离群值: 如果异常值是错误数据,可以直接移除。
  • 替代或修正: 替换为均值、中位数或插值估计值。

2. 数据增强和鲁棒模型:

(a) 数据增强(Data Augmentation):

  • 使用扩增技术生成更多样化的样本,减少异常值的影响(错误的数据增强也会产生离群值数据,要对数据增强产生的数据进行检测,以避免该问题)。

(b) 使用鲁棒模型:

  • 在训练深度学习模型时采用损失函数对离群值不敏感的方法,例如:

    • Huber Loss:兼顾均方误差和绝对误差。
    • Smooth L1 Loss:对离群值具有更高的鲁棒性。
    • 示例代码:
    import torch.nn as nn
    loss = nn.SmoothL1Loss()
    

3. 模型训练阶段:

(a) Early Stopping 和正则化:

  • 使用Early Stopping防止模型过拟合异常样本。
  • 使用L1/L2正则化约束权重,降低对极端值的敏感性。

(b) Dropout 技术:

  • 随机丢弃部分神经元,减少模型对异常值的依赖。

4. 异常检测集成模型:

(a) 使用孤立森林或 LOF 检测异常值:
在深度学习之前,可以结合机器学习算法先检测异常样本,再将清洗后的数据输入深度学习模型。

(b) 使用自动编码器(Autoencoder):
训练一个自编码器重建输入数据,计算重建误差来检测异常值。

from keras.models import Model, Sequential
from keras.layers import Dense, Input# 建立 Autoencoder
input_dim = X_train.shape[1]
model = Sequential([Dense(64, activation='relu', input_shape=(input_dim,)),Dense(32, activation='relu'),Dense(64, activation='relu'),Dense(input_dim, activation='sigmoid')
])
model.compile(optimizer='adam', loss='mse')# 使用重建误差检测异常值
reconstruction = model.predict(X_test)
mse = np.mean(np.power(X_test - reconstruction, 2), axis=1)
threshold = np.percentile(mse, 95)  # 取阈值
outliers = X_test[mse > threshold]

如何处理对抗样本?

  1. 对抗训练: 使用生成对抗样本增强模型鲁棒性。
  2. 正则化约束: 如 FGSM(Fast Gradient Sign Method)等方法提高模型的稳定性。
  3. 检测机制: 在输入层增加检测模块,过滤异常输入。

总结:

深度学习中的离群值可能来源于输入特征或标签的异常分布,对模型训练和预测精度产生负面影响。因此,可以通过数据预处理、鲁棒损失函数、正则化、数据增强和异常检测模型等方法降低其影响。同时,对于更复杂的问题如对抗样本,需要额外设计防御机制来保护模型安全性。

此外目前也有专门用于处理数据集标注错误的深度学习模型,有兴趣的朋友可以去自行了解一下。

关键字:置信学习。可参考阅读: 关于置信学习的文献综述(简易版)

能够使用PyTorch检测离群值吗?

首先回答,是的。不过方法大同小异。

PyTorch 中,可以使用多种方法来检测离群值。以下是几种常用的方法及代码示例:


1. 基于 Z-Score 的离群值检测

原理:

计算每个数据点的 Z-Score,如果其绝对值大于某个阈值(如 3),则认为是离群值。

代码示例:

import torch# 示例数据
data = torch.tensor([10, 12, 11, 13, 300, 14, 15], dtype=torch.float)# 计算均值和标准差
mean = torch.mean(data)
std = torch.std(data)# 计算 Z-Score
z_scores = (data - mean) / std# 筛选离群值
threshold = 3  # 设置阈值
outliers = data[torch.abs(z_scores) > threshold]
print("Outliers:", outliers)

2. 基于 IQR 的离群值检测

原理:

通过计算四分位数范围 (IQR),判断是否超出 1.5 倍 IQR 的范围。

代码示例:

import torch# 示例数据
data = torch.tensor([10, 12, 11, 13, 300, 14, 15], dtype=torch.float)# 计算四分位数
Q1 = torch.quantile(data, 0.25)
Q3 = torch.quantile(data, 0.75)
IQR = Q3 - Q1# 计算边界
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR# 筛选离群值
outliers = data[(data < lower_bound) | (data > upper_bound)]
print("Outliers:", outliers)

3. 使用自动编码器(Autoencoder)检测离群值

原理:

  • 训练一个自编码器将输入数据重建,如果重建误差较大,则认为是离群值。
  • 自编码器适合处理高维数据或复杂模式的离群检测。

代码示例:

import torch
import torch.nn as nn
import torch.optim as optim# 数据集
data = torch.tensor([[10.0], [12.0], [11.0], [13.0], [300.0], [14.0], [15.0]])# 定义 Autoencoder
class Autoencoder(nn.Module):def __init__(self):super(Autoencoder, self).__init__()self.encoder = nn.Sequential(nn.Linear(1, 4),nn.ReLU(),nn.Linear(4, 2),nn.ReLU())self.decoder = nn.Sequential(nn.Linear(2, 4),nn.ReLU(),nn.Linear(4, 1))def forward(self, x):x = self.encoder(x)x = self.decoder(x)return x# 初始化模型和参数
model = Autoencoder()
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.01)# 训练模型
epochs = 100
for epoch in range(epochs):optimizer.zero_grad()outputs = model(data)loss = criterion(outputs, data)loss.backward()optimizer.step()# 检测异常值
with torch.no_grad():predictions = model(data)mse = torch.mean((data - predictions) ** 2, dim=1)threshold = torch.quantile(mse, 0.95)  # 设定阈值outliers = data[mse > threshold]print("Outliers:", outliers)

4. 使用 Isolation Forest 检测离群值(借助 sklearn)

虽然 PyTorch 没有直接支持 Isolation Forest,但可以结合 sklearn 的 Isolation Forest 提取异常值后处理。

代码示例:

from sklearn.ensemble import IsolationForest
import torch# 示例数据
data = torch.tensor([[10], [12], [11], [13], [300], [14], [15]], dtype=torch.float)# 使用 Isolation Forest 模型
clf = IsolationForest(contamination=0.1, random_state=42)
predictions = clf.fit_predict(data)# 筛选离群值
outliers = data[predictions == -1]
print("Outliers:", outliers)

5. 使用基于密度的算法(DBSCAN)检测离群值

原理:

DBSCAN 根据密度聚类检测密度较低的数据点,这些点可能是离群值。

代码示例:

from sklearn.cluster import DBSCAN
import torch# 示例数据
data = torch.tensor([[10], [12], [11], [13], [300], [14], [15]], dtype=torch.float)# 使用 DBSCAN 模型
dbscan = DBSCAN(eps=3, min_samples=2)
labels = dbscan.fit_predict(data)# 筛选离群值
outliers = data[labels == -1]
print("Outliers:", outliers)

总结:

深度学习中存在异常值,并且会产生负面影响。可以使用以下方法进行处理:

  1. 低维数据: 可以直接使用 Z-Score 或 IQR 等统计方法检测异常值。
  2. 高维或复杂数据: 使用 Autoencoder 或 Isolation Forest 检测异常值。
  3. 密度分析: DBSCAN 更适合非线性分布或簇状数据的离群检测。

这些方法可以根据具体任务需求灵活选择和组合使用。

相关阅读

  • 什么是离群值?如何检测?
  • 文本分类中的离群值特征
  • 关于置信学习的文献综述(简易版)

相关文章:

深度学习中的离群值

文章目录 深度学习中有离群值吗&#xff1f;深度学习中的离群值来源&#xff1a;处理离群值的策略&#xff1a;1. 数据预处理阶段&#xff1a;2. 数据增强和鲁棒模型&#xff1a;3. 模型训练阶段&#xff1a;4. 异常检测集成模型&#xff1a; 如何处理对抗样本&#xff1f;总结…...

汽车燃油软件标定测试

油箱测试 确定油箱的参数&#xff1a; 总容积&#xff0c;额定容积&#xff0c;不可用容积等。油泵测试&#xff08;静态&#xff09; 分为加油测试&#xff0c;减油测试&#xff0c;1L或者500ml增减&#xff1b; 分别测试油泵的阻值输出&#xff0c;类似&#xff1a; 油量 阻…...

#C02L02P01. C02.L02.一维数组最值问题.知识点1.求最大值

从键盘读入n&#xff08;1<n<100&#xff09;个正整数&#xff0c;输出最大值。 算法分析 假设一个最大值 maxx0 &#xff1b; maxx 依次跟数组中的元素进行比较&#xff1b; 如果该数组元素大于 maxx &#xff0c;则将该数组元素值赋值给 maxx &#xff1b; maxx 即…...

pycharm如何拉取一个git项目,然后,修改后再上传到自建的项目中?

以chattts为例 https://github.com/2noise/ChatTTS.git 1.建一个虚拟环境&#xff0c;用于项目使用 2.pychar&#xff4d;新建工程 &#xff13;.忽略 提示 勾选&#xff0c;新建远程仓库 设置账号和密码 设置git路径&#xff0c;一般是正确的&#xff0c;点测试即可 &…...

【数据库初阶】MySQL中表的约束(上)

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; 数据库初阶 &#x1f389;其它专栏&#xff1a; C初阶 | C进阶 | 初阶数据结构 亲爱的小伙伴们&#xff0c;大家好&#xff01;在这篇文章中&#xff0c;我们将深入浅出地为大家讲解 MySQL…...

smbms超市管理系统

系统测试及实现效果 完整源码已上传资源 登录界面 系统首页 订单管理页面 用户管理页面 供应商管理页面 密码修改 SQL语句分析 存储引擎&#xff1a;InnoDB&#xff0c;支持事务和外键&#xff1b;字符集&#xff1a;utf8&#xff0c;支持多语言字符&#xff1b;排序规则&am…...

Visual Studio 中增加的AI功能

前言&#xff1a; 人工智能的发展&#xff0c;在现在&#xff0c;编程技术的IDE里面也融合了AI的基本操做。本例&#xff0c;以微软的Visual Studio中的人工智能的功能介绍例子。 本例的环境&#xff1a; Visual Studio 17.12 1 AI 智能变量检测&#xff1a; 上图展示了一…...

大功率PCB设计

1.电源和电机的走线用线径较大的铺铜&#xff0c;讲究的是走线顺畅&#xff1a; 2.同一个电源属性四层板都铺铜&#xff0c;并打很多过孔: 3.走线顺畅&#xff0c;可以看到从左到右供电。从右向左接地&#xff0c;加电流采样&#xff1a; 一个问题&#xff0c;这样会形成电源环…...

Nginx与frp结合实现局域网和公网的双重https服务

背景&#xff1a; 因为局域网内架设了 tiddlywiki、 Nextcloud 等服务&#xff0c;同时也把公司的网站架设在了本地&#xff0c;为了实现局域网直接在局域网内访问&#xff0c;而外部访问通过frps服务器作为反向代理的目的&#xff0c;才有此内容。 实现的效果如下图琐事 不喜欢…...

改投论文时如何重构

摘要: 不同期刊和会议对于论文的风格、页数限制等方面有一些差别, 论文在某个地方被拒, 改投别处时需要进行重构. 本贴描述重构的基本方案. 你的衣柜乱糟糟的, 如何清理呢? 方案 A. 把不喜欢的衣服一件件丢掉.方案 B. 把衣服全部丢出来, 然后再把喜欢的衣服一件件放进去. 对…...

【YOLOv5】源码(common.py)

该文件位于/models/common.py&#xff0c;提供了构建YOLOv5模型的各种基础模块&#xff0c;其中包含了常用的功能模块&#xff0c;如自动填充autopad函数、标准卷积层Conv、瓶颈层Bottleneck、C3、SPPF、Concat层等 参考笔记&#xff1a;【YOLOv3】 源码&#xff08;common.py…...

python中的赋值方法

python赋值方法有很多&#xff0c;主要可以分为链式赋值、系列解包赋值、常量形式赋值&#xff0c;下面介绍下三者间区别&#xff1a; 1、链式赋值&#xff1a; 链式赋值用于同一个对象赋值给多个变量 xy123 可以认为是 x 123 y 123 2、系列解包赋值&#xff1a; 系列数据…...

pyhton 掩码 筛选显示

目录 bitwise_and控制&#xff1a; 点乘&#xff1a; 性能对比&#xff1a; bitwise_and控制&#xff1a; import cv2# 读取彩色图和mask二值图 color_img cv2.imread(color_image.jpg) mask cv2.imread(mask.jpg, 0) # 以灰度模式读取二值图# 确保彩色图和mask的尺寸一…...

测试覆盖率

1、概念 覆盖率测试&#xff0c;也称为测试覆盖率分析&#xff0c;是软件测试中的一个重要概念&#xff0c;用来衡量测试用例执行时对代码的覆盖程度。它提供了一种量化的方法来评估测试集的充分性&#xff0c;即测试是否足够广泛地触及了应用程序的所有部分。覆盖率测试可以应…...

clickhouse query_log 常用查询语句

1、查询一段时间耗时超过3秒的语句。 SELECT* FROMsystem.query_log WHEREquery_duration_ms > 30000AND event_time > 2024-12-31 15:50:00 AND event_time < 2024-12-31 17:50:00 ORDER BYevent_time desc;2、查询一段时间报错的语句 SELECT* FROMsystem.query_lo…...

uni-app 资源引用(绝对路径和相对路径)方法汇总

文章目录 一、前言&#x1f343;二、绝对路径和相对路径2.1 绝对路径2.2 相对路径 三、引用组件四、引用js4.1 js 文件引入4.2 NPM支持 五、引用css六、引用json6.1 json文件引入 七、引用静态资源7.1 模板内引入静态资源7.2 css 引入静态资源7.3 js/uts 引入静态资源7.4 静态资…...

Java SpringBoot使用EasyExcel导入导出Excel文件

点击下载《Java SpringBoot使用EasyExcel导入导出Excel文件(源代码)》 在 Java Spring Boot 项目中&#xff0c;导入&#xff08;读取&#xff09;和导出&#xff08;写入&#xff09; Excel 文件是一项常见的需求。EasyExcel 是阿里巴巴开源的一个用于简化 Java 环境下 Excel…...

CDN SSLTLS以及安全

随着互联网的发展&#xff0c;内容分发网络&#xff08;CDN&#xff09;在提升网站访问速度和安全性方面发挥了重要作用。然而&#xff0c;CDN在带来便利的同时也面临一些安全挑战。本文将探讨CDN的安全风险&#xff0c;并深入解析SSL/TLS加密技术及其在CDN中的应用。 CDN的安全…...

安卓11 SysteUI添加按钮以及下拉状态栏的色温调节按钮

最近客户想要做一个台灯产品&#xff0c;需要实现 串口调节台灯功能 &#xff0c;其中包括 亮度调节 色温调节 开关 三个功能 话不多说&#xff0c;贴代码 diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml old mode 100644 new …...

SpringMVC启动与请求处理流程解析

目录 SpringMVC的基本结构 1.MVC简介 2.基本结构 什么是Handler&#xff1f; 什么是HandlerMapping? 什么是HandlerAdapter&#xff1f; RequestMapping方法参数解析 DispatcherServlet的init()方法 DispatcherServlet的doService()方法 SpringBoot整合SpringMVC …...

RabbitMQ案例

1. 导入依赖 <!--AMQP依赖&#xff0c;包含RabbitMQ--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency> 发送消息 注入RabbitTemplate Autowired RabbitT…...

前路漫漫,曙光在望 !

起始 从20年大一开始写作至今&#xff0c;转眼五年时光已经过去了&#xff0c;最开始在CSDN这个平台写博客也只是因为一次机缘巧合情况下得知写博客可以获取奖赏&#xff0c;所以那个时期开始疯狂在CSDN发文记录自己编程学习过程&#xff0c;但是至今也未从写作中获利一分哈…...

音视频-----RTSP协议 音视频编解码

流媒体协议详解&#xff1a;RTSP、RTP、RTCP、SIP、SDP、RTMP、WebRTC、WebSocket-CSDN博客 上文讲解比较清楚 多媒体编解码基础知识 一文详解WebRTC、RTSP、RTMP、SRT-腾讯云开发者社区-腾讯云 RTP :(Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传…...

SpringMVC的消息转换器

SpringMVC的消息转换器&#xff08;Message Converter&#xff09;是Spring框架中用于处理HTTP请求和响应体与Java对象之间转换的组件。它们使得开发人员可以轻松地将HTTP请求的数据映射到方法参数&#xff0c;并将返回的对象转换为HTTP响应。 工作原理 当一个HTTP请求到达Spr…...

计算机网络练习题

学习这么多啦&#xff0c;那就简单写几个选择题巩固一下吧&#xff01; 1. 在IPv4分组各字段中&#xff0c;以下最适合携带隐藏信息的是&#xff08;D&#xff09; A、源IP地址 B、版本 C、TTL D、标识 2. OSI 参考模型中&#xff0c;数据链路层的主要功能是&#xff08;…...

本地测试文件解析

PostMapping("/test") public void test() throws IOException {Path csvFile Paths.get("D:\\test/27.csv");//虚拟机退出时删除临时文件csvFile.toFile().deleteOnExit();List<String> list Files.readAllLines(csvFile, Charset.forName("…...

websocket-sharp:.NET平台上的WebSocket客户端与服务器开源库

推荐一个C#开发的&#xff0c;实现WebSocket功能的开源项目。 01 项目简介 websocket-sharp提供 WebSocket 客户端和服务器库&#xff0c;基于 C# 开发的&#xff0c;并遵循 WebSocket 协议规范&#xff0c;使得开发人员能够轻松地在 .NET 应用程序中实现 WebSocket 通信。 …...

SwiftUI 撸码常见错误 2 例漫谈

概述 在 SwiftUI 日常撸码过程中&#xff0c;头发尚且还算茂盛的小码农们经常会犯这样那样的错误。虽然犯这些错的原因都很简单&#xff0c;但有时想要快速准确的定位它们却并不容易。 况且这些错误还可能在模拟器和 Xcode 预览&#xff08;Preview&#xff09;表现的行为不甚…...

回归预测 | MATLAB实现CNN-GRU卷积门控循环单元多输入单输出回归预测

回归预测 | MATLAB实现CNN-GRU卷积门控循环单元多输入单输出回归预测 目录 回归预测 | MATLAB实现CNN-GRU卷积门控循环单元多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 MATLAB实现CNN-GRU卷积门控循环单元多输入单输出回归预测 数据准备&#x…...

Nginx常用配置之详解(Detailed Explanation of Common Nginx Configurations)

Nginx常用配置详解(图文全面总结) Nginx Nginx 是一款轻量级的高性能 HTTP、 和反向代理服务器。 Nginx&#xff0c;被广泛用于负载均衡、静态文件服务、和代理.........等。 Nginx&#xff0c;以高并发、低内存占用、和高可用性著称&#xff0c;大部分的大厂以及公司都在使…...

【PyTorch入门】 PyTorch不同优化器的比较

本次分享pytorch中几种常用的优化器&#xff0c;并进行互相比较。 PyTorch 优化器原理及优缺点分析 在 PyTorch 中&#xff0c;torch.optim 提供了多种优化器用于神经网络训练。每种优化器背后有不同的更新规则和机制&#xff0c;旨在适应不同的训练需求。以下是五种常见优化器…...

jest使用__mocks__设置模拟函数不生效 解决方案

模拟文件 // __mocks__/axios.js const axios jest.fn(); axios.get jest.fn(); axios.get.mockResolvedValue({data: {undoList: [get data],}, }); export default axios; 测试文件 jest.mock(axios); import Axios from axios;test(mytest, () > {console.log("…...

聆听音乐 1.5.9 | 畅听全网音乐,支持无损音质下载

聆听音乐手机版是面向广大音乐爱好者的移动应用程序&#xff0c;用户可以随时随地通过手机享受丰富的音乐资源。它提供了多种魅力功能&#xff0c;让用户在手机上畅享更舒适的音乐体验&#xff0c;每位用户都能享受精彩纷呈的收听体验。此外&#xff0c;软件还支持无损音质音乐…...

VMware去虚拟化

介绍两款用于去除VMware虚拟机虚拟化特征的工具&#xff0c;这些工具可以帮助用户在虚拟机中运行游戏时避免被游戏检测到虚拟机环境&#xff0c;从而防止游戏因检测到虚拟机而闪退。这些工具通过修改虚拟机的硬件信息&#xff08;如硬盘、声卡、网卡、主板芯片组、显卡、主板信…...

汉王扫描王 2.9.16 |免费无广告的智能扫描软件,支持多种格式导出

汉王扫描王是一款功能全面的智能扫描软件&#xff0c;集成了文字识别、表格提取和文档转换等功能。它支持将文档转换为PDF、Word、Excel等多种格式&#xff0c;非常适合学生、教师、业务人员和财务工作者使用。该软件具备手机扫描仪功能&#xff0c;能够自动抠边、矫正文档&…...

毕设中所学

1、交叉引用 在毕业设计论文Word中交叉引用参考文献_交叉引用如何标注[1~6]-CSDN博客 另&#xff1a;将标号或其他文字改为上标的快捷键是CtrlShift。 图的交叉引用一样&#xff0c;修改引用类型即可。 2、ENVI安装 ENVI5.6 安装教程&#xff0c;新手入门&#xff08;超详细…...

[微服务]分布式搜索Java客户端

快速入门 使用RestClient客户端进行数据搜索可以分为两步 构建并发起请求 代码解读&#xff1a; 第一步&#xff0c;创建SearchRequest对象&#xff0c;指定索引库名第二步&#xff0c;利用request.source()构建DSL&#xff0c;DSL中可以包含查询、分页、排序、高亮等 query…...

STM32 拓展 低功耗案例3:待机模式 (hal)

配置PA0的两种方式&#xff1a; 第一种 第二种 复制寄存器代码然后对其进行修改 mian.c /* USER CODE BEGIN Header */ /********************************************************************************* file : main.c* brief : Main program body…...

在Linux下安装部署Tomcat教程

摘要 Tomcat是由Apache开发的要给Servlet容器,实现了对Servlet 和JSP的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台,安全管理和Tomcat阀等。简单来说,Tomcat是一个由WEB应用程序的托管平台,可以让用户编写的WEB应用程序,别Tomcat所托管,并提供网…...

第5章 串行接口

8251A的基本特性 可用于同步和异步传送。 同步传送:5~8bit/字符&#xff0c;内同步或外同步&#xff0c;自动插入同步字符; 异步传送:5~8bit/字符&#xff0c;接收/发送时钟频率为通信波特率的1&#xff0c;16或64倍; 可产生中止字符、1&#xff0c;1.5&#xff0c;2位停止位。…...

Vue 百度地图 搜索框+点击地图获取坐标

本文通过vueele百度地图&#xff0c;实现点击地图获取坐标&#xff0c;或者搜索框智能联想下拉框&#xff0c;点击获取坐标及地图位置标点。 百度地图通过public文件夹下index.html,script方式 引入全局 代码如下&#xff1a; <template><div><div id"l-…...

Python学习路线

以下是一个Python详细学习路线&#xff1a; 一、入门阶段&#xff08;第1 - 2个月&#xff09; 环境搭建与基础语法 安装与配置&#xff1a; 从Python官方网站&#xff08;Download Python | Python.org&#xff09;下载适合自己操作系统的Python版本并进行安装。 配置环境变…...

Web Services 简介

Web Services 简介 1. 引言 Web Services 是一种基于网络的软件服务,它允许不同的应用程序在互联网上相互通信和交互。这种技术是基于开放的互联网标准,如HTTP、XML、SOAP和WSDL,使得不同平台和编程语言的应用程序能够轻松地实现互操作性。Web Services 的出现,极大地推动…...

option api compose api

option api & compose api <script setup> import { ref, computed } from vue; // 原始数据 const data ref([ { position: { x: 1, y: 2 } }, { position: { x: 3, y: 4 } }, { position: { x: 5, y: 6 } } ]); // 数据转换函数 const convertData …...

tcpdump的常见方法

详解tcpdump的使用方法&#xff1a;网络数据包捕获与分析 tcpdump是一个功能强大的命令行工具&#xff0c;用于捕获和分析通过网络接口传输的数据包。它广泛应用于网络故障诊断、网络安全监控和协议分析等领域。本文将详细介绍tcpdump的使用方法&#xff0c;包括安装、基本命令…...

【C语言】可移植性陷阱与缺陷(四):字符是有符号整数还是无符号整数

在 C 语言中,字符类型(char)是一个字节大小的整数类型,但它可以被编译器解释为有符号整数或无符号整数,这是一个容易导致可移植性问题的重要因素。这种解释的不确定性可能会在程序的逻辑、比较运算和数据处理等多个方面引发错误。 一、字符类型的默认行为 根据C语言标准…...

[Linux]进程间通信-管道

目录 1. 进程间通信 2.父子进程之间的通信 3.匿名管道 匿名管道的创建 管道读写的情况 管道的5种特性 4.命名管道 指令级 命名管道原理 代码级 读取端 1. 进程间通信 当我们有两个进程操作数据库的时候&#xff0c;一个进程负责写入操作&#xff0c;一个进…...

设置开机自启动的应用

设置开机自启动的应用 step1&#xff1a;按住ShiftctrlEsc step2&#xff1a;找到启动应用 step3&#xff1a;鼠标到启动那里&#xff0c;右键就可以禁用了...

QQ长截屏

QQ长截屏 第一步&#xff1a;CtrlAltA 第二步&#xff1a;点击剪刀之后&#xff0c;再滑动滚轮就可以了。 展示...

38 Opencv HOG特征检测

文章目录 HOGDescriptor 构造函数setSVMDetector 设置支持向量机&#xff08;SVM&#xff09;检测器&#xff0c;用于目标检测。compute 用于计算图像区域的HOG描述符。detectMultiScale 多尺度检测目标。示例 HOGDescriptor 构造函数 HOGDescriptor(); HOGDescriptor(const S…...