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

深度学习篇---LSTM+Attention模型


文章目录

  • 前言
  • 1. LSTM深入原理剖析
    • 1.1 LSTM 架构的进化理解
      • 遗忘门
        • 简介
        • 数学表达式
        • 实际作用
      • 输入门
        • 简介
        • 数学表达式
        • 后选候选值
        • 实际作用
      • 输出门
        • 简介
        • 数学表达式
        • 最终输出
        • 实际作用
    • 1.2 Attention 机制的动态特性
      • 内容感知
      • 位置无关
      • 可解释性
      • 数学本质
    • 1.3 LSTM与Attention的协同效应
      • 组合优势
        • LSTM
        • Attention
      • 信息流变化
  • 2. 模型属性全景分析
    • 2.1 时空复杂度分析
    • 2.2 梯度传播特性
      • LSTM部分
      • Attention部分
      • 组合效果
    • 2.3 注意力变体比较
  • 3. 实用场景深度解析
    • 3.1 时间序列预测
      • 典型场景
      • 优势体现
      • 行业案例
    • 3.2 自然语言处理
      • 核心应用
      • 注意力可视化示例
      • 注意力热力图
    • 3.3 语音处理
      • 特殊应用
      • 工业实践
  • 4. 完整PyTorch实现进阶版
    • 关键改进说明
      • 多类型注意力支持
      • 工业级设计
      • 增强可解释性
  • 5. 实战调优策略
    • 5.1 超参数优化指南
    • 5.2 训练技巧
      • 学习率调度
      • 梯度裁剪
      • 早停机制
    • 5.3 模型诊断方法
      • 注意力可视化
      • 记忆分析
  • 6. 前沿扩展方向
    • 6.1 混合架构创新
      • CNN-LSTM-Attention
      • Transformer-LSTM
    • 6.2 注意力机制进化
      • 稀疏注意力
      • 记忆增强
    • 6.3 可解释性增强
      • 注意力约束
      • 概念注意力


前言

本文简答介绍了LSTM和Attention模型的使用以及一系列相关知识。


1. LSTM深入原理剖析

1.1 LSTM 架构的进化理解

LSTM的三个核心门控机制构成了精密的"信息流控制系统":

遗忘门

简介

遗忘门:决定从细胞状态中丢弃哪些信息

数学表达式

数学表达:fₜ = σ(Wᶠ·[hₜ₋₁, xₜ] + bᶠ)

实际作用

实际作用:像一个"信息过滤器",取值0(完全丢弃)到1(完全保留)之间

输入门

简介

输入门:确定哪些新信息将被存储到细胞状态

数学表达式

数学表达:iₜ = σ(Wⁱ·[hₜ₋₁, xₜ] + bⁱ)

后选候选值

候选值:C̃ₜ = tanh(Wᶜ·[hₜ₋₁, xₜ] + bᶜ)

实际作用

实际作用:构成一个"信息更新机制"

输出门

简介

输出门:基于细胞状态确定输出什么

数学表达式

数学表达:oₜ = σ(Wᵒ·[hₜ₋₁, xₜ] + bᵒ)

最终输出

最终输出:hₜ = oₜ * tanh(Cₜ)

实际作用

实际作用:作为"信息输出控制器"

1.2 Attention 机制的动态特性

Attention机制本质上是一种动态权重分配系统,其核心优势在于:

内容感知

内容感知:权重计算基于当前输入内容

位置无关

位置无关:不受序列位置限制,可捕捉长距离依赖

可解释性

可解释性:权重分布提供决策依据

数学本质

Attention(Q, K, V) = softmax(QKᵀ/√dₖ)V
其中Q(Query)、K(Key)、V(Value)分别代表查询、键和值向量

1.3 LSTM与Attention的协同效应

组合优势

LSTM

LSTM:擅长局部时序模式捕获

Attention

Attention:擅长全局重要信息筛选

组合后形成"局部-全局"双重处理能力

信息流变化

