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

开源|上海AILab:自动驾驶仿真平台LimSim Series,兼容端到端/知识驱动/模块化技术路线

导读

随着自动驾驶技术快速发展,有效的仿真环境成为验证与增强这些系统的关键。来自上海人工智能实验室的研究团队推出了LimSim Series——一个革命性的自动驾驶仿真平台,它巧妙解决了行业面临的三大挑战:仿真精度与持续时间的平衡、功能性与实用性的冲突,以及评估系统的全面性。

该平台采用兴趣区域创新性地优化计算资源,支持模块化、端到端及知识驱动型自动驾驶系统,并通过多维度评估指标提供深入系统性能分析。让一起探索LimSim Series如何加速自动驾驶技术的迭代与突破!

©️【深蓝AI】编译

论文题目:LimSim Series: An Autonomous Driving Simulation Platform for Validation and Enhancement

论文作者:Daocheng Fu, Naiting Zhong, Xu Han, Pinlong Cai, Licheng Wen, Song Mao, Botian Shi, Yu Qiao

论文地址:https://arxiv.org/pdf/2502.09170

论文代码:https://github.com/PJLab-ADG/LimSim

LimSim Series 是对原始 LimSim 的全面升级和扩展,它不再仅仅是一个交通模拟器,而是发展成为一个专门支持自动驾驶系统验证和增强的综合平台。主要升级体现在:增加了对不同自动驾驶技术路线(模块化、端到端和知识驱动)的全面支持;引入了“感兴趣区域“(AoI)概念来优化计算资源分配;增强了与SUMO和CARLA等现有模拟引擎的跨平台协同能力;添加了多模态大语言模型的应用支持,特别是在场景理解和决策制定方面;开发了更加独立的轻量级引擎;完善了交互式模拟策略,更精确地确定何时由模拟器控制车辆以及何时应遵循真实世界数据。这些升级使LimSim Series成为一个能够平衡模拟精度与持续时间、功能性与实用性,并为自动驾驶技术提供合理评估系统的综合平台。

1、研究背景

在近期智能交通研究领域中,在封闭循环仿真环境中验证和增强自动驾驶系统(ADS)已成为关键焦点。这类环境提供数据收集、模型训练和性能评估的连续循环,通过提供宝贵的反馈循环来扩展ADS的能力。从时间维度来看,封闭循环环境使决策和规划的长期性能探索成为可能;从空间维度看,它们提供多样化和动态的场景,有助于发现边缘情况;从控制连续性角度看,封闭循环仿真评估不同系统模块的交互,从而揭示潜在弱点。这使得封闭循环仿真在自动驾驶系统的开发和改进中不可或缺。

然而,构建有效的闭环自动驾驶仿真必须在真实性、系统需求和性能之间取得平衡。实现这一点不仅需要设计真实的驾驶场景,还需要满足自动驾驶技术多样化和不断发展的需求。当前的自动驾驶仿真平台仍面临几个关键挑战:首先是平衡仿真精度与持续时间的难题。其次是功能性与实用性之间的冲突。第三是缺乏全面且合理的评估系统。

为解决这些挑战并进一步推进封闭循环环境中ADS的验证和增强,作者开发了LimSim Series,一个综合仿真平台。通过整合来自道路网络的多类型信息,LimSim Series通过类人决策制定和规划算法控制背景车辆,为算法测试创建逼真的驾驶场景。这种方法通过引入兴趣区域(AoI)的概念来平衡仿真效率与质量,优化计算资源,并实现宏观-微观交互仿真。LimSim Series还提供各种基准算法和用户友好的接口,促进各种ADS和算法的快速部署。这些特性支持多种技术管道的灵活验证,使研究人员能够高效测试不同模块和配置。此外,LimSim Series纳入了多维评估指标,为系统性能提供详细见解,帮助研究人员快速识别问题和改进领域。

图1:LimSim仿真器

2.  LimSim仿真框架

本文提供了一个自动驾驶仿真的综合框架,包括多个必要模块(如图2所示),以支持不同技术管道的部署。作者接着分享了设计这一框架的一些考虑和见解。

图2:LimSim仿真系统

2.1 仿真模块

驾驶引擎

