自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hali_Botebie的博客

一步一步来,闻道有先后,术业有专攻,Github主页:https://hiyx.github.io,Gitee:https://gitee.com/hiyanyx

  • 博客(831)
  • 收藏
  • 关注

原创 按关键字搜索自己的CSDN博客

搜索自己博客的功能在谷歌输入关键词,格式如下:<要检索的关键词> site:blog.csdn.net/<博客名>马氏距离 site:blog.csdn.net/djfjkj52

2020-02-28 19:38:15 346

翻译 FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness 是 FlashAttention 的论文

由于自注意力机制的时间和内存复杂度是序列长度的二次方,Transformer 在长序列上速度慢且占用大量内存。近似注意力机制试图通过牺牲模型质量来降低计算复杂度,以此解决这个问题,但通常无法实现快速加速。我们认为,目前缺少一个原则,即让注意力机制算法具备 IO 感知能力——即考虑 GPU 内存不同层级之间的读写操作。我们提出了 FlashAttention,这是一种 IO 感知的精确注意力机制,它使用平铺技术来减少 GPU 高带宽内存 (HBM) 和 GPU 片上 SRAM 之间的内存读写次数。

2025-05-30 11:33:22 26

原创 低秩矩阵、奇异值矩阵和正交矩阵

低秩矩阵(Low-rank Matrix)是指秩(rank)远小于其行数和列数的矩阵,即 rank(M)=r≪min⁡(m,n)rank(M) = r \ll \min(m,n)rank(M)=r≪min(m,n)。其核心特点是信息冗余性,可通过少量独立基向量(奇异向量)近似表示整个矩阵,从而在数据压缩、去噪和补全等任务中发挥重要作用。矩阵乘法是大多数机器学习模型的核心计算瓶颈。为了降低计算复杂度,已经出现了许多方法对一组更高效的矩阵进行学习。这些矩阵被称为结构化矩阵,其参数数量和运行时间为次二次函数(对于

2025-05-30 11:14:29 745

原创 FlashAttention(flash_attn)​ 的高效注意力机制实现库学习,与 torch.nn.MultiheadAttention 在数学上是完全相同

是 FlashAttention 的开山之作(即 FlashAttention V1 的论文),由 Tri Dao 等人于 2022 年 5 月 27 日提交至 arXiv,并发表在 NeurIPS 2022 会议上。FlashAttention是当前大模型开发中的关键技术,尤其适合需要高效处理长序列的场景。:通过分块递归计算(如 Online Softmax)和核融合(Kernel Fusion),避免实例化中间矩阵,显存占用降至。在数学上是完全相同的,两者的差异仅在于实现方式和计算效率,而非输出结果。

2025-05-30 10:19:24 596

原创 torch.nn.MultiheadAttention的代码逐行研究

文档:https://docs.pytorch.org/docs/stable/generated/torch.nn.MultiheadAttention.html代码:https://github.com/pytorch/pytorch/blob/v2.7.0/torch/nn/modules/activation.py#L973具体执行的function:https://github.com/pytorch/pytorch/blob/main/torch/nn/functional.py#L6213

2025-05-29 18:57:31 664

转载 【炼丹技巧】指数移动平均(EMA)的原理及PyTorch实现

在在线蒸馏中,使用EMA作为teacher模型。今天谈一谈EMA算法。

2025-05-28 17:31:45 17

翻译 【Head-DETR系列(10)】Sparse DETR: efficient end-to-end object detection with learnable sparsity

DAM是通过聚合解码器中所有对象查询(object queries)对编码器输出令牌(tokens)的交叉注意力权重生成的。

2025-05-27 13:42:39 16

翻译 【去噪训练(2)】Dino: DETR with improved denoising anchor boxes for end-to-end object detection

Compare with DN-DETR去噪机制的核心差异DN-DETR聚焦于稳定二分图匹配,通过引入辅助去噪任务(将带噪声的真实框输入解码器直接重建原始框),绕过匈牙利匹配的不稳定性,加速早期训练收敛。其去噪组仅作为训练阶段的辅助分支,推理时移除。技术实现:对真实框的坐标(x,y,w,h)和类别标签添加均匀噪声,强制模型学习重建原始目标。贡献:首次将去噪思想引入检测任务,解决匹配不稳定性导致的收敛慢问题。DINO在DN-DETR基础上进一步优化,提出。

2025-05-26 19:46:54 26

翻译 【DETR蒸馏】OD-DETR: Online Distillation for Stabilizing Training of Detection Transformer

DETR 存在训练动态不稳定的问题。与基于 CNN 的检测器相比,它需要消耗更多数据和训练周期才能收敛。本文旨在通过在线蒸馏技术来稳定DETR 训练。它利用一个由指数移动平均 (EMA) 积累的教师模型,并从以下三个方面将其知识蒸馏到在线模型中。首先,教师模型中目标查询与真实值 (GT) 框之间的匹配关系被用来指导学生模型,因此学生模型中的查询不仅根据自身的预测分配标签​​,还会参考教师模型的匹配结果。其次,教师模型的初始查询被提供给在线学生模型,其预测直接受到教师模型相应输出的约束。最后,来。

2025-05-23 18:35:09 33

翻译 【蒸馏DETR】Distilling Knowledge from Large-Scale Image Models for Object Detection

近年来,大规模图像模型取得了长足进步,突破了目标检测等许多视觉任务的界限。考虑到在很多场景下部署大型模型由于计算开销高昂并不切实际,本文提出了一种新的知识蒸馏方法,从大规模图像模型中蒸馏知识用于目标检测(称为 DLIM-Det)。为此,我们做了以下两项工作:(1)为了弥合教师和学生之间的差距,我们提出了一种冻结教师方法。具体来说,为了通过在特定任务上微调大型模型来创建教师模型,我们冻结了预先训练好的主干模型,只优化任务头。这既保留了大型模型的泛化能力,又赋予教师模型独特的特性。

2025-05-23 18:03:13 67

翻译 【DETR蒸馏】D3ETR: Decoder Distillation for Detection Transformer

基于 DETR 的检测器的基准和方案尚待构建。本文聚焦于基于 DETR 的检测器的 Transformer 解码器,并探索其知识蒸馏方法。Transformer 解码器的输出顺序随机,这使得教师和学生的预测之间没有直接对应关系,从而对知识蒸馏提出了挑战。为此,我们提出了 MixMatcher 来对齐基于 DETR 的教师和学生的解码器输出,它混合了两种师生匹配策略,即自适应匹配和固定匹配。具体而言,自适应匹配采用二分匹配,在每个解码器层自适应地匹配教师和学生的输出;

2025-05-23 17:24:18 22

翻译 【DETR蒸馏】CVPR:KD-DETR: Knowledge Distillation for Detection Transformer with Consistent Distillat

论文:KD-DETR: Knowledge Distillation for Detection Transformer with Consistent Distillation Points Sampling地址:https://arxiv.org/pdf/2211.08071。

2025-05-23 11:01:39 56

原创 角度回归——八参数检测四边形RSDet

遥感目标检测 RSDet 是四边形检测器,而且都考虑到了顺序标签点(sequential label points)的问题。我们首先介绍两种主流的边界框参数化协议,即五参数模型和八参数模型。然后,我们正式识别了五参数系统中旋转角度的不连续性及其导致的宽高突变。此外,我们定量地展示了五参数系统中由不同测量单位引起的回归不一致性带来的负面影响。我们将这些问题统称为旋转敏感误差 ( Rotation Sensitivity Error,RSE),并提出了一种针对五参数系统的调制旋转损失函数,以实现更平滑的学习。

2025-05-22 16:25:30 990

原创 角度回归——八参数检测四边形Gliding Vertex

遥感目标检测Gliding Vertex 是四边形检测器,而且都考虑到了顺序标签点(sequential label points)的问题。首先我们要了解一下为什么在做四边形检测前要对四个角点进行排序。举一个简单的例子,如果一个四边形的ground-truth是(x1,y1,x2,y2,x3,y3,x4,y4)并且所有的ground-truth并不是按一定规则顺序标注的,那么检测器有可能给出的预测结果是(x2,y2,x3,y3,x4,y4,x1,y1)。

2025-05-22 15:49:09 750

翻译 【DETR蒸馏】ICCV2023:DETRDistill:A Universal Knowledge Distillation Framework for DETR-families

论文:DETRDistill: A Universal Knowledge Distillation Framework for DETR-familiesICCV2023代码:https://github.com/BIVLab-USTC/DETRDistill。

2025-05-21 17:04:36 38

原创 【Transformer-BEV编码(13)】稀疏PETR——streamPETR:Exploring Object-Centric Temporal Modeling for Effici和代码分析

本文提出了一个用于多视角3D目标检测的长序列建模框架StreamPETR。基于PETR系列的稀疏查询设计,我们系统地开发了一种以目标为中心的时间机制。该模型以在线方式运行,长期历史信息通过逐帧的目标查询进行传播。此外,我们引入了运动感知层归一化来建模目标的运动。与单帧基准相比,StreamPETR在几乎可以忽略不计的计算成本下实现了显著的性能提升。在标准nuScenes基准测试中,它是第一个能够与基于激光雷达的方法达到相当性能(67.6% NDS和65.3% AMOTA)的在线多视角方法。

2025-05-19 20:11:59 713

翻译 【端到端(2)】ICLR 2025SSR:Navigation-Guided Sparse Scene Representation for End-to-End Autonomous Driving

端到端自动驾驶 (E2EAD) 方法通常依赖于监督感知任务来提取明确的场景信息(例如,物体、地图)。这种依赖需要昂贵的注释,并限制了实时应用中的部署和数据可扩展性。本文介绍了 SSR,这是一个新颖的框架,它仅使用 16 个导航引导标记作为稀疏场景表示,从而有效地提取了 E2EAD 的关键场景信息。我们的方法无需人工设计的监督子任务,从而使计算资源能够集中在与导航意图直接相关的重要元素上。我们还引入了一个时间增强模块,通过自监督将预测的未来场景与实际的未来场景对齐。

2025-05-15 16:05:02 58

转载 感知工程师的规划速成课

作为自动驾驶车辆的“头脑”,规划系统对于车辆的安全和高效驾驶至关重要。规划系统的目标是生成一条安全、舒适、高效的行驶轨迹。换句话说,安全性、舒适性和效率是规划的三个关键目标。为了给规划系统提供输入,系统需要所有感知输出,包括静态的道路结构、动态的道路参与者、占用网生成的占用空间(occupancy network)以及交通等待情况等。规划系统还必须通过监控加速度(acceleration)和加加速度(jerk)来确保车辆的舒适性,从而生成平滑的轨迹,同时考虑与其他交通参与者的互动和礼让。

2025-05-15 11:34:14 101

翻译 【去噪训练(2)】ECCV 2022:A Fast Knowledge Distillation Framework for Visual Recognition

本文提出了一种快速知识蒸馏(FKD)框架,旨在解决传统知识蒸馏(KD)方法中因教师网络转发导致的计算开销大、效率低的问题。FKD通过模拟蒸馏训练阶段并生成多裁剪图像的软标签,避免了RoI对齐和softmax操作,从而显著提高了训练速度。实验结果表明,FKD在ImageNet-1K数据集上使用ResNet-50实现了80.1%的准确率,比ReLabel高出1.2%,同时训练速度更快。此外,FKD在自监督学习任务中也表现出色,展示了其在多种视觉任务中的广泛适用性和高效性。

2025-05-15 11:10:02 26

翻译 【去噪训练(1)】DN-DETR: Accelerate DETR Training by Introducing Query DeNoising

本文提出了一种新颖的去噪训练方法,以加速 DETR(检测变换器)的训练,并加深了对 DETR 类方法收敛速度慢问题的理解。我们指出,收敛速度慢是由于二分图匹配的不稳定性导致训练初期优化目标不一致所致。为了解决这个问题,除了匈牙利损失函数外,我们的方法还额外将带有噪声的 GT 边界框输入到 Transformer 解码器中,并训练模型重建原始边界框,从而有效降低了二分图匹配难度并加快了收敛速度。我们的方法具有通用性,只需添加数十行代码即可轻松插入到任何 DETR 类方法中,并实现显著的改进。

2025-05-08 15:05:23 78

原创 【蒸馏(5)】DistillBEV代码分析

特征对齐在检测中需结合类别平衡策略,直接应用会因背景主导而失效,这一结论已被大量实验验证。这种现象在三维物体检测中更加严重,因为绝大多数三维空间都是空的。我们对BEV特征图的统计发现,平均不到30%的像素是非空的,其中只有一小部分包含我们感兴趣的物体。为了进行有效的知识转移,我们引入了区域分解来引导学生关注关键区域,而不是平等对待所有区域。具体来说,我们将特征图分为四种类型:真阳性(TP)、假阳性(FP)、真阴性(TN)和假阴性(FN)。据此,我们定义一个区域分解掩码M:

2025-04-28 19:44:56 1066

翻译 【激光雷达3D(3)】MVX-Net: Multimodal VoxelNet for 3D Object Detection mvxnet和mmdet的源码学习mvxnet

近期许多关于 3D 物体检测的研究都致力于设计能够处理点云数据的神经网络架构。虽然这些方法表现出令人鼓舞的性能,但它们通常基于单一模态,无法利用来自其他模态(例如相机)的信息。尽管一些方法融合了来自不同模态的数据,但这些方法要么使用复杂的流水线按顺序处理模态,要么执行后期融合,无法在早期学习不同模态之间的交互。在本文中,我们提出了 PointFusion 和 VoxelFusion:两种简单而有效的早期融合方法,利用最近推出的 VoxelNet 架构将 RGB 和点云模态融合在一起。

2025-04-27 17:26:50 71 1

翻译 【数据增强(1)】CVPR2019: Class-balanced Grouping and Sampling for Point Cloud 3D Object Detection

本报告介绍了我们的方法,该方法赢得了自动驾驶研讨会 (WAD, CVPR 2019) 上举办的 nuScenes 3D 检测挑战赛 [17]。通常,我们利用稀疏 3D 卷积提取丰富的语义特征,然后将其输入到类平衡的多头网络中执行 3D 物体检测。为了解决自动驾驶场景中固有的严重类别不平衡问题,我们设计了一种类平衡的采样和增强策略,以生成更均衡的数据分布。此外,我们提出了一个平衡的分组头来提升具有相似形状的类别的性能。

2025-04-27 16:03:25 39

原创 【激光雷达3D(6)】​3D点云目标检测方法;CenterPoint、PV-RCNN和M3DETR的骨干网络选择存在差异

方法骨干网络核心特点灵活适配,检测头与骨干解耦PV-RCNN两阶段融合体素与点特征M3DETRVoxelNet 或 PointNet++Transformer解码器主导结论CenterPoint强调骨干灵活性,PV-RCNN侧重多特征融合,M3DETR则通过Transformer增强全局建模。基于体素的方法(VoxelNet、SECOND)必须使用3D卷积。基于点的方法(PointNet++)和部分混合方法(PointPillars)避免3D卷积,转而采用更高效的操作。

2025-04-24 16:15:25 838

原创 【激光雷达3D(7)】CenterPoint两阶段细化仅使用BEV特征;PV-RCNN两阶段细化使用体素特征;M3DETRTransformer统一多表征特征

通过Transformer同时处理多尺度、多表征(原始点云、体素、BEV)的特征,直接输出检测结果,无需显式的区域提议(Region Proposal)阶段。:类似DETR,使用可学习的查询(Query)与编码器特征交互,通过解码器直接预测边界框,省略了RoI特征提取步骤。,实验中也对比了融合体素特征的方法(如Voxel-Set Abstraction和RBF插值)。M3DETR通过Transformer实现端到端检测,无需显式两阶段设计。:在小目标和遮挡场景中表现突出,但训练复杂度高。

2025-04-24 16:14:59 540

翻译 【激光雷达3D(5)】Multimodal Virtual Point 3D Detection

基于激光雷达的传感技术驱动着当今的自动驾驶汽车。尽管激光雷达技术发展迅速,但目前的激光雷达传感器在分辨率和成本方面仍比传统彩色摄像头落后二十年。对于自动驾驶而言,这意味着靠近传感器的大型物体很容易被看到,但远处或较小的物体仅占一到两个测量值。这是一个问题,尤其是在这些物体最终成为驾驶危险因素时。另一方面,这些物体在车载 RGB 传感器中清晰可见。本文提出了一种将 RGB 传感器无缝融合到基于激光雷达的 3D 识别中的方法。

2025-04-24 16:03:07 35

原创 PyTorch 中一个常见但容易踩坑的知识点:多进程的 pickle 流程

pickle是 Python 的一种序列化机制,它能把一个 Python 对象转换成二进制数据,然后传给另一个进程使用。举个例子:import pickleb = pickle.dumps(x) # 把对象 x 转成二进制x2 = pickle.loads(b) # 把二进制还原成原来的对象PyTorch 用多进程加载数据时,会自动使用pickle来序列化你的Dataset对象传给子进程。如果 Dataset 中有不能被pickle的对象(比如.keys()返回的视图),就会报错。

2025-04-21 14:41:55 486

翻译 【运动预测(1)】CVPR2021:mmTransformer:Multimodal Motion Prediction with Stacked Transformers

预测附近车辆未来多条合理轨迹对于自动驾驶安全至关重要。近期的运动预测方法试图通过隐式正则化特征或显式生成多个候选候选区域来实现这种多模态运动预测。然而,这仍然具有挑战性,因为潜在特征可能集中在数据中最频繁出现的模式上,而基于候选区域的方法在很大程度上依赖于先验知识来生成和选择候选区域。在本研究中,我们提出了一种用于多模态运动预测的新型Transformer框架,称为mmTransformer。我们设计了一种基于堆叠Transformer的新型网络架构,利用一组固定的独立候选区域在特征级别对多模态进行建模。

2025-04-15 18:22:26 53

翻译 【Transformer-BEV编码(17)】GKT:Efficient and Robust 2D-to-BEV Representation Learning via Geometry-guide

地址:https://arxiv.org/abs/2206.04584。

2025-04-15 10:33:07 36

翻译 【BEV地图(4)】Lane Graph as Path: Continuity-preserving Path-wise Modeling for Online Lane Graph Constru

在线车道图构建是自动驾驶中一项有前景但具有挑战性的任务。以前的方法通常在像素或片段级别对车道图进行建模,并通过逐像素或逐片段连接来恢复车道图,这会破坏车道的连续性并导致性能不佳。人类驾驶员专注于沿着连续完整的路径行驶,而不会考虑车道片段。自动驾驶汽车还需要车道图的路径特定引导以进行轨迹规划。我们认为指示交通流的路径是车道图的基元。受此启发,我们提出以一种新颖的路径方式对车道图进行建模,这种方式可以很好地保持车道的连续性并为规划编码交通信息。

2025-04-14 20:15:45 37

翻译 【BEV地图(3)】MapTRv2:An End-to-End Framework for Online Vectorized HD Map Construction

高清地图提供了丰富而精准的驾驶场景静态环境信息,是自动驾驶系统规划不可或缺的基础。本文提出了 Map TRansformer,一个用于在线矢量化高清地图构建的端到端框架。我们提出了一种统一的置换等价建模方法,即将地图元素建模为具有一组等价置换的点集,从而准确描述地图元素的形状并稳定学习过程。我们设计了一种分层查询嵌入方案,可以灵活地编码结构化地图信息,并执行分层二分匹配以进行地图元素学习。为了加快收敛速度​​,我们进一步引入了辅助一对多匹配和密集监督。该方法能够很好地处理各种形状的地图元素。

2025-04-14 19:43:27 82

翻译 【BEV地图(3)】MapTR:Structured Modeling and Learning for Online Vectorized HD Map Construction

高清地图是自动驾驶系统规划不可或缺的基础,它能够提供丰富精准的驾驶场景环境信息。我们提出了 MapTR,一种结构化的端到端 Transformer,用于高效在线构建矢量化高清地图。我们提出了一种统一的置换等价建模方法,即将地图元素建模为具有一组等价置换的点集,这种方法能够准确描述地图元素的形状并稳定学习过程。我们设计了一种分层查询嵌入方案,可以灵活地编码结构化地图信息,并执行分层二分匹配以进行地图元素学习。在现有的 nuScenes 数据集上,MapTR 在仅使用摄像头输入的情况下实现了最佳性能和效率。

2025-04-14 16:50:16 34

翻译 BEV地图评估尺度:Chamfer距离和Fréchet距离

参考自:VectorMapNet: End-to-end Vectorized HD Map Learning。

2025-04-14 13:58:31 50

翻译 【BEV地图(1)】VectorMapNet: End-to-end Vectorized HD Map Learning

自动驾驶系统需要高清 (HD) 语义地图来导航城市道路。现有的解决方案通过离线手动标注来解决语义地图绘制问题,但这种方法存在严重的可扩展性问题。近期基于学习的方法可以生成密集的栅格化分割预测来构建地图。然而,这些预测不包含单个地图元素的实例信息,并且需要启发式后处理才能获得矢量化地图。为了应对这些挑战,我们引入了一种端到端的矢量化高清地图学习流程,称为 VectorMapNet。VectorMapNet 利用车载传感器的观测数据,预测鸟瞰图中一组稀疏的折线。

2025-04-14 11:20:14 72

转载 【分割损失】Dice loss,用于提升分割

论文笔记] V-Net: Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation 提出了一个新的指标函数,类似IoU、Pa,叫做Dice coefficient网络预测由两个具有与原始输入数据相同分辨率的体素组成,并通过softmax层进行处理,该层输出每个体素属于前景和背景的概率。在我们的研究中,感兴趣的解剖一般仅占据很小的扫描区域。