传统LSTM:hₜ = f(xₜ, hₜ₋₁)
对比
LSTM+Attention:h̃ₜ = f(xₜ, hₜ₋₁, cₜ)
其中cₜ = ∑αₜᵢhᵢ

2. 模型属性全景分析

2.1 时空复杂度分析

组件 时间复杂度 空间复杂度 说明
LSTM O(n×d²) O(n×d) n为序列长度,d为隐藏层维度
Attention O(n²×d) O(n²) 成为长序列瓶颈
组合模型 O(n×(d²+n×d)) O(n×(d+n)) 实际应用中常限制n

2.2 梯度传播特性

LSTM部分

LSTM部分:通过细胞状态保持梯度通路缓解消失问题

Attention部分

Attention部分:建立直接连接,创建梯度"快捷路径"

组合效果

组合效果:形成**"双路径"梯度传播**,优于单一架构

2.3 注意力变体比较

类型 公式 特点 适用场景
加性 vᵀtanh(W[q;k]) 灵活但参数多 小规模数据
点积 qᵀk 计算高效 维度匹配时
缩放点积 qᵀk/√d 稳定最优 大多数情况
多头 多组QKV并行 多视角关注 复杂模式

3. 实用场景深度解析

3.1 时间序列预测

典型场景

  1. 电力负荷预测(天/周/季节周期)
  2. 股票价格趋势分析
  3. 工业生产指标预测

优势体现

  1. 自动识别关键时间点(如节假日突变)
  2. 动态调整不同历史时期的重要性
  3. 处理多周期嵌套的复杂模式

行业案例

某电网公司采用LSTM+Attention实现:
周预测误差降低23%
异常天气下的预测稳定性提升40%

3.2 自然语言处理

核心应用

  1. 文本分类(情感分析等)
  2. 命名实体识别
  3. 问答系统

注意力可视化示例

问题:“抗生素对病毒感染有效吗?”
段落:“抗生素只对细菌感染…对病毒无效”

注意力热力图

[0.02, 0.01, 0.85, 0.12] (明显聚焦"对病毒无效")

3.3 语音处理

特殊应用

  1. 语音情感识别
  2. 关键词唤醒
  3. 发音错误检测

工业实践

某智能音箱方案:
传统LSTM:唤醒率89%
LSTM+Attention:唤醒率提升至94%
误唤醒率降低35%

4. 完整PyTorch实现进阶版

import torch
import torch.nn as nn
import mathclass AdvancedLSTMAttention(nn.Module):def __init__(self, input_dim, hidden_dim, output_dim, n_layers=2, dropout=0.3, bidirectional=True, attention_type='scaled_dot'):super().__init__()# 网络参数self.hidden_dim = hidden_dimself.n_layers = n_layersself.bidirectional = bidirectionalself.attention_type = attention_typeself.dir_mult = 2 if bidirectional else 1# LSTM层self.lstm = nn.LSTM(input_size=input_dim,hidden_size=hidden_dim,num_layers=n_layers,bidirectional=bidirectional,dropout=dropout if n_layers > 1 else 0,batch_first=True)# 注意力机制if attention_type == 'scaled_dot':self.scale = math.sqrt(hidden_dim * self.dir_mult)elif attention_type == 'additive':self.attn = nn.Sequential(nn.Linear(hidden_dim * self.dir_mult * 2, hidden_dim),nn.Tanh(),nn.Linear(hidden_dim, 1))# 输出层self.fc = nn.Sequential(nn.Linear(hidden_dim * self.dir_mult, hidden_dim),nn.ReLU(),nn.Dropout(dropout),nn.Linear(hidden_dim, output_dim))def forward(self, x, return_attention=False):# x形状: (batch, seq_len, input_dim)batch_size = x.size(0)# LSTM前向lstm_out, (h_n, c_n) = self.lstm(x)  # (batch, seq_len, dir_mult*hidden_dim)# 注意力计算if self.attention_type == 'scaled_dot':# 自注意力机制scores = torch.bmm(lstm_out, lstm_out.transpose(1,2)) / self.scaleattn_weights = F.softmax(scores, dim=-1)context = torch.bmm(attn_weights, lstm_out)elif self.attention_type == 'additive':# 加性注意力seq_len = lstm_out.size(1)attn_weights = []for t in range(seq_len):# 使用最后一个隐藏状态作为queryquery = h_n[-1].unsqueeze(1)  # (batch, 1, hidden)key = lstm_out[:, t, :].unsqueeze(2)  # (batch, hidden, 1)energy = self.attn(torch.cat([query, key], dim=1))attn_weights.append(energy)attn_weights = F.softmax(torch.cat(attn_weights, dim=1), dim=1)context = torch.sum(lstm_out * attn_weights, dim=1)# 输出预测output = self.fc(context)if return_attention:return output, attn_weightsreturn output