在LimSim Series中,作者非常注重独立性和与现有仿真引擎的兼容性问题。独立仿真引擎至关重要,因为它允许用户完全部署和测试基于该平台的算法,有效获取仿真过程的所有动态和静态信息。这种完全访问对于在受控环境中评估自动驾驶系统至关重要。此外,LimSim Series设计成与广泛使用的开源仿真引擎(如SUMO和CARLA)无缝集成,增强其多功能性。通过提供跨平台通信能力,LimSim Series允许联合开发,使用户能够利用每个平台的优势。例如,SUMO以其高速交通流仿真而著称,非常适合大规模交通管理研究,而CARLA则以逼真的3D渲染见长,非常适合可视化复杂城市环境。通过整合这些平台,LimSim Series可以支持各种自动驾驶技术管道,使用户能够在多种仿真场景下测试和验证其算法。

地图构建

LimSim Series中的交通网络地图构建设计为灵活和用户友好,支持导入ASAM OpenDRIVE格式等格式的地图文件。此外,用户可以通过跨平台通信获取地图信息,确保平台适应各种数据源。网络的几何信息和拓扑关系在仿真过程中至关重要,有助于建立车辆与道路之间的有效关系,从而间接构建车辆与周围交通参与者之间的关系。此外,为准确定位车辆位置,LimSim Series采用了由笛卡尔坐标系和Frenet坐标系组成的双坐标系统。笛卡尔坐标系提供车辆的绝对定位,这对分析车辆冲突和评估驾驶性能至关重要。例如,通过使用笛卡尔坐标,用户可以跟踪车辆在变道或接近交叉口时的反应。另一方面,Frenet坐标系对局部轨迹规划特别有用。它简化了靠近道路中心线的轨迹生成,无需详细的道路几何。这种双重方法确保了精确定位和有效路径规划,即使在复杂环境中也是如此。

场景理解

交通场景可定义为目标车辆或目标道路点周围的道路区域,包括指定范围内的所有交通参与者。通过与CARLA等3D场景仿真器交换信息,LimSim Series提供详细的3D道路场景数据,包括来自多个视角的原始传感器数据——如相机和激光雷达传感器的图像和点云。这些数据可与传统感知算法一起使用,识别和标记场景中的交通参与者,以及估计其运动状态(如速度和方向)。此外,这些传感器数据也可以输入到端到端深度学习架构中进行场景的隐式编码,或输入到多模态大型模型中进行一般上下文理解,实现更复杂的场景解释。

决策与规划

LimSim Series提供多种轨迹规划方法,适合简单和高级用例。基线方法包括传统的跟随和变道模型,为自动驾驶仿真新手提供起点。例如,智能驾驶员模型(IDM)和MOBIL模型的组合提供了一种简单而有效的方法来模拟交通中的车辆移动。这些模型帮助用户理解车辆行为的基本机制,如保持安全跟车距离和执行平稳变道。虽然控制模式简单,但这些模型也作为评估交通流仿真性能的基准。对于更复杂的场景,LimSim包括一个采用双层逻辑结构的联合决策规划模型。上层利用蒙特卡罗树搜索(MCTS)进行决策,帮助模拟车辆的高级行为,如决定是否超车或在交叉口停车。下层执行轨迹规划,使用并行处理生成特定轨迹点,确保实时响应。此外,先进技术如大型语言模型可以集成,基于场景分析输出决策元动作。例如,大型语言模型可以解释周围交通条件并决定车辆是否应该加速、减速或变道。

性能评估

为评估算法性能,LimSim Series引入了一套全面的性能指标。对于单个车辆,封闭循环仿真指标主要关注车辆的操作状态,包括效率、舒适度和安全指标。例如,效率可通过驾驶任务的完成时间衡量,舒适度可通过车辆行驶的平稳度评估,安全性可通过碰撞或近碰撞频率评估。这些指标的量化可帮助用户识别特定场景中的算法失败,从而识别边缘情况并支持算法迭代和优化。例如,车辆反复无法安全变道的场景可能突显需要改进车辆的决策或感知模型。此外,为进一步增强仿真的真实性,用户可以校准模型参数以匹配真实世界数据集的统计特性,如平均速度、车头时距(两车之间的时间间隔)和饱和流量(在给定时间内可通过交叉口的最大车辆数量)。这确保了仿真结果代表真实交通条件,增强了测试环境的有效性。

