自动驾驶将驶向何方?大模型(World Models)自动驾驶综述

news2024/11/15 10:53:40

前言

自动驾驶系统的开发是一个技术与哲学的双重挑战,核心在于模拟人类的直觉推理和常识。尽管机器学习在模式识别上取得了进展,但在复杂情境下仍存在局限。人类决策基于感官感知,但能预见行动结果和预判变化,这是机器难以复制的。

世界模型是解决这一差距的关键,它模仿人类的感知和决策,使系统能预测和适应环境。这一概念从70年代的控制理论发展而来,与模型预测控制(MPC)紧密相关,并受到心理模型理论的支持。神经网络的发展,尤其是循环神经网络(RNN),为动态系统建模提供了新深度,促进了对环境交互的理解。

2018年,Ha和Schmidhuber提出世界模型,使用混合密度网络和RNN提取环境数据模式,标志着自动系统对其操作环境理解的突破。在自动驾驶领域,世界模型的引入是向数据驱动智能的转变,解决了数据稀缺问题,增强了模拟环境中训练的能力,预示着自动驾驶汽车将具备更复杂的预测和响应能力。

图片

在自动驾驶领域,世界模型的引入标志着向数据驱动智能的关键转变,在这种智能中,预测和模拟未来情景的能力成为安全和效率的基石。数据稀缺性问题,特别是在如鸟瞰图(BEV)标注等专业任务中,突显了世界模型等创新解决方案的实际必要性。通过从历史数据中生成预测情景,这些模型不仅规避了数据收集和标注带来的限制,还增强了在模拟环境中训练自动系统的能力,这些环境可以反映甚至超越现实世界条件的复杂性。这种方法预示着一个新时代的到来,在这个时代,自动驾驶汽车具备反映某种直觉的预测能力,使它们能够以前所未有的复杂程度导航和响应其环境。

 欢迎加入自动驾驶实战群

图片

世界模型的发展

世界模型的架构是一个复杂的系统,它尝试模仿人类大脑在认知和决策方面的功能。
世界模型的架构基础:

  • 感知模块:作为系统的感官输入,使用如变分自动编码器(VAE)、掩码自动编码器(MAE)和离散自动编码器(DAE)等先进技术,将复杂的环境输入转化为易于处理的格式。这个模块对于准确捕捉环境特征至关重要。

  • 记忆模块:类似于人类的海马体,负责记录和存储信息,包括短期和长期记忆。它通过重放经历来加强学习,并将过去的经验应用于未来的决策中,从而加深对环境动态的理解。

  • 控制/行动模块:负责与环境的互动,评估当前状态和预测,以确定实现目标的最佳行动。这个模块的独立训练允许使用不同的策略,如进化策略,来解决复杂的强化学习问题。

  • 世界模型模块:作为系统的核心,负责估计当前状态的缺失信息和预测未来状态。它通过模拟潜在的未来场景,使系统能够主动准备和调整策略,体现了人类认知中的预测和适应性思维。

图片

世界模型的应用:

  • 在处理高维感官输入时,世界模型利用潜在动态模型来抽象表示观测信息,允许在潜在状态空间内进行紧凑的前向预测。这种方法利用深度学习和潜在变量模型的进步,实现高效的并行预测。

  • 世界模型通过潜在变量来表示不确定性,这在处理真实世界动态的不可预测性时尤为重要。例如,在汽车在交叉路口的不确定性场景中,潜在变量帮助模型设想基于当前状态的各种未来可能性。

  • 世界模型需要在预测的确定性与真实世界现象的固有不确定性之间找到平衡。这种平衡对于模型在复杂环境中的有效性至关重要,确保了模型能够灵活应对各种情况。

这个任务的核心在于在预测的确定性方面与真实世界现象的固有不确定性之间实现平衡,这一平衡对世界模型的有效性至关重要。

为了解决这一挑战,提出了各种策略,从通过温度变量引入不确定性到采用结构化框架,如递归状态空间模型(RSSM)和联合嵌入预测架构(JEPA)。这些方法力求微调预测的精度和灵活性之间的平衡。此外,利用Top-k采样以及从基于CNN的模型过渡到变压器架构(如变压器状态空间模型(TSSM)或空间时间Patchwise变压器(STPT)),在更好地近似真实世界的复杂性和不确定性方面显示出潜力。