关键改进说明

多类型注意力支持

  1. 实现缩放点积加性两种主流注意力
  2. 可根据任务特性灵活选择

工业级设计

  1. 增加Dropout层防止过拟合
  2. 使用ReLU激活增强非线性
  3. 双向LSTM支持

增强可解释性

  1. 提供注意力权重返回选项
  2. 支持自注意力模式

5. 实战调优策略

5.1 超参数优化指南

参数 推荐范围 调整策略 影响分析
隐藏层维度 64-512 从256开始 越大容量越高但易过拟合
LSTM层数 1-4 逐步增加 深层可捕获复杂模式
Dropout率 0.2-0.5 数据量大时降低 正则化强度调节
学习率 1e-4到1e-2 对数尺度搜索 影响收敛稳定性
批次大小 16-128 根据显存调整 小批次有正则效果

5.2 训练技巧

学习率调度

scheduler = torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.5, patience=3)

梯度裁剪

torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)

早停机制

if val_loss < best_loss:best_loss = val_losstorch.save(model.state_dict(), 'best_model.pt')patience = 0
else:patience += 1if patience >= early_stop:break

5.3 模型诊断方法

注意力可视化

import matplotlib.pyplot as pltdef plot_attention(weights, sentences):fig = plt.figure(figsize=(10, 5))ax = fig.add_subplot(111)cax = ax.matshow(weights, cmap='bone')fig.colorbar(cax)ax.set_xticks(range(len(sentences)))ax.set_yticks(range(len(sentences)))ax.set_xticklabels(sentences, rotation=90)ax.set_yticklabels(sentences)plt.show()

记忆分析

跟踪细胞状态变化幅度
监控遗忘门激活值分布

6. 前沿扩展方向

6.1 混合架构创新

CNN-LSTM-Attention

  1. 先用CNN提取局部时空特征
  2. LSTM处理时序依赖
  3. Attention聚焦关键特征

Transformer-LSTM

  1. Transformer处理长距离依赖
  2. LSTM补充局部时序处理
  3. 分层注意力机制

6.2 注意力机制进化

稀疏注意力

Local Attention:限制注意力范围

Stride Attention:跳跃式关注

Block Attention:分块处理

记忆增强

class MemoryAugmentedAttention(nn.Module):def __init__(self, dim, mem_size=100):super().__init__()self.memory = nn.Parameter(torch.randn(mem_size, dim))def forward(self, x):# x: (batch, seq, dim)batch_size = x.size(0)mem = self.memory.unsqueeze(0).expand(batch_size, -1, -1)combined = torch.cat([x, mem], dim=1)# 后续处理...

6.3 可解释性增强

注意力约束

# 添加稀疏性正则
loss = criterion(output, y) + 0.01*torch.mean(attn_weights)

概念注意力

注意力引导至预定义的概念区域
领域知识结合设计注意力先验

LSTM+Attention模型通过结合序列建模和动态关注的能力,在保持LSTM优势的同时有效解决了**长期依赖问题。**实际应用中需要根据具体任务特点调整架构细节,并通过可视化工具持续监控模型行为,才能充分发挥其潜力。


相关文章:

深度学习篇---LSTM+Attention模型