2025-04-11 16:09:19 91

翻译 DeepLabv3+:Encoder-Decoder with Atrous Separable Convolutio多尺度空洞卷积并行结构ASPP+EncoderDecoder 结构+深度可分离卷积

空间金字塔池化模块或编码-解码器结构常用于深度神经网络的语义分割任务。前者能够通过使用多种速率和多种有效视野的滤波器或池化操作探测输入特征来编码多尺度上下文信息,而后者则能够通过逐步恢复空间信息来捕捉更清晰的物体边界。在本研究中,我们提出结合两种方法的优势。具体而言,我们提出的模型 DeepLabv3+ 在 DeepLabv3 的基础上添加了一个简单而有效的解码器模块,以优化分割结果,尤其是在物体边界上。

2025-04-11 15:49:39 76

原创 【端到端】端到端自动驾驶依赖Occupancy进行运动规划?还是可以具有生成局部地图来规划?

Occupancy 是越来越被当作“可通行空间”表示,用于运动规划的一个核心输入;但生成结构化的局部地图用于规划仍然是目前更稳定可控的工程路线。

2025-04-11 10:08:11 340

转载 GPT-4o探索在图像生成中引入自回归

语言是离散的,所以适合用自回归模型来生成;而图像是连续的,所以适合用扩散模型来生成。在生成模型发展早期,这种刻板印象广泛存在于很多研究者的脑海中。但最近,这种印象正被打破。更多的研究者开始探索在图像生成中引入自回归(如 GPT-4o),在语言生成中引入扩散。香港大学和华为诺亚方舟实验室的一项研究就是其中之一。他们刚刚发布的扩散推理模型 Dream 7B 拿下了开源扩散语言模型的新 SOTA,在各方面都大幅超越现有的扩散语言模型。