特别是在世界模型研究中最常使用的核心结构是RSSM和JEPA:

递归状态空间模型(RSSM):

作为Dreamer系列世界模型中的关键模型,旨在完全在潜在空间内进行前向预测。这一创新结构使模型能够通过潜在状态空间进行预测,其中转移模型内的随机路径和确定路径在成功规划中起到关键作用。

图3展示了跨三个时间步的潜在动态模型的示意图。最初观察两个时间步,这些模型随后预测第三个时间步。在这里,模型架构内的随机变量(圆形)和确定变量(方形)相互作用——实线表示生成过程,虚线表示推理路径。图3a中的初始确定推理方法揭示了其因固定性质而难以捕捉多样化潜在未来的局限性。相反,图3b中的完全随机方法由于其固有的不确定性,在时间步之间的信息保留方面提出了挑战。RSSM的创新在于其战略性地将状态分解为图3c中的随机和确定性组件,有效地利用确定元素的预测稳定性和随机元素的适应潜力。这种混合结构确保了强大的学习和预测能力,既能适应现实世界动态的不确定性,又能保持信息连续性。通过结合RNN的优势和状态空间模型(SSM)的灵活性,RSSM为世界模型建立了一个全面的框架,增强了其在精度和适应性之间的平衡。

图片

联合嵌入预测架构(JEPA):

在预测建模中标志着范式转变,专注于表示空间而非直接、详细的预测。通过双编码器将输入(x)和目标(y)抽象为表示(sx和sy),并利用潜在变量(z)进行预测,JEPA在效率和准确性上实现了显著飞跃。该模型在过滤噪音和无关信息方面表现出色,专注于预测任务的本质。战略性地使用潜在变量(z)管理不确定性,进一步提高了模型的专注力,使其能够以更高的精度预测抽象结果。通过优先考虑相关特征并接受预测任务的内在不确定性,JEPA不仅简化了预测过程,还确保了结果既相关又可靠,为复杂环境中的世界模型的下一步发展铺平了道路。
这些策略共同增强了世界模型在高维和动态场景中的适应性和精度,使其能够更好地反映真实世界的复杂性和不可预测性。这种多样化的策略融合通过先进的神经网络架构和创新的潜在变量模型为世界模型提供了强大的基础,提升了其在模拟和决策中的表现力。

图片

世界模型在不同研究中的应用

自动驾驶:

在自动驾驶领域,世界模型通过模拟车辆在各种交通环境中的行为和互动来增强决策和规划能力。它们能够预测其他车辆、行人和动态环境变化,从而帮助自主系统做出更安全、更高效的驾驶决策。例如,在无人驾驶汽车项目中,世界模型可以预测交通流量、路况变化以及潜在的风险因素,使车辆能够提前做出反应,避免事故和优化行驶路径。

机器人控制:

在机器人控制中,世界模型通过模拟机器人在不同任务和环境中的行为,增强其自主性和适应能力。通过感知和记忆模块,机器人能够学习和记住复杂的任务流程,并通过预测模块预见潜在的任务挑战,从而调整其行动策略。例如,在仓库管理中,机器人可以通过世界模型优化货物搬运路径,提高工作效率和准确性。

游戏AI:

在游戏AI开发中,世界模型通过模拟复杂的游戏环境和角色行为,提升了游戏的智能和互动性。通过感知和预测模块,游戏AI能够实时分析玩家的行为和决策,并相应调整游戏策略,提供更具挑战性和沉浸感的游戏体验。例如,在策略游戏中,世界模型可以预测玩家的下一步行动,并相应调整游戏难度和资源配置,提升游戏的娱乐性和可玩性。

医疗诊断:

在医疗诊断领域,世界模型通过模拟患者的病情变化和治疗效果,辅助医生做出更准确的诊断和治疗决策。通过感知和记忆模块,模型能够记录和分析大量患者数据,识别潜在的疾病模式和风险因素,并通过预测模块预见疾病的发展趋势,从而优化治疗方案。例如,在癌症治疗中,世界模型可以模拟不同治疗方法的效果,帮助医生选择最有效的治疗方案,提高患者的生存率和生活质量。