文章目录 前言1. LSTM深入原理剖析1.1 LSTM 架构的进化理解遗忘门简介数学表达式实际作用 输入门简介数学表达式后选候选值实际作用 输出门简介数学表达式最终输出实际作用 1.2 Attention 机制的动态特性内容感知位置无关可解释性数学本质 1.3 LSTM与Attention的协同效应组合优…...

React 多个 HOC 嵌套太深,会带来哪些隐患?

在 React 中&#xff0c;使用多个 高阶组件&#xff08;HOC&#xff0c;Higher-Order Component&#xff09; 可能会导致组件层级变深&#xff0c;这可能会带来以下几个影响&#xff1a; 一、带来的影响 1、调试困难 由于组件被多个 HOC 包裹&#xff0c;React 开发者工具&am…...

企业工厂生产线马达保护装置 功能参数介绍

安科瑞刘鸿鹏 摘要 工业生产中&#xff0c;电压暂降&#xff08;晃电&#xff09;是导致电动机停机、生产中断的主要原因之一&#xff0c;给企业带来巨大的经济损失。本文以安科瑞晃电再起动控制器为例&#xff0c;探讨抗晃电保护器在生产型企业工厂中的应用&#xff0c;分析…...

Redis 的五种数据类型面试回答

这里简单介绍一下面试回答、我之前有详细的去学习、但是一直都觉得太多内容了、太深入了 然后面试的时候不知道从哪里讲起、于是我写了这篇CSDN帮助大家面试回答、具体的深入解析下次再说 面试官你好 我来介绍一下Redis的五种基本数据类型 有String List Set ZSet Map 五种基…...

多线程代码案例(定时器) - 3

定时器&#xff0c;是我们日常开发所常用的组件工具&#xff0c;类似于闹钟&#xff0c;设定一个时间&#xff0c;当时间到了之后&#xff0c;定时器可以自动的去执行某个逻辑 目录 Timer 的基本使用 实现一个 Timer 通过这个类&#xff0c;来描述一个任务 通过这个类&…...

基于大模型的GCSE预测与治疗优化系统技术方案

目录 技术方案文档:基于大模型的GCSE预测与治疗优化系统1. 数据预处理模块功能:整合多模态数据(EEG、MRI、临床指标等),标准化并生成训练集。伪代码流程图2. 大模型架构(Transformer-GNN混合模型)功能:联合建模时序信号(EEG)与空间结构(脑网络)。伪代码流程图3. 术…...

IntelliJ IDEA 中 Continue 插件使用 DeepSeek-R1 模型指南

IntelliJ IDEA 中 Continue 插件使用 DeepSeek-R1 模型指南 Continue 是一款开源的 AI 编码助手插件&#xff0c;支持 IntelliJ IDEA 等 JetBrains 系列 IDE。它可以通过连接多种语言模型&#xff08;如 DeepSeek-R1&#xff09;提供实时代码生成、问题解答和单元测试生成等功…...

Valgrind——内存调试和性能分析工具

文章目录 一、Valgrind 介绍二、Valgrind 功能和使用1. 主要功能2. 基本用法2.1 常用选项2.2 内存泄漏检测2.3 详细报告2.4 性能分析2.5 多线程错误检测 三、在 Ubuntu 上安装 Valgrind四、示例1. 检测内存泄漏2. 使用未初始化的内存3. 内存读写越界4. 综合错误 五、工具集1. M…...

京东API智能风控引擎:基于行为分析识别恶意爬虫与异常调用

京东 API 智能风控引擎基于行为分析识别恶意爬虫与异常调用&#xff0c;主要通过以下几种方式实现&#xff1a; 行为特征分析 请求频率&#xff1a;正常用户对 API 的调用频率相对稳定&#xff0c;受到网络延迟、操作速度等因素限制。若发现某个 IP 地址或用户在短时间内对同一…...

Swift 解 LeetCode 250:搞懂同值子树,用递归写出权限系统检查器