2.2 设计考虑与见解

效率与规模之间的权衡

随着平台上运行的车辆数量增加,模拟其交互所需的计算负载也呈指数增长。在有限的计算资源下,仿真平台面临的常见挑战是效率和规模之间的权衡。简单来说,你想要模拟的车辆和详细交互越多,所需的计算能力就越大。在现有仿真器中,这种权衡通常通过减少仿真粒度来解决——这可能包括降低渲染帧率或减少轨迹更新频率。然而,这类简化可能牺牲真实性和准确性,特别是在车辆行为至关重要的关键场景中。

为平衡这些相互冲突的需求,LimSim Series引入了兴趣区域(AoI)的概念,如图3所示。AoI将计算资源集中在感兴趣车辆周围的局部区域,确保仿真在必要处保持高度详细,在不太关键的区域计算效率更高。在AoI内,车辆行为以高粒度模拟,使用模拟真实世界决策的复杂控制策略。例如,当车辆即将合并到另一车道时,它将应用微妙的控制策略来评估和应对附近交通。在AoI外,仿真粒度降低,车辆默认使用简单、高效的行为,如车道跟随或基本速度控制。这种方法允许一个可扩展的解决方案,使仿真器能够处理大量车辆而不会使系统超负荷。未来,作者还计划探索分布式仿真策略,车辆控制可以分散并由分布式中心网络管理。这将提供更大的灵活性和可扩展性,同时保持统一的场景渲染接口,确保所有仿真模块的一致视觉表示。

图3:AoI区域

真实数据与仿真平台的整合

基于仿真的研究中的一个关键挑战是整合真实世界数据以提高仿真环境的真实性。导入真实交通数据,如道路网络布局和历史交通流,可增强仿真交通条件的准确性。然而,这种整合可能导致车辆之间动态交互的丧失,而这对于模拟真实行为至关重要。

为解决这一问题,LimSim Series将交互式仿真策略作为核心功能开发。这些策略帮助确定车辆何时应由仿真器控制,何时应遵循真实世界数据。这种动态方法增强了真实性和交互性,使仿真能够适应交通动态的复杂性。例如,如图4所示,当车辆进入AoI并可能与其他车辆发生潜在冲突(如造成追尾碰撞)时,仿真器将用默认控制策略覆盖车辆的轨迹,以防止事故或不自然行为。一旦冲突解决或车辆离开AoI,仿真器将恢复车辆的轨迹,使其与真实世界数据保持一致。这确保了车辆的行动虽然动态调整以避免碰撞,但在AoI外仍保持与真实世界交通模式的基础联系。在之前的工作中,作者还探索了3D场景重建与LimSim Series的整合。这种结合允许以更详细地复制真实世界交通环境,并提供灵活性任意编辑车辆轨迹。这种整合为模拟复杂城市驾驶场景开辟了新的可能性。

图4:仿真策略

3. 实验

3.1 实验设置

LimSim Series提供各种基线模块和算法,以及用户友好的API,使其能够与主流自动驾驶系统无缝集成。它为不同自动驾驶系统提供便捷的仿真和验证功能,帮助探索其性能边界。此外,LimSim Series完全支持高清地图解析,允许在各种道路类型和场景中进行仿真实验。

在本节中,作者在不同场景中对各类自动驾驶系统进行了仿真实验。评估的系统包括:

1. PDM(Dauner等人,2023年),代表模块化自动驾驶系统;

2. Interfuser(Shao等人,2022年),代表端到端自动驾驶系统;

3. VLM-Agent(Wen等人,2023a;Fu等人,2024年),代表知识驱动自动驾驶系统;

4. LimSim-TM(Wen等人,2023b),LimSim Series提供的基线交通控制器。

PDM包括几个模块,如智能体预测、轨迹提议和轨迹细化,为车辆提供适当的轨迹。它使用基于规则的预测规划器获取轨迹提议,并使用学习的自我预测模块细化轨迹。InterFuser是基于多传感器和集成变压器方法的安全增强自动驾驶策略,使用可解释特征增加自动驾驶的安全性。VLM-Agent利用GPT-4o进行自动驾驶决策制定,采用零样本方法。该模型基于LimSim Series提供的全景图像进行场景分析、行为预测和行动决策。该模型的决策结果将由LimSim Series解析,并最终应用于自我车辆。LimSim-TM通过搜索使用几个不同模块实现预测、决策和规划功能。决策模块引入了社会价值取向(SVO)分组决策,使车辆行为更接近真实世界情况。