图片

图片

世界模型的未来方向和挑战

尽管世界模型在多个领域表现出巨大的潜力,但其发展和应用仍面临一系列挑战和未来方向:

数据的多样性和质量:

世界模型依赖大量高质量的数据进行训练和测试。然而,获取和处理这些数据往往需要耗费大量时间和资源。未来的发展需要在数据收集、标注和处理方面取得突破,确保模型能够从多样化和高质量的数据中学习,提升其预测和决策能力。

模型的可解释性:

世界模型的复杂性使其决策过程难以解释和理解。这在某些应用场景(如医疗诊断和自动驾驶)中可能带来潜在风险。未来的研究需要致力于提高模型的可解释性,开发透明和可理解的决策机制,使用户能够信任和理解模型的行为。

计算资源的需求:

训练和运行世界模型需要大量的计算资源,特别是在处理高维数据和复杂场景时。未来的发展需要在硬件和算法方面取得进展,优化计算效率和资源利用,使世界模型能够在有限的计算资源下高效运行。

跨领域的应用:

世界模型的潜力不仅限于当前的应用领域。未来的研究应探索其在更多领域中的应用,如教育、金融和环境保护等,发挥其在复杂决策和预测中的优势,为更多行业带来创新和变革。

世界模型在自动驾驶中的应用

作为世界模型应用的新兴前沿,自动驾驶领域在场景生成和规划与控制机制方面展现了独特的挑战和机遇,这些领域正是探索和创新的沃土。尽管兴趣日益增加,世界模型在自动驾驶中的整合主要集中在场景生成和规划与控制机制。

图片

A. 驾驶场景生成

在自动驾驶数据获取方面面临着重大挑战,包括高昂的数据收集和标注成本、法律限制以及安全考量。世界模型通过自监督学习范式,提供了一种有前途的解决方案,可以从大量未标记数据中提取有价值的见解,从而以成本效益提升模型性能。世界模型在驾驶场景生成中的应用尤为值得注意,因为它能够创建多样化和逼真的驾驶环境。这种能力显著丰富了训练数据集,使自主系统具备在稀有和复杂驾驶场景中导航的稳健性。

GAIA-1是一个新颖的自主生成AI模型,能够使用视频、文本和动作输入生成逼真的驾驶视频。GAIA-1在英国城市的实际驾驶数据上进行了广泛训练,学习并理解了一些真实世界的规则和关键概念,包括不同类型的车辆、行人、建筑物和基础设施。它可以基于几秒钟的视频输入预测和生成后续的驾驶场景。值得注意的是,生成的未来驾驶场景并不紧密依赖于提示视频,而是基于GAIA-1对世界规则的理解。GAIA-1核心采用自回归变压器网络,基于输入图像、文本和动作令牌预测即将发生的图像令牌,然后将这些预测解码回像素空间。GAIA-1可以预测多个潜在的未来,并基于提示生成多样的视频或特定的驾驶场景(例如改变天气、场景、交通参与者、车辆动作),甚至包括其训练集中不存在的动作和场景(例如强行进入人行道)。这表明其能够理解和推断训练集中未出现的驾驶概念,也证明了其反事实推理能力。在现实世界中,这种驾驶行为由于其风险性难以获取数据。驾驶场景生成允许模拟测试,丰富数据构成,增强系统在复杂场景中的能力,并更好地评估现有的驾驶模型。此外,GAIA-1生成连贯的动作,有效捕捉3D几何结构的透视影响,展示了其对上下文信息和物理规则的理解。结合其反事实推理能力,可以说GAIA-1在自动驾驶世界模型中达到了高水平,无论在抽象概念的理解还是因果推理方面。

DriveDreamer也专注于驾驶场景生成,不同于GAIA-1,它在nuScenes数据集上进行了训练。其模型输入包括更多元素,如高清地图和3D框,允许更精确地控制驾驶场景生成和更深入的理解,从而提高视频生成质量。此外,DriveDreamer可以生成未来驾驶动作及相应的预测场景,帮助决策。