文章目录 前言问题描述简单说&#xff1a;痛点分析&#xff1a;到底难在哪&#xff1f;1. 子树的概念搞不清楚2. 要不要“递归”&#xff1f;递归从哪开始&#xff1f;3. 怎么“边遍历边判断”&#xff1f;这套路不熟 后序遍历 全局计数器遍历过程解释一下&#xff1a;和实际场…...

Nginx搭建API网关服务教程-系统架构优化 API统一管理

超实用&#xff01;用Nginx搭建API网关服务&#xff0c;让你的系统架构更稳更强大&#xff01;&#x1f680; 亲们&#xff0c;今天来给大家种草一个超级实用的API网关搭建方案啦&#xff01;&#x1f440; 在如今的Web系统架构中&#xff0c;一个稳定、高性能、可扩展的API网…...

SQL2API是什么?SQL2API与BI为何对数据仓库至关重要?

目录 一、SQL2API是什么&#xff1f; 二、SQL2API的历史演变&#xff1a;从数据共享到服务化革命 1990年代&#xff1a;萌芽于数据仓库的数据共享需求 2010年代初&#xff1a;数据中台推动服务化浪潮 2022年左右&#xff1a;DaaS平台的兴起 2025年代&#xff1a;麦聪定义…...

CentOS 7无法上网问题解决

CentOS 7无法上网问题解决 问题 配置了桥接模式以后&#xff0c;能够ping通本地IP但是无法ping通www.baidu.com 这里的前提是VWare上已经对虚拟机桥接模式网卡做了正确的选择&#xff0c;比如我现在选择的就是当前能够上外网的网卡&#xff1a; 问题根因 DNS未正确配置。…...

优化 Web 性能:使用 WebP 图片(Uses WebP Images)

在 Web 开发中&#xff0c;图片资源的优化是提升页面加载速度和用户体验的关键。Google 的 Lighthouse 工具在性能审计中特别推荐“使用 WebP 图片”&#xff08;Uses WebP Images&#xff09;&#xff0c;因为 WebP 格式在保持视觉质量的同时显著减少文件大小。本文将基于 Chr…...

SQL121 创建索引

-- 普通索引 CREATE INDEX idx_duration ON examination_info(duration);-- 唯一索引 CREATE UNIQUE INDEX uniq_idx_exam_id ON examination_info(exam_id);-- 全文索引 CREATE FULLTEXT INDEX full_idx_tag ON examination_info(tag);描述 现有一张试卷信息表examination_in…...

Leetcode - 周赛443

目录 一、3502. 到达每个位置的最小费用二、3503. 子字符串连接后的最长回文串 I三、3504. 子字符串连接后的最长回文串 II四、3505. 使 K 个子数组内元素相等的最少操作数 一、3502. 到达每个位置的最小费用 题目链接 本题是一道脑筋急转弯&#xff0c;实际就是计算前缀最小…...

dolphinscheduler单机部署链接oracle

部署成功请给小编一个赞或者收藏激励小编 1、安装准备 JDK版本:1.8或者1.8oracle版本&#xff1a;19Coracle驱动版本&#xff1a;8 2、安装jdk 下载地址&#xff1a;https://www.oracle.com/java/technologies/downloads/#java8 下载后上传到/tmp目录下。 然后执行下面命…...

Three.js 系列专题 5:加载外部模型

内容概述 Three.js 支持加载多种 3D 文件格式(如 GLTF、OBJ、FBX),这让开发者可以直接使用专业建模软件(如 Blender、Maya)创建的复杂模型。本专题将重点介绍 GLTF 格式的加载,并调整模型的位置和材质。 学习目标 理解常见 3D 文件格式及其特点。掌握使用 GLTFLoader 加…...

【C++算法】50.分治_归并_翻转对

文章目录 题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a;图解 题目链接&#xff1a; 493. 翻转对 题目描述&#xff1a; 解法 分治 策略一&#xff1a;计算当前元素cur1后面&#xff0c;有多少元素的两倍比我cur1小&#xff08;降序&#xff09; 利用单…...

观察者模式详解实战

