5月9日复盘-混合注意力机制
5月9日复盘
四、混合注意力
混合注意力机制(Hybrid Attention Mechanism)是一种结合空间和通道注意力的策略,旨在提高神经网络的特征提取能力。
1. CBAM
Convolution Block Attention Module ,卷积块注意力模块
论文地址:https://arxiv.org/pdf/1807.06521
1.0 基本认知
CBAM是一种轻量级的注意力模块,它通过增加空间和通道两个维度的注意力,来提高模型的性能。
一维的通道注意力图: M c ∈ R C × 1 × 1 \mathcal{M}_{\mathbf{c}}\in\mathbb{R}^{C\times1\times1} Mc∈RC×1×1
二维的空间注意力图: M s ∈ R 1 × H × W \mathbf{M_s}\in\mathbb{R}^{1\times H\times W} Ms∈R1×H×W
整个注意力过程可以概括为:
F ′ = M c ( F ) ⊗ F , F ′ ′ = M s ( F ′ ) ⊗ F ′ \begin{aligned}\mathbf{F^{\prime}}&=\mathbf{M_{c}}(\mathbf{F})\otimes\mathbf{F},\\\mathbf{F^{\prime\prime}}&=\mathbf{M_{s}}(\mathbf{F^{\prime}})\otimes\mathbf{F^{\prime}}\end{aligned} F′F′′=Mc(F)⊗F,=Ms(F′)⊗F′
1.1 通道注意力模块
通道注意力模块的目的是为每个通道生成一个注意力权重,整体流程如下图:
通道注意力模块机制公式如下:
M c ( F ) = σ ( M L P ( A v g P o o l ( F ) ) + M L P ( M a x P o o l ( F ) ) ) = σ ( W 1 ( W 0 ( F a v g c ) ) + W 1 ( W 0 ( F m a x c ) ) ) , \begin{gathered} \mathrm{M_{c}(F)} =\sigma(MLP(AvgPool(\mathbf{F}))+MLP(MaxPool(\mathbf{F}))) \\ =\sigma(\mathbf{W_1}(\mathbf{W_0}(\mathbf{F_{avg}^c}))+\mathbf{W_1}(\mathbf{W_0}(\mathbf{F_{max}^c}))), \end{gathered} Mc(F)=σ(MLP(AvgPool(F))+MLP(MaxPool(F)))=σ(W1(W0(Favgc))+W1(W0(Fmaxc))),
其中: r r r是缩放因子,用以减少参数量
W 0 ∈ R C / r × C W 1 ∈ R C × C / r \mathrm{W}_0\in\mathbb{R}^{C/r\times C} \\ \mathrm{W}_1\in\mathbb{R}^{C\times C/r} W0∈RC/r×CW1∈RC×C/r
通道注意力模块机制详情如下:
-
输入特征:输入特征图 F F F 的尺寸为 H × W × C H × W × C H×W×C。
-
全局池化:
- 首先对 F F F 进行全局的MaxPool和AvgPool,得到两个特征图,尺寸为 1 × 1 × C 1×1×C 1×1×C。
- MaxPool提取了局部强响应特征,AvgPool提取了全局视角。
-
共享多层感知器(MLP):
- 池化后的2个特征向量分别送入一个共享MLP,它包含两个全连接层,用来处理和生成通道注意力。
- MLP的共享权重减少了参数量,同时确保两个特征向量的变换方式是一致的。
- MLP首先会降维为 C / r C/r C/r,然后升维为 C C C。
-
加法与激活:
MLP输出的两个特征向量逐元素相加后经Sigmoid后,生成维度为 1 × 1 × C 1 × 1 × C 1×1×C的通道注意力图 M c M_c Mc,表示每个通道的重要性。
-
输出:
通道注意力图 M c M_c Mc 与输入特征图 F F F 逐通道相乘,生成经过通道注意力增强的特征图,维度不变的。
1.2 空间注意力模块
空间注意力模块通过卷积操作为特征图的每个空间位置生成权重,聚焦在图像中的关键区域。
空间注意力模块机制公式如下:
M s ( F ) = σ ( f 7 × 7 ( [ A v g P o o l ( F ) ; M a x P o o l ( F ) ] ) ) = σ ( f 7 × 7 ( [ F a v g s ; F m a x s ] ) ) , \begin{aligned} \mathbf{M_s}(\mathbf{F})& \begin{aligned}&=\sigma(f^{7\times7}([AvgPool(\mathbf{F});MaxPool(\mathbf{F})]))\end{aligned} \\ &=\sigma(f^{7\times7}([\mathbf{F_{avg}^s};\mathbf{F_{max}^s}])), \end{aligned} Ms(F)=σ(f7×7([AvgPool(F);MaxPool(F)]))=σ(f7×7([Favgs;Fmaxs])),
其中:
F a v g s ∈ R 1 × H × W F m a x s ∈ R 1 × H × W \mathbf{F_{avg}^s}\in\mathbb{R}^{1\times H\times W} \\ \mathbf{F_{max}^s}\in\mathbb{R}^{1\times H\times W} Favgs∈R1×H×WFmaxs∈R1×H×W
空间注意力模块机制详情如下:
-
输入特征:通道注意力模块的输出 F ′ F' F′ 就是空间注意力模块的输入。
-
池化操作:
- 首先在 F ′ F' F′ 的通道维度上进行全局的MaxPool和AvgPool,生成2个二维特征图,维度为 H × W × 1 H × W × 1 H×W×1。
- 这样可以分别提取空间上最重要的局部和全局信息。
-
卷积层:
将池化得到的两个特征图按通道维度进行连接,形成一个 H × W × 2 H × W × 2 H×W×2 的特征图,并通过大小为 7 × 7 7 × 7 7×7 的卷积层处理。
-
激活与输出:
- 卷积层的输出经Sigmoid激活后,生成单通道的空间注意力图 M S M_S MS,维度为 H × W × 1 H \times W \times 1 H×W×1。
- 空间注意力图与经过通道注意力增强后的特征图 F ′ F' F′ 逐元素相乘,输出最终的增强特征图。
1.3 不同策略效果对比
1.3.1 通道注意力
加入通道注意力:可以看的出来都比不用(baseline)效果要好
1.3.2 叠加空间注意力
在通道注意力的基础之上加入空间注意力,就是混合注意力:效果最好的就是CBAM,并且池化不需要参数
1.3.3 叠加顺序
空间注意力和通道注意力位置调整效果对比:还是CBAM的效果好
1.3.4 不同模型
不同模型对比:主打一个CBAM就是好
1.3.5 轻量级模型
在一些轻量级模型上的效果还是很明显的
1.3.6 注意力可视化
可视化的方式对比:
2. BAM
Bottleneck Attention Module,瓶颈注意力模块。
论文地址:https://arxiv.org/pdf/1807.06514
2.0 基本认知
BAM是通过在空间和通道两个维度上分别构建注意力模块,它们是并行处理的。
其中:形状不同的张量会自动进行广播机制
M ( F ) = σ ( M c ( F ) + M s ( F ) ) , F ′ = F + F ⊗ M ( F ) , \mathbf{M(F)=\sigma(M_c(F)+M_s(F)),} \\ \mathbf{F^{\prime}=F+F\otimes M(F),} M(F)=σ(Mc(F)+Ms(F)),F′=F+F⊗M(F),
2.1 通道注意力模块
通道注意力公式表达如下:
M c ( F ) = B N ( M L P ( A ν g P o o l ( F ) ) ) = B N ( W 1 ( W 0 A ν g P o o l ( F ) + b 0 ) + b 1 ) , 其中: W 0 ∈ R C / r × C , b 0 ∈ R C C / r , W 1 ∈ R C × C / r , b 1 ∈ R C . \begin{aligned} \mathbf{M_c(F)}& =BN(MLP(A\nu gPool(\mathbf{F}))) \\ &=BN(\mathbf{W_1}(\mathbf{W_0}A\nu gPool(\mathbf{F})+\mathbf{b_0})+\mathbf{b_1}), \\ \text{其中:} \mathbf{W_0}\in\mathbb{R}^{C/r\times C},\mathbf{b_0}\in\mathbb{R}^{C}& ^{C/r},\mathbf{W_1}\in\mathbb{R}^{C\times C/r},\mathbf{b_1}\in\mathbb{R}^C. \end{aligned} Mc(F)其中:W0∈RC/r×C,b0∈RC=BN(MLP(AνgPool(F)))=BN(W1(W0AνgPool(F)+b0)+b1),C/r,W1∈RC×C/r,b1∈RC.
通道注意力流程如下:
-
全局平均池化:对输入特征 F F F 进行GlobalAvgPooling,保留通道的重要全局信息。
-
全连接层:池化后的特征通过两个FC,第一个FC降维,第二个FC则恢复到原通道数 C C C。这一过程可以学习通道间的依赖关系。
-
通道注意力:通过激活函数 S i g m o i d Sigmoid Sigmoid 生成通道注意力图 M c ( F ) M_c(F) Mc(F),用于对原始通道进行加权,强调重要通道,抑制不重要通道。
2.2 空间注意力模块
空间注意力公式表达如下:
M s ( F ) = B N ( f 3 1 × 1 ( f 2 3 × 3 ( f 1 3 × 3 ( f 0 1 × 1 ( F ) ) ) ) ) \mathbf{M_s}(\mathbf{F})=BN(f_3^{1\times1}(f_2^{3\times3}(f_1^{3\times3}(f_0^{1\times1}(\mathbf{F}))))) Ms(F)=BN(f31×1(f23×3(f13×3(f01×1(F)))))
空间注意力流程如下:
-
1×1卷积:对输入特征 F F F 进行一次卷积操作,用于压缩通道维度并保持原始的空间信息,压缩因子是 r = 16 r=16 r=16。
-
膨胀卷积:使用两层膨胀卷积(Dilated Convolution),膨胀率为 d = 4 d=4 d=4。这样既扩大了感受野,又不增加参数量,帮助模型在空间维度上捕捉更广的上下文信息。
-
空间注意力生成:卷积操作生成一个空间注意力图 M s ( F ) M_s(F) Ms(F),用于标识出空间维度上哪些位置更重要。
2.3 注意力融合
通道和空间注意力融合: M c ( F ) M_c(F) Mc(F) 和 M s ( F ) M_s(F) Ms(F)相加后,通过Sigmoid处理,生成最终的注意力图 M ( F ) M(F) M(F)。
2.4 注意力应用
-
BAM注意力图 M ( F ) M(F) M(F) 应用到 F F F 上,从而对特征图进行重新加权。
-
残差连接:将加权后的特征图与输入特征 F F F 进行相加,形成残差连接。
这样不仅保留了原始特征信息,还让网络学习到重要的注意力区域。
2.5 实验结果
对比不同情况下的模型效果。
2.5.1 超参数配置
超参数:膨胀卷积的膨胀系数、FC的缩放因子
2.5.2 融合方式
融合方式不同,效果也不同,最总就是两个注意力并行后相加效果最好。
2.5.3 模型横向对比
可以看的出来,加入BAM之后,都有明显的效果提升,说明这种方式是有效的且通用的。
相关文章:
5月9日复盘-混合注意力机制
5月9日复盘 四、混合注意力 混合注意力机制(Hybrid Attention Mechanism)是一种结合空间和通道注意力的策略,旨在提高神经网络的特征提取能力。 1. CBAM Convolution Block Attention Module ,卷积块注意力模块 论文地址&…...
YOLOv8 优化:基于 Damo-YOLO 与 DyHead 检测头融合的创新研究
文章目录 YOLOv8 的背景与发展Damo-YOLO 的优势与特点DyHead 检测头的创新之处融合 Damo-YOLO 与 DyHead 检测头的思路融合后的模型架构融合模型的代码实现导入必要的库定义 Damo-YOLO 的主干网络定义特征金字塔网络(FPN)定义 DyHead 检测头定义融合后的…...
【网安播报】Meta 推出 LlamaFirewall开源框架以阻止 AI 越狱、注入和不安全代码
1、Meta 推出 LlamaFirewall 框架以阻止 AI 越狱、注入和不安全代码 Meta 宣布推出 LlamaFirewall,这是一个开源框架,旨在保护人工智能 (AI) 系统免受新出现的网络风险,例如提示词注入、越狱和不安全代码等。除了 Llam…...
QT 解决msvc fatal error C1060: 编译器的堆空间不足
一.物理内存太小,代码又比较复杂,递归嵌套之类的。 1.修改虚拟内存的大小,一般设置为物理内存的1.5倍。 二.msvc工程的编译默认开启的是多线程编译,所以电脑内存确实不够,采用如下设置。 QMAKE_CXXFLAGS -j1 三.ms…...
PX4开始之旅(一)自动调参
核心知识点:无人机震动与滤波参数 1. 通俗易懂的解释 想象一下,你的无人机就像一个非常敏感的“听众”,它的“耳朵”就是陀螺仪和加速度计这些传感器,用来感知自己是如何移动和旋转的。理想情况下,它应该只“听”到你…...
C++ 中 lower_bound 与 upper_bound 函数详解
C 中 lower_bound 与 upper_bound 函数详解 文章目录 C 中 lower_bound 与 upper_bound 函数详解**一、核心定义与区别****二、使用条件与时间复杂度****三、实际应用场景****四、注意事项与常见误区****五、代码示例****六、总结** 一、核心定义与区别 lower_bound 作用&#…...
minio数据迁移(两台服务器没法相互通信)
场景描述: A服务器 无法访问 B服务器,B服务器 也无法访问 A(即双方都不能通过公网或内网直连对方) MinIO 官方提供了 mc(MinIO Client)命令行工具,可以直接实现 Bucket 之间的数据迁移: 安装 …...
O2OA(翱途)开发平台系统安全-用户登录IP限制
O2OA(翱途)开发平台[下称O2OA开发平台或者O2OA]支持对指定的用户设置可以连接的客户端计算机的IP地址,以避免用户在不安全的环境下访问系统。本篇主要介绍如何开启O2OA用户登录IP限制。 一、先决条件: 以拥有管理员权限的用户账号登录O2OA(翱途)开发平…...
CSS flex:1
在 CSS 中,flex: 1 是一个用于弹性布局(Flexbox)的简写属性,主要用于控制 flex 项目(子元素)如何分配父容器的剩余空间。以下是其核心作用和用法: 核心作用 等分剩余空间:让 flex …...
OpenHarmony平台驱动开发(十一),PIN
OpenHarmony平台驱动开发(十一) PIN 概述 功能简介 PIN即管脚控制器,用于统一管理各SoC的管脚资源,对外提供管脚复用功能。 基本概念 PIN是一个软件层面的概念,目的是为了统一对各SoC的PIN管脚进行管理࿰…...
.NET高频技术点(持续更新中)
1. .NET 框架概述 .NET 框架的发展历程.NET Core 与 .NET Framework 的区别.NET 5 及后续版本的统一平台 2. C# 语言特性 异步编程(async/await)LINQ(Language Integrated Query)泛型与集合委托与事件属性与索引器 3. ASP.NET…...
Spring Cloud - 2( 12000 字详解 Spring Cloud)
一:服务注册和服务发现 - Eureka 1.1 背景 在上一章节的例子中,我们可以看到远程调用时 URL 被硬编码,这导致在更换机器或新增机器时,相关的 URL 需要进行相应的变更。这就需要让所有相关服务去修改 URL,随之而来的就…...
解决Win11下MySQL服务无法开机自启动问题
问题描述 在win11系统中,明明将MySQL服务设置成了自动启动,但在重启电脑后MySQL服务还是无法自动启动,每次都要重新到计算机管理的服务中找到服务再手动启动。 解决方式 首先确保mysql服务的启动类型为自动。 设置方法:找到此电…...
RGB矩阵照明系统详解及WS2812配置指南
RGB矩阵照明系统详解及WS2812配置指南 一、RGB矩阵照明简介 RGB矩阵照明是一种强大的功能,允许使用外部驱动器驱动的RGB LED矩阵为键盘增添绚丽的灯光效果。该系统与RGBLIGHT功能无缝集成,因此您可以使用与RGBLIGHT相同的键码来控制它,操作…...
全球首款无限时长电影生成模型SkyReels-V2本地部署教程:视频时长无限制!
一、简介 SkyReels-V2 模型集成了多模态大语言模型(MLLM)、多阶段预训练、强化学习以及创新的扩散强迫(Diffusion-forcing)框架,实现了在提示词遵循、视觉质量、运动动态以及视频时长等方面的全面突破。通过扩散强迫框…...
代理ARP与传统ARP在网络通信中的应用及区别研究
一些问题 路由器隔离广播域,每个接口/网段都是独立的广播域ARP请求是二层广播包,广播包没法通过路由器ARP请求没法穿越互联网到达目标主服务器 一些思考 电脑访问互联网服务器的时候,ARP询问的内容,真的是访问服务器么…...
理解 Envoy 的架构
理解 Envoy 的架构对于深入理解 Istio 至关重要,因为 Envoy 是 Istio 数据平面的核心。Envoy 是一个高性能的 C 分布式代理,设计为云原生应用和大规模微服务架构的网络基础。 以下是 Envoy 架构的关键组成部分和核心理念: 核心设计理念&…...
使用Kotlin Flow实现Android应用的响应式编程
在Android应用中使用Kotlin Flow实现响应式编程可以分为以下步骤,结合最佳实践和生命周期管理: 1. 添加依赖 在build.gradle中确保包含协程和生命周期相关依赖: dependencies {implementation("org.jetbrains.kotlinx:kotlinx-corouti…...
【AI提示词】蝴蝶效应专家
提示说明 一位专注于分析和优化蝴蝶效应现象的专业人士,擅长将微小变化转化为系统级影响的研究者。 提示词 # Role: 蝴蝶效应专家## Profile - language: 中文 - description: 一位专注于分析和优化蝴蝶效应现象的专业人士,擅长将微小变化转化为系统级…...
StreamRL:弹性、可扩展、异构的RLHF架构
StreamRL:弹性、可扩展、异构的RLHF架构 大语言模型(LLMs)的强化学习(RL)训练正处于快速发展阶段,但现有架构存在诸多问题。本文介绍的StreamRL框架为解决这些难题而来,它通过独特设计提升了训…...
架构进阶:大型制造业企业数据架构顶层设计总体规划方案【附全文阅读】
本文概述了一个大型企业数据架构设计的总体规划方案,针对当前数据架构与管理中存在的诸多问题,如缺乏统一数据模型、数据分析应用体系不健全、主数据管理体系不完善、数据治理体系缺失等,提出了明确的改进目标与实施路径。 数据架构设计思路聚焦于明确数据分布和流向…...
前端指南——项目代码结构解析(React为例)
文件结构 文件项目 ├── doc │ ├── technology.md ├── node_modules ├── public ├── shell ├── src │ ├── auto-generated │ │ ├── apis │ │ ├── models │ ├── components │ │ ├── 组件A │ │ ├── 组件B …...
Redis-数据一致性问题与解决方案
Redis-数据一致性问题与解决方案 引言 Redis 是一个高性能的内存数据库,广泛应用于缓存、会话存储、实时分析等场景。作为一个 NoSQL 数据库,它的高性能和丰富的数据结构使其成为现代微服务架构中不可或缺的组件。然而,在高并发的环境下&am…...
【数据结构】算法的复杂度
前言:经过了C语言的学习,紧接着就步入到数据结构的学习了。在C语言阶段我们在写大多数的oj题的时候会遇到一些问题,就是算法的效率低使用的时间较多,占用的空间也多,数据结构就是来优化算法的。 文章目录 一ÿ…...
Leetcode刷题 由浅入深之字符串——541. 反转字符串Ⅱ
目录 (一)反转字符串Ⅱ的C实现 写法一(s.begin()遍历字符) (二)复杂度分析 时间复杂度 空间复杂度 (三)总结 【题目链接】541. 反转字符串Ⅱ - 力扣&am…...
制造单元智能化改造与集成技术平台成套实训设备
制造单元智能化改造与集成技术平台成套实训设备 一、概述: 本设备以汽车行业的轮毂为产品对象,实现了仓库取料、制造加工、打磨抛光、检测识别、分拣入位等生产工艺环节,以未来智能制造工厂的定位和需求为参考,通过工业以太网完成…...
Vscode 顶部Menu(菜单)栏消失如何恢复
Vscode 顶部Menu(菜单)栏消失如何恢复 https://blog.csdn.net/m0_62964247/article/details/135759655 Vscode 顶部Menu(菜单)栏消失如何恢复? 首先按一下 Alt按键,看一下是否恢复了菜单栏 如果恢复了想了解更进一步的设置,或是没能恢复菜单…...
苍穹外卖--公共字段自动填充
1.问题分析 业务表中的公共字段: 问题:代码冗余、不便于后期维护 2.实现思路 自定义注解AutoFill,用于标识需要进行公共字段填充的方法 自定义切面类AutoFillAspect,统一拦截加入了AutoFill注解的方法,通过反射为公…...
行业 |四大痛点待破:“拆解”DeepSeek一体机
繁荣DeepSeek一体机市场。 2025年开年,DeepSeek大模型掀起的一体机热潮席卷中国AI市场。这款一体机凭借其“开箱即用”的便利性和极低的门槛,吸引了大量企业关注,尤其是在中小企业和行业创新者中,更是成为了新晋“顶流”。 无论…...
革新锅炉厂智能控制——Ethernet IP转CANopen协议网关的工业互联新方案
锅炉厂智能化转型的必经之路 在工业4.0时代,锅炉厂作为能源供应的核心环节,正面临智能化升级的迫切需求。传统锅炉控制系统往往因协议不兼容、数据孤岛问题导致效率低下、维护成本高昂。如何实现设备间高效协同?如何让老旧设备融入智能网络&…...
基于卷积神经网络和Pyqt5的猫狗识别小程序
任务描述 猫狗分类任务(Dogs vs Cats)是Kaggle平台在2013年举办的一个经典计算机视觉竞赛。官方给出的Kaggle Dogs vs Cats 数据集中包括由12500张猫咪图片和12500张狗狗图片组成的训练集,12500张未标记照片组成的测试集。选手需要在规定时间…...
Baklib知识中台引领服务智能跃迁
智能架构重构服务范式 Baklib 知识中台通过全量数据融合与多模态处理能力,重塑企业服务底层逻辑。基于分布式架构设计,平台将分散在业务系统、文档库及外部渠道的非结构化数据进行智能清洗与语义解析,形成标准化的知识元数据池。通过四库体系…...
【Python】超全常用 conda 命令整理
Conda命令整理文档,结合官方指南与高频使用场景分类说明,每个命令都有对应的解释 一、环境管理 1. 创建环境 基本创建conda create --name my_env # 创建名为my_env的空环境 conda create -n my_env python3.11 # 指定Python版本 conda creat…...
FreeRTOS菜鸟入门(十四)·事件
目录 1. 基本概念 2. 应用场景 3. 运作机制 4. 控制块 5. 事件函数接口 5.1 事件创建函数 xEventGroupCreate() 5.2 事件删除函数 vEventGroupDelete() 5.3 事件组置位函数 xEventGroupSetBits()(非中断) 5.4 事件组置位函数 xEventGr…...
setData执行后操作方法-微信小程序
在微信小程序中,setData 是异步执行的,如果你需要在 setData 执行完毕后执行某些操作,可以通过以下几种方式实现: 1. 使用 setData 的回调函数 从基础库 2.2.3 开始,setData 支持传入回调函数,回调会在数据…...
SpringAI特性
一、SpringAI 顾问(Advisors) Spring AI 使用 Advisors机制来增强 AI 的能力,可以理解为一系列可插拔的拦截器,在调用 AI 前和调用 AI 后可以执行一些额外的操作,比如: 前置增强:调用 AI 前改…...
捌拾叁- 量子傅里叶变换
1. 前言 最近公司地震,现在稍微有点时间继续学习。 看了几个算法,都说是基于 量子傅里叶变换 ,好,就是他了 Quantum Fourier。 2. 傅里叶变换 大学是学通信的,对于傅里叶变换还是有所理解的。其实就是基于一个 时域…...
SSTI模版注入
1、概念 SSTI是一种常见的Web安全漏洞,它允许攻击者通过注入恶意模板代码,使服务器在渲染模板时执行非预期的操作。 (1)渲染模版 至于什么是渲染模版:服务器端渲染模板是一种Web开发技术,它允许在服务器端…...
33、前台搜索功能怎么实现?
输入搜索的东西,如果为空 如果有 前端是提交表单,方式是 post 后端接受 调用 mybatisplus的categoryService.getById 用户在搜索框内输入关键字之后,执行 js 中的 load方法,前端提交表单, 后端 controller 中的loa…...
量化解析美英协议的非对称冲击:多因子模型与波动率曲面重构
摘要:基于机器学习算法对市场微观结构的实时监测,黄金价格在3300美元/盎司附近展开技术性反弹。本文通过多因子分析框架,解析美元指数上行、贸易政策突变及资产配置迁移对贵金属市场的复合影响,并构建基于LSTM神经网络的动态支撑位…...
对PyTorch模块进行性能分析
以下是针对PyTorch模块进行性能分析的完整方法与工具指南,结合了多种优化策略和实际应用场景: 一、PyTorch性能分析工具 PyTorch Profiler • 功能:内置的性能分析工具,支持捕获CPU/GPU操作、内存分配、数据形状及硬件利用率。 …...
lvm详细笔记
LVM简介 逻辑卷管理器,是Linux 系统中用于管理磁盘储存的关键技术。 LVM 则打破了磁盘分区一旦确定,其大小调整往往较为复杂,且难以灵活应对业务变化这种限制,它允许用户将多个物理分区组合卷组。例如,系统中的多个物…...
OpenHarmony 以太网卡热插拔事件接口无效
目录 1.背景 2.解决方案 1.背景 在OpenHarmony中调用以太网热插拔时间,发现热插拔没有任何回调,如下接口 import { ethernet } from kit.NetworkKit;ethernet.on(interfaceStateChange, (data: object) > {console.log(on interfaceSharingStateCha…...
SPDK NVMe of RDMA 部署
使用SPDK NVMe of RDMA 实现多NVMe设备共享 一、编译、安装spdk 1.1、下载 1.1.1 下载spdk源码 首先,我们需要从GitHub上克隆SPDK的源码仓库。打开终端,输入以下命令: git clone -b v22.01 https://github.com/spdk/spdk.git cd spdk1.1.2…...
Go语言的逃逸分析是怎么进行的
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…...
纯净IP,跨境账号稳定的底层逻辑
在跨境业务快速扩张的背景下,越来越多的卖家、营销人、数据团队都开始使用代理IP来实现全球网络触达。然而,账号封禁问题始终如影随形,而背后的一个“隐性元凶”常常被忽视——纯净IP的缺失。本文将从实战角度出发,带你深入了解什…...
编译日志:关于编译opencv带有ffmpeg视频解码支持的若干办法
编译日志:关于编译opencv带有ffmpeg视频解码支持的若干办法 前言 笔者这里是封装了简单的OpenCV视频播放抽象,然后却发现移植到Ubuntu和开发板上都罢工的事情,原来是Windows平台下我们是默认下载了ffmpeg的库的,但是在泛Linu…...
djinn: 3靶场渗透
djinn: 3 来自 <https://www.vulnhub.com/entry/djinn-3,492/> 1,将两台虚拟机网络连接都改为NAT模式 2,攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182,靶场IP192.168.23.243 3࿰…...
WHAT - 简单服务发现
文章目录 简单理解举个例子简单服务发现方式1. 静态配置(最简单,但不灵活)2. DNS 发现3. 使用服务注册中心(稍高级) 总结 “简单服务发现”(Simple Service Discovery)通常指的是一种让系统中的…...
auto推导类型原则
auto 是 C11 引入的类型自动推导关键字,它允许编译器根据表达式的类型来推导变量的确切类型。虽然使用 auto 可以让代码更简洁,但理解它的类型推导规则非常关键,尤其是在涉及指针、引用、const、模板等场景时。 ✅ 一、基本推导原则 auto x …...