ADriver-I使用当前的视频帧和历史的视觉-动作对作为多模态大型语言模型(MLLM和视频潜在扩散模型(VDM)的输入。MLLM以自回归方式输出控制信号,作为VDM预测后续视频输出的提示。通过连续的预测周期,ADriver-I在预测世界中实现了无限驾驶。在ADriver-I中,世界模型与MLLM的结合显著提高了预测和决策的可解释性,也表明了将世界模型作为基础模型与其他模型结合的可行性。

借鉴大型语言模型的成功,WorldDreamer将世界建模视为无监督的视觉序列建模挑战。它利用STPT集中注意力于时空窗口内的局部补丁。这种聚焦促进了视觉信号的动态学习,加速了训练过程的收敛。尽管WorldDreamer是通用的视频生成模型,但它在生成自动驾驶视频方面表现出色。除了视觉信息,驾驶场景还包括大量重要的物理数据。MUVO利用世界模型框架进行驾驶场景的预测和生成,结合了激光雷达点云和视觉输入来预测视频、点云和未来驾驶场景的3D占用网格。这种综合方法显著提高了预测和生成结果的质量。尤其是3D占用网格的结果可以直接应用于下游任务。更进一步,OccWorld和Think2Drive直接利用3D占用信息作为系统输入来预测周围环境的演变并规划自动驾驶车辆的动作。显然,随着研究的进展,自动驾驶领域的场景生成世界模型研究逐渐朝着多模态方法发展。世界模型在处理多模态信息方面展示了多功能性。

B. 规划与控制

除了场景生成,世界模型在驾驶情境中的学习、潜在未来的评估以及规划与控制策略的改进中也起着关键作用。例如,基于模型的模仿学习(MILE)采用基于模型的模仿学习方法,从离线数据集中联合学习动态模型和驾驶行为。MILE使用“广义推理算法”进行理性和可视化的未来驾驶环境的想象和预测,通过想象来弥补感知信息的缺失。这种能力使得未来行动的规划成为可能,允许自动驾驶车辆在没有高清地图的情况下操作。在CARLA模拟器中的不熟悉测试场景中,MILE显著超越了最先进的模型,将驾驶评分从46提高到61(相比专家数据评分为88)。MILE的特点是长期的时间跨度和高度多样化的未来预测。通过对预测的未来状态进行解码,MILE在各种场景中展示了稳定的驾驶能力。

SEM2在RSSM的基础上,介绍了语义掩码世界模型,以提高端到端自动驾驶的采样效率和鲁棒性。作者认为,世界模型的潜在状态包含过多与任务无关的信息,影响了采样效率和系统的鲁棒性。此外,由于训练数据的不平衡,世界模型难以处理意外情况。为解决这些问题,引入了一个签名过滤器来提取关键任务特征,使用过滤后的特征重建语义掩码。对于数据不平衡,使用采样器平衡数据分布。在每批训练中,均匀地添加来自各种场景的样本,以实现训练样本的均匀和平衡分布,有利于泛化和解决极端情况。在CARLA中训练和测试后,SEM2的性能相比DreamerV2显著提升。

考虑到大多数自动驾驶车辆通常有多个摄像头,多视角建模也是世界模型的关键方面。Drive-WM是第一个设计用于增强端到端自动驾驶规划安全性的多视角世界模型。Drive-WM通过多视角和时间建模,共同生成多个视角的帧,然后从相邻视角预测中间视角,显著提高了多个视角之间的一致性。此外,Drive-WM引入了一个简单统一的条件接口,灵活应用图像、动作、文本和其他条件,简化了条件生成过程。在六个视角的nuScenes数据集上训练和验证,Drive-WM通过采样预测的候选轨迹并使用基于图像的奖励函数选择最佳轨迹。此外,与GAIA-1一致,Drive-WM在非可行驶区域的导航能力展示了世界模型在处理域外情况方面的理解和潜力。此外,借鉴Alberto Elfes的开创性工作,UniWorld引入了一种创新方法,通过使用多帧点云融合作为生成4D占用标签的真值。该方法考虑了来自多摄像机系统的图像中的时空相关性。通过利用未标记的图像-激光雷达对,UniWorld进行了世界模型的预训练,显著增强了对环境动态的理解。在nuScenes数据集上测试时,UniWorld在运动预测和语义场景完成等任务的IoU方面相比单目预训练方法表现出显著改进。

TrafficBots也是一个端到端的自动驾驶模型,更强调场景中个体代理的动作预测。以每个代理的目标地作为条件,TrafficBots采用条件变分自编码器(CVAE)学习每个代理的独特个性,从而促进动作预测从鸟瞰图(BEV)的角度进行。相比替代方法,TrafficBots具有更快的操作速度,并且可以扩展以容纳更多代理。尽管其性能可能尚未达到最先进的开放循环策略,但TrafficBots展示了闭环

测试中的显著潜力,特别是在驾驶场景复杂且包括其他智能体时。

结合这些应用案例,可以看出,世界模型在自动驾驶领域正处于快速发展阶段。通过整合多模态信息和增强模型的泛化能力,世界模型在丰富自动驾驶系统的训练数据、改进决策和规划、提高系统鲁棒性等方面展现出广阔的应用前景。然而,仍有许多挑战需要克服,包括处理复杂场景中的意外情况、多智能体的协调等。未来的研究和应用将进一步推动世界模型在自动驾驶领域的发展。

图片

挑战与未来展望

A. 技术与计算挑战

1. 从模拟到现实世界的泛化:
模拟训练环境与现实世界条件的多样性之间的差异,构成了自动驾驶技术发展的关键瓶颈。尽管当前的模拟平台已经相当先进,但它们仍无法完美再现现实世界场景的不可预测性和变异性。

2. 长期可扩展记忆集成:
在赋予世界模型以长期、可扩展记忆以反映人类认知过程的复杂性方面,依然存在巨大的挑战。当前的模型面临诸如梯度消失和灾难性遗忘等问题,这严重限制了它们的长期记忆能力。

3. 理论与硬件的突破:
世界模型在生成任务中表现出色,但在纯粹的预测任务(如运动预测)方面仍显不足。这部分是因为这些模型尚未完美地模拟现实世界的演变,包括确定性与随机性之间的平衡。

B. 伦理与安全挑战

1. 决策责任:
确保车辆自主决策框架中的责任成为首要的伦理问题,迫切需要开发具有前所未有透明度的系统。

2. 隐私与数据完整性:
自动驾驶技术依赖大量数据进行操作和持续改进,这带来了重大的隐私和数据安全问题。对于开发自动驾驶系统的公司而言,收集到的车辆相关数据,包括乘客信息等,都需要得到妥善保护。

3. 责任和标准:
随着世界模型在自动驾驶系统中支持或接管驾驶任务,人类的责任不是减少或消除,而是重新分配给参与创建、部署和使用这些系统的个人和组织。这种转变要求参与者提出新的需求,呼吁新的研究和政策来管理这一转变。

C. 未来展望

1. 桥接人类直觉与AI精度:
一个突破性的前景是世界模型向促进自动驾驶汽车内认知协同驾驶框架的发展。与传统的完全依赖预定义算法和传感器输入进行决策的自动驾驶系统不同,认知协同驾驶旨在融合人类直觉与AI的精确度。

2. 与城市生态系统的协调:
另一个愿景是世界模型在将自动驾驶汽车转变为生态工程代理方面的作用,通过适应性、响应性的行为来与城市生态系统和谐共处,促进环境可持续性。

总结:

世界模型在自动驾驶技术中的应用具有革命性的潜力,它们通过提高车辆的预测、模拟和决策能力,对推动汽车自主性的提升至关重要。尽管目前已经有了显著的发展,但要实现这些模型在实际场景中的应用,我们仍然面临着一些挑战,包括如何整合长期记忆、将模型从模拟环境泛化到现实世界,以及如何处理与自动驾驶相关的伦理问题。解决这些问题需要跨学科的合作,包括人工智能的最新研究、建立伦理框架和开发创新的计算技术。

展望未来,随着世界模型的不断进步,我们预期它们不仅会推动自动驾驶技术的发展,还将改变我们与自动化系统的互动方式。这进一步强调了持续的跨领域研究和合作的重要性,以确保这些技术的安全、有效和道德发展。

引用CVPR2024文章:

World Models for Autonomous Driving: An Initial Survey

关注我的公众号auto_driver_ai(Ai fighting), 第一时间获取更新内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1971734.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

欧科云链受邀参与EDCON 大会,听听OKLink为开发者带来哪些惊喜?

一年一度的 EDCON 大会于 7 月底在位于东京的联合国大学盛大举行。OKLink 与 Polygon 联手为来自全球各地的数千名开发者打造开放空间,带来多场精彩的主题分享,让开发者得以在上手体验的同时获取到关于最新开发工具的全面信息。 在论坛环节中&#xff0…

[Docker][Docker Container]详细讲解

目录 1.什么是容器?2.容器命令1.docker creatre2.docker run3.docker ps4.docker logs5.docker attach6.docker exec7.docker start8.docker stop9.docker restart10.docker kill11.docker top12.docker stats13.docker container inspect14.docker port15.docker c…

0730评价项目 实现数据库行转列查询

0730评价项目包-CSDN博客 数据库字段: 实现业务: 1)查询对应部门,年份的员工季度评价信息: 对应sql语句: 使用 group by 和 GROUP_CONCAT 关键字进行行转列, case when 后接关联条件&#xf…