2025-04-11 09:35:43 30

原创 【车道线检测(0)】卷首语

车道线检测领域,早期的LaneNet、CondLaneNet等模型。现在在等方面有了更多进展。

2025-04-10 17:23:05 831

翻译 MambaBEV: An efficient 3D detection model with Mamba2:第一个将 Mamba2 集成到基于摄像头的检测模型中的模型

自动驾驶中精准的 3D 物体检测依赖于鸟瞰图 (BEV) 感知和有效的时间融合。然而,现有的融合策略——基于卷积层或可变形自注意力机制——在 BEV 空间中难以进行全局上下文建模,导致大型物体的准确率较低。为了解决这个问题,我们提出了 MambaBEV,这是一种基于 BEV 的新型 3D 物体检测模型,它利用了 Mamba2——一种针对长序列处理优化的高级状态空间模型 (SSM)。

2025-04-10 16:01:21 57

翻译把STL容器放入共享内存

把STL容器放入共享内存 假设进程A在共享内存中放入了数个容器,进程B如何找到这些容器呢? 进程A先在共享内存某块确定地址上放置一个map容器,然后进程A再创建其他容器,然后给其取个名字和地址一并保存到这个map容器里。 进程B知道如何获取该保存了地址映射的map容器,然后同样再根据名字取得其他容器的地址。清单container_factory.hh是一个容器工厂类。 类Pool的方法setContainer把map容器放置在一个已知地址上,方法getContainer可以重新获取这个map。 该工厂的方法用来在共享内存中创建、获取和删除容器。

2024-06-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除