作者为这些实验选择了几个代表性场景:多车道高速公路、匝道、交叉口、环岛和一个定制设计的长路线,后者整合了多个复杂情况。这些场景的鸟瞰图,如图5所示,是使用CARLA捕获的。

图5:实验场景

3.2 各种自动驾驶模型的性能评估

为全面评估上述场景中自动驾驶系统的性能,作者从四个指标评估仿真结果:路线完成率(%)、驾驶分数、平均决策时间(秒)和成功率。驾驶分数是一项整体指标,考虑了乘坐舒适度、驾驶效率和安全性。有关详细定义和参数值,请参考作者之前的工作(Fu等人,2024年)。在每个场景中,生成10个随机背景交通流以验证模型在各种交通条件下的性能。成功率计算为这10个实验中成功测试的数量。实验结果的均值和标准差如表1所示。

表1:实验结果

由于驾驶分数反映了综合性能评估,LimSim-TM展示了最一致和卓越的整体性能。PDM和VLM-Agent在不同场景中表现出有竞争力的性能,而Interfuser始终表现不佳,特别是在环岛场景中。该模型经常将车辆驶入环岛中央,导致环岛场景的性能不理想。相比之下,模块化方法和知识驱动方法都展示出正确的决策能力。这并不意味着端到端自动驾驶系统本质上较差,而是突显了数据驱动方法对训练数据分布的敏感性。由于Interfuser未在所选环境中训练,它无法充分展示其潜力。相反,依赖基于规则决策的PDM和LimSim-TM,即使在不熟悉的场景中,也能通过采用基于搜索的方法产生相对强大的决策。

值得注意的是,零样本VLM-Agent即使没有事先接触这些场景,也具有强大的泛化能力,利用其强大的常识推理能力。然而,VLM-Agent由于VLM的推理延迟而受到推理速度限制。它在各种场景中的平均决策时间约为10秒,这使其难以满足实时要求。未来研究可能专注于提高模型的推理速度或减少输出中的标记数量,以弥合数据驱动方法与实际应用之间的差距。

实验表明,LimSim Series为不同类型的自动驾驶系统提供了丰富的仿真环境,支持多样化交互和仿真结果的多维评估。实验结果表明,LimSim Series提供的评估非常适合各种模型的特性。其实时记录系统还有助于识别边缘情况,辅助模型迭代和改进。

4. 结论与未来工作

本文探讨了ADS的开发和验证,将其分类为模块化、端到端和知识驱动三种方法。然后介绍了LimSim Series,一个通过驾驶引擎、地图构建、场景理解、决策和规划以及性能评估等模块支持各种ADS类型的综合仿真框架。在多样化场景中的实验证明了所提出平台有效评估ADS性能的能力。

未来,用于ADS的仿真系统需要在以下关键领域取得突破,以满足实际需求:

● 支持高保真传感器仿真:未来仿真框架可能整合3D高斯溅射和扩散技术,实现准确的3D场景重建,为模型测试提供更真实、多样化的传感器信号输入。应特别强调确保高渲染效率以优化仿真性能。

● 异构交通流仿真:道路网络中常见的人车混合交通场景,需要模拟行人与车辆之间的交互。此外,系统应适应特殊用途车辆,如公交车、出租车和救护车,捕捉它们独特的行驶轨迹和行为。

● 综合测试场景库:强大的仿真平台应提供多样化、全面的测试场景集。除了基于日志案例编辑的场景外,未来研究应关注由特定指令引导的AI驱动生成方法。这种方法对于生成罕见且难以收集的边缘情况特别有价值,促进在复杂和边缘条件下更全面的测试。

相关文章:

开源|上海AILab:自动驾驶仿真平台LimSim Series,兼容端到端/知识驱动/模块化技术路线