观察者模式深度解析与实战案例 一、传统观察者模式痛点分析 强制接收所有通知&#xff1a;观察者被迫处理无关事件 事件信息不透明&#xff1a;状态变更缺乏上下文信息 类型安全缺失&#xff1a;需要手动进行类型判断和转换 扩展成本高&#xff1a;新增事件类型需要修改接口 …...

Light RPC:一款轻量高效的Java RPC框架实践指南

Light RPC&#xff1a;一款轻量高效的Java RPC框架实践指南 一、框架简介二、快速入门1. 环境准备2. 服务端配置2.1 添加依赖2.2 YAML配置2.3 接口与实现 3. 客户端配置3.1 添加依赖3.2 YAML配置3.3 客户端调用 三、核心设计解析四、适用场景与优势对比五、总结 一、框架简介 …...

国内MCP资源网站有哪些?MCP工具上哪找?

在人工智能领域&#xff0c;MCP&#xff08;模型上下文协议&#xff09;正逐渐成为连接 AI 模型与外部世界的重要桥梁。而AIbase &#xff08;https://www.aibase.com/zh/repos/topic/mcp&#xff09;正是探索 MCP 生态的绝佳平台&#xff0c;它为开发者和研究者提供了一个集中…...

在PowerBI中通过比较日期实现累加计算

#表格数据# 日期数量2025/4/712025/4/822025/4/932025/4/1042025/4/1152025/4/1262025/4/1372025/4/1482025/4/1592025/4/16102025/4/1711 #新建计算列# 列 SUMX(FILTER(表格数据,[日期]<EARLIER([日期])),表格数据[数量])...

十四届蓝桥杯Java省赛 B组(持续更新..)

十四届蓝桥杯Java省赛 B组 第一题&#xff1a;阶乘求和 &#x1f4d6; &#x1f4da;阶乘求和 第二题&#xff1a;幸运数字 &#x1f4d6; &#x1f4da;幸运数字 第三题&#xff1a;数组分割 &#x1f4d6; &#x1f4da;数组分割 说是考动态规划&#xff0c;但没有用…...

NO.73十六届蓝桥杯备战|搜索算法-剪枝与优化-记忆化搜索|数的划分|小猫爬山|斐波那契数|Function|天下第一|滑雪(C++)

剪枝与优化 剪枝&#xff0c;形象得看&#xff0c;就是剪掉搜索树的分⽀&#xff0c;从⽽减⼩搜索树的规模&#xff0c;排除掉搜索树中没有必要的分⽀&#xff0c;优化时间复杂度。 在深度优先遍历中&#xff0c;有⼏种常⻅的剪枝⽅法 排除等效冗余 如果在搜索过程中&#xf…...

深度学习总结(2)

神经网络的数据表示 在前面的例子中,我们的数据存储在多维NumPy数组中,也叫作张量(tensor)​。一般来说,目前所有机器学习系统都使用张量作为基本数据结构。张量对这个领域非常重要,重要到TensorFlow都以它来命名。究竟什么是张量呢?张量这一概念的核心在于,它是一个数…...

STM32H7 ADC最大速率

STM32H7 ADC最大速率 硬件限制 封装 在手册 AN5354 中说明了不同封装、不同分辨率的最大速率是不一致的&#xff1b; BGA封装的ADC的速度要快于LQFP封装的速度的&#xff1b; 分辨位数越高、转换时间越长&#xff0c;所以ADC的最大采样速率也就最低&#xff1b; ADC通道模…...

MVC模型

MVC模型&#xff08;Model模型&#xff0c;View视图&#xff0c;Controller控制器&#xff09; 逻辑执行流程&#xff1a; JSP&#xff08;View&#xff09;----》Servlet&#xff08;Controller&#xff09;----》service&#xff0c;dao&#xff0c;pojo&#xff08;Model&a…...

OpenGL ES -> SurfaceView + EGL实现立方体纹理贴图+透视效果

XML文件 <?xml version"1.0" encoding"utf-8"?> <com.example.myapplication.MySurfaceView xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"…...

arthas线上不停机修改bug