【Py/Java/C++三种语言详解】LeetCode 1334、LeetCode1334. 阈值距离内邻居最少的城市【全源最短路问题Floyd算法】

可上 欧弟OJ系统 练习华子OD、大厂真题 绿色聊天软件戳 od1441了解算法冲刺训练(备注【CSDN】否则不通过) 文章目录 相关推荐阅读**一、题目描述****二、题目解析****三、参考代码**PythonJavaC **四、时空复杂度**华为OD算法/大厂面试高频题算法练习冲刺…

webstorm配置项目Typescript编译环境

使用npm命令安装typeScript编译器 npm install typescript -g 安装好,在命令行可以查看编译器的版本 tsc --version 用Webstorm打开一个Typescript的项目。为TypeScript文件更改编译设置,File->Settings->toosl -> File Watchers->TypeScri…

【工具篇】华为VRP通用操作系统 —— 基础命令介绍

文章目录 视图切换命令命令报错误类型命令行快捷键 【工具篇】华为VRP通用操作系统 —— 基础知识 通过上一节的华为VRP通用操作系统介绍,掌握如何登入设备以及命令行架构。也通过eNSP虚拟器搭建拓扑成功登入华为VRP通用操作系统。 本文章介绍基础命令以及快捷键&am…

【数据结构】二叉树基本操作(孩子兄弟表示法 + Java详解 + 原码)

Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 🌱🌱个人主页:奋斗的明志 🌱🌱所属专栏:数据结构 📚本系列文章为个人学…