导读 随着自动驾驶技术快速发展,有效的仿真环境成为验证与增强这些系统的关键。来自上海人工智能实验室的研究团队推出了LimSim Series——一个革命性的自动驾驶仿真平台,它巧妙解决了行业面临的三大挑战:仿真精度与持续时间的平衡、功能性与…...

全栈黑暗物质:可观测性之外的非确定性调试

一、量子计算的测不准Bug 1. 经典 vs. 量子系统的错误模式 量子程序崩溃的观测影响: 调试方法崩溃复现率观测干扰度日志打印12%35%断点调试5%78%无侵入跟踪27%9%量子态层析成像63%2% 二、量子调试工具箱 1. 非破坏性观测协议 # 量子程序的无干扰快照 from qiski…...

光耦、继电器

一、光耦 1.什么是光耦? ①图一:Ic受控于Ib,间接受控于Ia ②如果Va和Vb是隔离的两个电压系统该咋控制?可以利用光耦来控制,让两边建立关系 2.光电耦合器的基本原理 ①是以光为媒介来传输电信号的器件,通常把发光器…...

使用Three.js搭建自己的3Dweb模型(从0到1无废话版本)

教学视频参考:B站——Three.js教学 教学链接:Three.js中文网 老陈打码 | 麒跃科技 一.什么是Three.js? Three.js​ 是一个基于 JavaScript 的 ​3D 图形库,用于在网页浏览器中创建和渲染交互式 3D 内容。它基于 WebGL&#xff0…...

Redis远程链接应用案例

1.配置文件设置 打开配置文件redis.windows.conf,配置以下内容: 1.bind 0.0.0.0(设置所有IP可访问) 2.requirepass 1234.com(密码设置) 3.protected-mode no(远程可访问) 2.防火…...

STM32 定时器TIM

定时器基础知识 定时器就是用来定时的机器,是存在于STM32单片机中的一个外设。STM32总共有8个定时器,分别是2个高级定时器(TIM1、TIM8),4个通用定时器(TIM2、TIM3、TIM4、TIM5)和2个基本定时器(TIM6、TIM7),如下图所示: STM32F1…...

基于大模型的急性化脓性阑尾炎全程诊疗预测与方案研究

目录 一、引言 1.1 研究背景与意义 1.2 国内外研究现状 1.3 研究目标与方法 二、大模型技术原理与应用基础 2.1 大模型概述 2.2 相关技术原理 2.3 数据收集与预处理 三、术前风险预测与准备 3.1 病情评估指标分析 3.2 大模型预测方法与结果 3.3 术前准备方案 四、…...

第一个 servlet请求

文章目录 前端后端前后端 产生 联系 前端 后端 package com.yanyu;import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse;import java.io.I…...

XLSX.utils.sheet_to_json设置了blankrows:true,但无法获取到开头的空白行

在用sheetJs的XLSX库做导入,遇到一个bug。如果开头行是空白行的话,调用sheet_to_json转数组获得的数据也是没有包含空白行的。这样会导致在设置对应的起始行时,解析数据不生效。 目前是直接跳过了开头的两行空白行 正确应该获得一下数据 问…...

python一款简单的数据库同步dts小实现

一、实现说明 在数据开发与运维场景中,数据库同步是一项基础且高频的需求。无论是开发环境与生产环境的数据镜像,还是多数据库之间的数据分发,都需要可靠的同步工具。本文将基于 Python 和pymysql库,实现一个轻量级数据库同步工具…...

误触网络重置,笔记本电脑wifi连接不上解决方法(Win10,Win11通用)

笔记本电脑连接不上网,有人说网络重置按钮可以解决,结果把wifi图标都给搞没了,只剩飞行模式,解决方法(错误码39),罪魁祸首就是这个网络重置,一下连网络都检测不到了 那么没有网络怎…...

markdown-it-katex 安装和配置指南

markdown-it-katex 是一个用于 Markdown-it 的插件,旨在通过 KaTeX 库在 Markdown 文档中添加数学公式支持。KaTeX 是一个快速渲染数学公式的库,相比于 MathJax,它在性能上有显著优势。 步骤 1: 安装 Markdown-it 首先,你需要安装…...

开源财务软件:企业财务数字化转型的有力工具