安装arthas wget https://alibaba.github.io/arthas/arthas-boot.jar启动&#xff1a; java -jar arthas-boot.jar 启动失败 使用jps也没查到对应的进程 发生错误信息 使用进程id启动&#xff0c;报错 进程id查看使用命令&#xff1a; ps -ef | grep java 详情&#xf…...

#关于require 与 import 相关了解

&#x1f4e6; require 在前端项目中使用&#xff0c;属于 CommonJS 模块规范 的语法&#xff0c;主要用于 Node.js 环境。早期的前端模块打包工具&#xff08;如 Webpack&#xff09;会兼容这种写法&#xff0c;但在现代前端项目&#xff08;如 Vue、React&#xff09;中&…...

【算法应用】基于融合A星-粒子群算法求解六边形栅格地图路径规划

目录 1.粒子群算法PSO原理2.结果展示3.参考文献4.代码获取 1.粒子群算法PSO原理 【智能算法】粒子群算法&#xff08;PSO&#xff09;原理及实现 六边形栅格地图 分析一下地图&#xff1a; 六边形栅格地图上移动可以看做6领域运动&#xff0c;偶数列与奇数列移动方式有所差异…...

【深度学习】【目标检测】【Ultralytics-YOLO系列】YOLOV3源码整体结构解析

【深度学习】【目标检测】【Ultralytics-YOLO系列】YOLOV3源码整体结构解析 文章目录 【深度学习】【目标检测】【Ultralytics-YOLO系列】YOLOV3源码整体结构解析前言代码结构整体data文件结构模型训练超参数配置文件解析数据集配置文件解析 models文件结构utils文件结构runs文…...

R语言:气象水文领域的数据分析与绘图利器

R 语言是一门由统计学家开发的用于统计计算和作图的语言&#xff08;a Statistic Language developed for Statistic by Statistician&#xff09;&#xff0c;由 S 语言发展而来&#xff0c;以统计分析功能见长。R 软件是一款集成 了数据操作、统计和可视化功能的优秀的开源软…...

R语言空间水文气象数据分析:从插值到动态可视化

一、R简介与R 在气象水文中的应用 R语言与 R软件简介R 在各行业的应用概览R 与其他语言的比较及其在数据分析与作图上的优势 R 在地学中的应用以及R 在气象水文中的应用 二、出发之前——用什么来同时记录我们的数据、代码及结果——Rmd与 knitr介绍 介绍一种方便的理念——…...

在Unity中实现《幽灵行者》风格的跑酷动作

基础设置 角色控制器选择&#xff1a; 使用Character Controller组件或Rigidbody Capsule Collider 推荐使用Character Controller以获得更精确的运动控制 输入系统&#xff1a; 使用Unity的新输入系统(Input System Package)处理玩家输入 滑铲实现 public class Slide…...

C# Winform 入门(14)之如何使用线程池

什么是线程&#xff1f; 首先我们要弄明白什么是线程&#xff0c;线程和线程池有啥区别&#xff1f; C# 多线程应用(同步异步)_c# 异步线程-CSDN博客 补充&#xff1a;ManualResetEvent 的使用 ManualResetEvent 是一种线程同步机制&#xff0c;用于控制一个或者多个线程的执…...

I have something to say about Vue Node.js

关于Vue Node.js&#xff0c;我真的说了很多次了&#xff0c;让我难以理解为啥这么粗糙的东西能流行一起。真疯狂的世界。 vue让感觉就像玩猫德一样的&#xff0c;如此的疯狂&#xff0c;天哪。睡觉了 Node.js v13 window7_nodejsv13-CSDN博客...

OpenCV 图形API(17)计算输入矩阵 src 中每个元素的平方根函数sqrt()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 描述 计算数组元素的平方根。 cv::gapi::sqrt 函数计算每个输入数组元素的平方根。对于多通道数组&#xff0c;每个通道会独立处理。其精度大约与内置的 …...

题目练习之set的奇妙使用

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…...

基于人工智能的医学影像关联分析:利用潜在空间几何混杂因素校正法|文献速递-深度学习医疗AI最新文献