OpenStack入门体验

一、云计算概述 1.1什么是云计算 云计算(cloud computing)是一种基于网络的超级计算模式,基于用户的不同需求,提供所需的资源,包括计算资源、存储资源、网络资源等。云计算服务运行在若干台高性能物理服务器之上,提供每秒 10万亿次的运算能力…

MSF回弹木马ubuntu测试

网站地址为192.168.104.128 web.php内容为&#xff1a; <?php eval($_POST[123]); ?>linux版本信息&#xff1a;20.04.1-Ubuntu nginx信息&#xff1a;nginx-1.21.6 php信息&#xff1a;PHP 7.3.33-19 php-fpm信息&#xff1a;/etc/php/7.3/fpm/php-fpm.conf 一、使用…

解决VisualVM下载插件失败(手动安装)

解决VisualVM下载插件失败 当前为jdk8自带的jvisualvm,出现以下情况,已经配置了对于java版本的url 点设置,再点编辑,对url进行修改 进入这里网址 检查url是否对应,复制到上面的url上面 例如: 我的jdk版本为: jdk-8u321-windows-x64 , 选131 - 351 再重新下载 还是不行, 可以…

嵌入式人工智能(38-基于树莓派4B的角速度和加速度传感器-MPU6050)

1、角速度传感器 角速度传感器是一种用于测量物体在空间中绕坐标轴旋转的速度的传感器。角速度是一个物体围绕某一轴旋转的速度大小&#xff0c;通常以角度/秒或弧度/秒的形式表示。 角速度传感器通常使用陀螺仪原理来测量角速度。陀螺仪是基于角动量守恒定律的物理原理&…