在当今数字化时代,企业财务数字化转型已成为必然趋势。随着业务的不断拓展和复杂化,企业对财务软件的需求也在日益增长。然而,传统商业财务软件往往伴随着高昂的授权费用和有限的定制化能力,这让许多企业,尤其是中小企…...

大模型——Suna集成浏览器操作与数据分析的智能代理

大模型——Suna集成浏览器操作与数据分析的智能代理 Suna 是 Kortix AI 开发的一个开源通用 AI 代理,托管在 GitHub 上,基于 Apache 2.0 许可证,允许用户免费下载、修改和自托管。它通过自然语言对话帮助用户完成复杂任务,如网页浏览、文件管理、数据抓取和网站部署。Suna…...

QT中的事件及其属性

Qt中的事件是对操作系统提供的事件机制进行封装,Qt中的信号槽就是对事件机制的进一步封装 但是特殊情况下,如对于没有提供信号的用户操作,就需要通过重写事件处理的形式,来手动处理事件的响应逻辑 常见的Qt事件: 常见事…...

flutter 选择图片 用九宫格显示图片,右上角X删除选择图片,点击查看图片放大缩小,在多张图片可以左右滑动查看图片

flutter 选择图片 用九宫格显示图片,右上角X删除选择图片,点击查看图片放大缩小,在多张图片可以左右滑动查看图片 ************ 暂无压缩图片功能 ********* 显示图片 — import dart:io;import package:flutter/material.dart; import pa…...

机器学习day2-seaborn绘图练习

1.使用tips数据集,创建一个展示不同时间段(午餐/晚餐)账单总额分布的箱线图 import seaborn as sns import matplotlib.pyplot as plt import pandas as pd import numpy as np# 设置主题 sns.set_theme(style"darkgrid")# 设置中文 plt.rcParams[font.s…...

如何优雅地解决AI生成内容粘贴到Word排版混乱的问题?

随着AI工具的广泛应用,越来越多人开始使用AI辅助撰写论文、报告或博客。然而,当我们直接将AI生成的文本复制到Word文档中时,常常会遇到排版混乱、格式异常的问题。这是因为大部分AI输出时默认使用了Markdown格式,而Word对Markdown…...

设计一个食品种类表