Title 题目 AI-based association analysis for medical imaging using latent-spacegeometric confounder correction 基于人工智能的医学影像关联分析&#xff1a;利用潜在空间几何混杂因素校正法 01 文献速递介绍 人工智能&#xff08;AI&#xff09;已成为各个领域的…...

进程的创建态、运行状态和阻塞状态

今天与大家来聊聊进程的三种状态&#xff1a; 1. 创建态 当需要创建一个新进程时&#xff0c;系统为该进程分配一个进程控制块 PCB&#xff0c;并为该进程分配内存空间&#xff0c;且装入该进程对应的程序和有关的数据&#xff0c;这时&#xff0c;一个新进程就产生了。 2. …...

科普:GRU、LSTM及RNN

GRU&#xff08;门控循环单元&#xff09;、LSTM&#xff08;长短期记忆网络&#xff09;、RNN&#xff08;循环神经网络&#xff09;均为处理序列数据的神经网络模型&#xff0c;它们之间存在着紧密的联系与明显的差异。 我们重点看一下GRU&#xff0c;并比较它们。 一、GRU算…...

java+postgresql+swagger-多表关联insert操作(七)

入参为json&#xff0c;然后根据需要对多张表进行操作&#xff1a; 入参格式&#xff1a; [{"custstoreName":"swagger-测试经销商01","customerName":"swagger-测试客户01","propertyNo":"swaggertest01",&quo…...

如何将/dev/ubuntu-vg/lv-data的空间扩展到/dev/ubuntu-vg/ubuntu-lv的空间上

要将 /dev/ubuntu-vg/lv-data 的空间扩展到 /dev/ubuntu-vg/ubuntu-lv 上&#xff0c;实际上是将 lv-data 的空间释放出来&#xff0c;并将其分配给 ubuntu-lv。以下是详细的步骤和操作说明&#xff1a; 已知信息 你有两个逻辑卷&#xff1a; /dev/ubuntu-vg/lv-data/dev/ubun…...

No module named ‘keras.engine‘

目录 报错代码&#xff1a; tensorflow-gpu安装 2024.01.05 keras和tf版本对应关系&#xff1a; 报错代码&#xff1a; try:from keras.src.engine import base_layer, data_adapterfrom keras.src.engine.training import _disallow_inside_tf_function, _get_verbosity, …...

python应用之使用pdfplumber 解析pdf文件内容

目录标题 1. 通过 pdfplumber.open() 解析复杂PDF&#xff1a;1-2. 报错&#xff1a;V2 &#xff1a; v3 使用tk 库运行环境准备完整代码保存运行测试步骤方式二&#xff1a;命令行方式&#xff08;适用于自动化&#xff09; 测试用例示例常见问题排查1. 无文件选择对话框弹出&…...

【学Rust写CAD】36 颜色插值函数(alpha256.rs补充方法)

源码 pub fn alpha_lerp(self,src: Argb, dst: Argb, clip: u32) -> Argb {self.alpha_mul_256(clip).lerp(src, dst)}这个函数 alpha_lerp 是一个颜色插值&#xff08;线性插值&#xff0c;lerp&#xff09;函数&#xff0c;它结合了透明度混合&#xff08;alpha_mul_256&…...

[GN] 通讯协议 - Uart

系列文章目录 sigrokdecode 模块学习指南 — 准备阶段 文章目录 系列文章目录前言通讯协议Uart通讯协议什么是UartUART通信协议 其他协议后续待更 前言 在阅读libsigrokdecode源码之前&#xff0c;先学习通讯协议。so hard&#xff01;&#xff01; 通讯协议 Uart通讯协议 …...

C# 状态模式深度解析:构建灵活的状态驱动系统

一、状态模式概述 状态模式&#xff08;State Pattern&#xff09;是一种行为型设计模式&#xff0c;它允许对象在其内部状态改变时改变其行为&#xff0c;使对象看起来像是修改了它的类。这种模式将特定状态相关的行为局部化&#xff0c;并且将不同状态的行为分割开来。 状态…...