力扣高频SQL 50题(基础版)第三十八题

文章目录 力扣高频SQL 50题&#xff08;基础版&#xff09;第三十八题1484.按日期分组销售产品题目说明实现过程准备数据实现方式结果截图总结 力扣高频SQL 50题&#xff08;基础版&#xff09;第三十八题 1484.按日期分组销售产品 题目说明 表 Activities&#xff1a; ---…

类型推断技术及仓颉语言实践

史磊 仓颉语言类型推断技术专家 一、一种看待类型系统的方式 一门编程语言一定得包含类型系统吗&#xff1f; 这个问题今天看来可能显而易见&#xff0c;一个程序没有类型的话还能算是个完整、正确的程序吗&#xff1f;但是其实关于类型系统的作用&#xff0c;一直是存在两种…

PCB打板——usb扩展坞

采用一个typec模块&#xff0c;四个typea模块&#xff0c;以及保险丝&#xff0c;电源滤波部分&#xff0c;原理图如下 这里usb信号线为差分信号&#xff0c;要用差分导线&#xff08;长度相同&#xff0c;对称&#xff09;

RK3568笔记五十:SPI通信-回环测试

若该文为原创文章&#xff0c;转载请注明原文出处。 一、SPI引脚关系 其中SPI1的引脚关系如下表所示 SPI 引脚 功能 MOSI GPIO3_C1 主设备输出/从设备输入 MISO GPIO3_C2 主设备输入/从设备输出 CLOCK CPIO3_C3 时钟信号线 CS0 GPIO3_A1 片选信号线0 CS1 NC …

kettle从入门到精通 第八十二课 ETL之kettle kettle中的【阻塞数据直到步骤都完成】使用教程

1、在使用步骤【阻塞数据直到步骤都完成】&#xff08;英文为Block this step until steps finish&#xff09;之前&#xff0c;我们先来了解下什么是 Copy Nr&#xff1f; Copy Nr是指 “副本编号” 或 “拷贝编号”&#xff0c;也就是下图中的复制的记录行数&#xff0c;图中…

全网最强Nginx教程 | 万字长文爆肝Nginx(五)

Nginx实现服务器端集群搭建 Nginx与Tomcat部署 前面课程已经将Nginx的大部分内容进行了讲解&#xff0c;我们都知道了Nginx在高并发场景和处理静态资源是非常高性能的&#xff0c;但是在实际项目中除了静态资源还有就是后台业务代码模块&#xff0c;一般后台业务都会被部署在…

基于Spring boot + Vue的灾难救援系统

作者的B站地址&#xff1a;程序员云翼的个人空间-程序员云翼个人主页-哔哩哔哩视频 csdn地址&#xff1a;程序员云翼-CSDN博客 1.项目技术栈&#xff1a; 前后端分离的项目 后端&#xff1a;Springboot MybatisPlus 前端&#xff1a;Vue ElementUI 数据库&#xff1a; …

Java 关键字之 native 详解

本篇博客我们将介绍Java中的一个关键字——native。 native 关键字在 JDK 源码中很多类中都有&#xff0c;在 Object.java类中&#xff0c;其 getClass() 方法、hashCode()方法、clone() 方法等等都是用 native 关键字修饰的。 那么为什么要用 native 来修饰方法&#xff0c;…

离线安装MeterSphere遇到的问题

1.安装步骤&#xff0c;参考官方文档 在线安装 - MeterSphere 文档 2.安装完成以后&#xff0c;docker ps查看有很多服务一直处于重启状态&#xff0c;查看容器日志docker logs ID,发现所有一直处于重启状态的容器都是因为服务无法创建日志目录和文件。一直处于重启的服务如…