需求:设计一个食品种类表,注意食品种类有多层,比如面食下面,面条、方便面,面条下有干面、湿面等 一、食品种类表结构设计(food_category) CREATE TABLE food_category (category_id INT IDENT…...

Haply MinVerse触觉3D 鼠标—沉浸式数字操作,助力 3D 设计与仿真

在2025年CES展上,Haply MinVerse触觉3D鼠标凭借创新交互方式引发关注。这款设备为用户与数字环境的互动带来新维度,操作虚拟物体时能感受真实触觉反馈。 三维交互与触觉反馈 MinVerse 突破传统鼠标二维限制,增加第三运动轴,实现真…...

神经网络预测评估机制:损失函数详解

文章目录 一、引言二、损失函数的引入三、回顾预测算法四、损失函数的形式五、成本函数六、损失函数的定义与作用七、损失函数的重要性注释思维导图 一、引言 在上一篇文章中,我们了解到神经网络可通过逻辑回归等算法对输入进行预测。而判断预测结果是否准确至关重要…...

PHP实现 Apple ID 登录的服务端验证指南

在 iOS 应用中启用 “通过 Apple 登录”(Sign In with Apple)后,客户端会获取一个 身份令牌(identity token)。该令牌是一个JWT(JSON Web Token),需要由服务端验证其真实性和完整性&…...

一、linux系统启动过程操作记录

一、linux系统启动过程 经历: 上电–>uboot–>加载内核–>挂载根文件系统–>执行应用程序 uboot等效bootloader,启动过程进行了 跳转到固定的位置执行相应的代码 初始化硬件设备,如:cpu初始化 ,看门狗&a…...

【首款Armv9开源芯片“星睿“O6测评】SVE2指令集介绍与测试

SVE2指令集介绍与测试 一、什么是SVE2 在Neon架构扩展(其指令集向量长度固定为128位)的基础上,Arm设计了可伸缩向量扩展(Scalable vector extension, SVE)。SVE是一种新的单指令多数据(SIMD&am…...

获取电脑mac地址

Windows 系统 方法1:通过命令提示符 1. 按下 `Win + R`,输入 `cmd` 后按回车,打开命令提示符。 2. 输入以下命令并按回车:...

AI核心技术与应用场景的深度解析

AI核心技术与应用场景的深度解析 在互联网大厂Java求职者的面试中,经常会被问到关于AI核心技术与应用场景的问题。本文通过一个故事场景来展示这些问题的实际解决方案。 第一轮提问 面试官:马架构,欢迎来到我们公司的面试现场。请问您对AI…...

练习普通话,声音细柔和

《繁星》 我爱月夜,但我也爱星天。从前在家乡七八月 的夜晚,在庭院里纳凉的时候,我最爱看天上密密 麻麻的繁星。望着星天,我就会忘记一切,仿佛回 到了母亲的怀里似的。 三年前在南京我住的地方,有…...

Linux进程详细解析

1.操作系统 概念 任何计算机系统都包含⼀个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括: • 内核(进程管理,内存管理,文件管理,驱动管理) • 其他程序&#xff08…...

Linux执行脚本报错

执行脚本报错:./startup.sh -bash: ./startup.sh: /bin/bash^M: bad interpreter: No such file or directory ./startup.sh -bash: ./startup.sh: /bin/bash^M: bad interpreter: No such file or directory可能的原因: 文件开头格式问题&#xff1a…...

C++学习:六个月从基础到就业——模板编程:类模板

C学习:六个月从基础到就业——模板编程:类模板 本文是我C学习之旅系列的第三十三篇技术文章,也是第二阶段"C进阶特性"的第十一篇,主要介绍C中的类模板编程。查看完整系列目录了解更多内容。 目录 引言类模板的基本语法…...

Conda 虚拟环境复用

文章目录 一、导出环境配置二、克隆环境配置三、区别小结 一、导出环境配置 导出:将当前虚拟环境导出成一个yml配置文件。conda activate your_env conda env export > your_env.yml导入:基于yml文件创建新环境,会自动按照yml里的配置&am…...

Nacos简介—4.Nacos架构和原理三

大纲 1.Nacos的定位和优势 2.Nacos的整体架构 3.Nacos的配置模型 4.Nacos内核设计之一致性协议 5.Nacos内核设计之自研Distro协议 6.Nacos内核设计之通信通道 7.Nacos内核设计之寻址机制 8.服务注册发现模块的注册中心的设计原理 9.服务注册发现模块的注册中心的服务数…...

4月27日日记

现在想来,可以想到什么就记录下来,这也是网上写日记的一个好处,然后 今天英语课上看到一个有关迷信的视频,就是老师课件里的,感觉画风很不错,但是我贫瘠的语言形容不出来,就想到是不是世界上的…...

CentOS7.9安装OpenSSL 1.1.1t和OpenSSH9.9p1

一、临时开启telnet登录方式,避免升级失败无法登录系统 (注意telnet登录方式存在安全隐患,升级openssh相关服务后要记得关闭) 1.安装telnet服务 yum -y install xinetd telnet* 2.允许root用户通过telnet登陆,编辑…...

单例模式:全局唯一性在软件设计中的艺术实践

引言 在软件架构设计中,单例模式(Singleton Pattern)以其独特的实例控制能力,成为解决资源复用与全局访问矛盾的经典方案。该模式通过私有化构造方法、静态实例存储与全局访问接口三大核心机制,确保系统中特定类仅存在…...

Spring 与 ActiveMQ 的深度集成实践(三)

五、实战案例分析 5.1 案例背景与需求 假设我们正在开发一个电商系统,其中订单模块和库存模块是两个独立的子系统 。当用户下单后,订单模块需要通知库存模块进行库存扣减操作 。在传统的同步调用方式下,订单模块需要等待库存模块完成扣减操…...

30-算法打卡-字符串-重复的子字符串-leetcode(459)-第三十天

1 题目地址 459. 重复的子字符串 - 力扣(LeetCode)459. 重复的子字符串 - 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 示例 1:输入: s "abab"输出: true解释: 可由子串 "ab" 重复两次构成…...

rocketmq一些异常记录

rocketmq一些异常记录 Product 设置不重复发送 发送 一次失败,不会在被发送到mq消息队列中,相当于消息丢失。 2、 Consumer 消费失败 重试三次消费 都失败 则消息消费失败,失败后 会放入 死信队列,可以手动处理在mq面板 处理死信队…...

SQLMesh 测试自动化:提升数据工程效率

在现代数据工程中,确保数据模型的准确性和可靠性至关重要。SQLMesh 提供了一套强大的测试工具,用于验证数据模型的输出是否符合预期。本文将深入探讨 SQLMesh 的测试功能,包括如何创建测试、支持的数据格式以及如何运行和调试测试。 SQLMesh …...

WPF使用SQLite与JSON文本文件结合存储体侧平衡数据的设计与实现

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...

关系型数据库PostgreSQL vs MySQL 深度对比:专业术语+白话解析+实战案例

PostgreSQL 与 MySQL 的详细对比 PostgreSQL 和 MySQL 是两种最流行的开源关系型数据库,它们在设计理念、功能特性和适用场景上有显著差异。以下是它们的详细对比: 一、基本架构与设计理念 PostgreSQL:多进程架构,使用共享内存通…...

利用 SSRF 和 Redis 渗透

环境搭建 在本次实验中,我们使用 Docker 环境进行测试。 解压实验包,搭建 docker 环境。 docker环境 web的dockerfile 主要利用代码 : redis服务器 通过 docker-compose up -d 启动相关容器,初次启动失败。 发现 docker 版本问…...

脏读、幻读、可重复读

脏读 定义:一个事务读取了另一个事务尚未提交的数据 。比如事务 A 修改了某条数据但还没提交,此时事务 B 读取了这条被修改但未提交的数据。若事务 A 后续回滚,事务 B 读到的数据就是无效的,相当于读到了 “脏数据”。危害&#…...

第1讲、#PyTorch教学环境搭建与Tensor基础操作详解

引言 PyTorch是当前深度学习领域最流行的框架之一,因其动态计算图和直观的API而备受开发者青睐。本文将从零开始介绍PyTorch的环境搭建与基础操作,适合各种平台的用户和深度学习初学者。 1. 安装和环境搭建 macOS (Apple Silicon) 对于Mac M1/M2/M3用…...

【创新实训个人博客】数据库搭建

1.原因 为了降低模型使用以前训练的数据或者幻觉知识,我们在对话时需要提供相关内容的数据,同时由于需要最新的广告实时数据,实时爬取和版权问题。数据由团队在网上爬取,为了广告内容的有效性,如果长期使用&#xff0…...

《代码整洁之道》第6章 对象和数据结构 - 笔记

数据抽象 (Data Abstraction) 这个小节主要讲的是**面向对象编程(OOP)**的一种核心思想:对象应该隐藏它的内部数据,只暴露可以操作这些数据的“行为”(也就是方法/函数)。 大白话: 你创建一个…...

Python判断字符串中是否包含特殊字符

在 Python 中,判断一个字符串是否包含特殊字符可以通过多种方法实现。常见的特殊字符包括空格、感叹号、单引号、括号、星号、加号、逗号、斜杠、冒号、分号、等号、问号、 符号、方括号、花括号和 & 符号等。 为了判断字符串中是否包含这些特殊字符&#xff0…...

disruptor-spring-boot-start版本优化升级

文章目录 1.前言2.升级内容3.依赖4.总结 1.前言 由于之前写了一篇《disruptor-spring-boot-start生产实践导致pod节点CPU爆表100%的问题解决说明》的文章,里面说本地启动没有啥问题,后面我启动之前写的那个测试的controller发现,本地电脑的CP…...

复杂背景下无人机影像小目标检测:MPE-YOLO抗遮挡与抗背景干扰设计

目录 一、引言 二、挑战和贡献 密集小目标和遮挡 实时性要求与精度权衡 复杂背景 三、MPE-YOLO模型细节 多级特征集成器(MFI) 感知增强卷积(PEC) 增强范围C2f模块(ES-C2f) 四、Coovally AI模型训…...

项目实战 -- 状态管理

redux基础 还记得好久好久之前就想要实现的一个功能吗? 收起侧边栏折叠菜单,没错,现在才实现 因为不是父子通信,所以处理起来相对麻烦一点 可以使用状态树或者中间人模式 这就需要会redux了 Redux工作流: 异步就…...