科学中的人工智能:量子、原子和连续体技术概述

人工智能(AI)的进步正在推动自然科学领域的一种新的发现范式。如今,AI已经开始通过改进、加速和促进我们对各种空间和时间尺度上自然现象的理解来推动自然科学的发展,催生了一个被称为AI for science(AI4Science)的新研究领域。作为新兴的研究范式,AI4Science在独特之处在于它是一个庞大且高度跨学科的领域。因此,需要但也具有挑战性的是对这一领域进行统一和技术性的处理。

本文旨在提供对AI4Science的一个子领域的技术全面的介绍,即用于量子、原子和连续体系统的AI。这些领域旨在理解从亚原子(波函数和电子密度)、原子(分子、蛋白质、材料和相互作用)到宏观(流体、气候和地下)尺度的物理世界,是AI4Science的一个重要子领域。关注这些领域的一个独特优势在于它们在很大程度上共享一组共同的挑战,从而允许进行统一和基础的处理。一个共同的关键挑战是如何通过深度学习方法捕捉自然系统中的物理第一原理,特别是对称性。

我们提供了一种深入而直观的方法,以实现对对称性变换的等变性。我们还讨论了其他共同的技术挑战,包括可解释性、超出分布的泛化、基础和大型语言模型的知识传递以及不确定性量化。为了促进学习和教育,我们提供了我们发现有用的资源的分类列表。我们力求做到全面和统一,希望这一初步努力能引发更多社区的兴趣和努力,进一步推动AI4Science的发展。

1 引言

几十年的人工智能(AI)研究积累在深度学习的名义下迎来了复兴[LeCun et al. 1998]。自AlexNet [Krizhevsky et al. 2012]以来,长达十年的深度学习研究已经取得了许多突破,包括 ResNet [He et al. 2016]、扩散和基于分数的模型 [Ho et al. 2020; Song et al. 2020]、注意力机制、Transformer [Vaswani et al. 2017],以及最近的大型语言模型(LLM)和ChatGPT [OpenAI 2023]等。这些发展使深度模型的性能不断提高。当与不断增长的计算能力和大规模数据集相结合时,深度学习方法正在成为各个领域的主要方法,如计算机视觉和自然语言处理。在这些进步的推动下,AI已经开始通过改进、加速和促进我们对各种空间和时间尺度上自然现象的理解来推动自然科学的发展,形成了一个被称为AI for science的新研究领域。我们相信,AI for science为科学发现的新范式打开了一扇大门,代表了跨学科研究和创新最令人兴奋的领域之一。

从历史上看,计算在加速自然科学的发现中的重要性已经被注意到。几乎一百年前的1929年,量子物理学家保罗·狄拉克(Paul Dirac)曾说过:“物理学的大部分和整个化学的数学理论所需的基本物理定律已经完全知道,困难只在于这些定律的精确应用导致了方程太复杂而无法求解。”在量子物理学中,已知薛定谔方程提供了对量子系统行为的精确描述,但由于其指数级复杂性,只有对非常小的系统才可能求解这样的方程。在流体力学中,纳维-斯托克斯方程描述了流体流动的时空动态,但解决这些实用尺寸的方程非常困难,特别是当需要计算效率时。类似于这两个例子,许多自然科学问题的基本物理定律是已知的,并且可以用一组数学方程来描述。关键困难在于如何准确而高效地解决这些方程。最近的研究表明,深度学习方法可以加速这些方程的解决。例如,深度学习方法已被用于计算量子物理学中薛定谔方程的解[Pfau et al. 2020; Hermann et al. 2020, 2022],以及流体力学中的纳维-斯托克斯方程[Kochkov et al. 2021b; Brunton et al. 2020]。在这些领域,模拟器被用来计算数学方程的解,结果被用作训练深度学习模型的数据。一旦训练完成,这些模型可以以比模拟器快得多的速度进行预测。除了提高效率外,深度学习模型还表现出更好的分布外泛化能力,范围扩展到更广泛的实际设置,其中训练和未见数据通常遵循不同的分布。

在生物学等其他领域,基础的生物物理过程尚未完全理解,最终可能无法用数学方程来描述。在这些情况下,可以使用实验生成的数据来训练深度学习模型,以模拟潜在的生物物理过程。例如,在生物学中,依赖于从实验中获取的三维结构数据进行训练的AI系统,如AlphaFold [Jumper et al. 2021]、RoseTTAFold [Baek et al. 2021]和ESMFold [Lin et al. 2022a],使得能够以与实验结果可比较的精度计算蛋白质的三维结构。除了技术挑战,这些领域的一个关键因素是大量通过实验生成的数据的可用性。例如,AlphaFold、RoseTTAFold和ESMFold的成功在很大程度上依赖于通过实验生成的大量蛋白质三维结构数据,并将其存储在蛋白质数据银行等数据库中。

添加图片注释,不超过 140 字(可选)

图1. AI科学研究领域的综合概览。正如第1.1节所述,我们的焦点是量子力学、密度泛函理论(DFT)、小分子、蛋白质、材料、分子相互作用和PDE的人工智能。我们以外圈的方式直观地描述了这些不同领域。这些领域按照物理世界建模的空间和时间尺度进行排列,突出了量子、原子和连续系统。值得注意的是,正如第1.2节总结的,这些多个人工智能科学研究领域存在一系列共同的技术考虑和挑战,例如对称性、可解释性和超出分布的泛化能力。我们在内圈展示了这些技术领域。

1.1 科学领域

在本研究中,我们提供了对近年来研究人员在科学人工智能领域中进行的几个研究领域的技术和统一的回顾。我们按照物理世界建模的空间和时间尺度组织了人工智能科学的不同领域。本文重点关注的科学领域概述如图1所示。

量子力学研究使用波函数来描述最小尺度上的物理现象,波函数描述了量子系统的完整动力学。在量子物理学中,通过求解薛定谔方程获得波函数,这个过程具有指数级的复杂度。在本研究中,我们提供了关于如何设计高级深度学习方法来高效学习神经波函数的技术回顾。

密度泛函理论(DFT)和从头算量子化学方法是广泛应用于计算分子和材料的电子结构和物理性质的第一原理方法。然而,这些方法在计算上仍然很昂贵,限制了它们在小系统(大约1000个原子)中的使用。在本研究中,我们详细介绍了深度学习方法对准确预测量子张量的应用,这进而可以用于推导分子和固体的许多其他物理和化学性质,包括电子、机械、光学、磁性和催化性能。我们还涉及密度泛函学习的机器学习方法。

小分子,也被称为微小分子,通常由几十到几百个原子组成,在许多化学和生物过程中发挥重要的调控和信号传递作用。例如,90%的已批准药物都是小分子,它们可以与目标大分子(如蛋白质)相互作用,改变目标活性或功能。近年来,机器学习方法在原子水平上加速了有关小分子的科学发现。在本研究中,我们对小分子表示学习、分子生成、模拟和动力学等方面进行了深入的技术回顾。

蛋白质是由一个或多个氨基酸链组成的大分子。通常认为氨基酸序列决定蛋白质的结构,进而决定其功能。蛋白质执行大部分的生物功能,包括结构、催化、生殖、代谢和运输等作用。最近,机器学习方法在蛋白质结构预测方面取得了显著进展。我们提供了关于如何从蛋白质三维结构中学习表示,以及如何生成和设计新型蛋白质的技术回顾。

材料科学研究材料的加工、结构、性能和性能之间的关系。材料的内在结构从原子、微观到连续尺度通过与外部刺激/环境的相互作用来决定其量子、电子、催化、力学、光学、磁性和其他性质。最近,已经开发出机器学习方法来预测晶体材料的性质和设计新型晶体结构。在本研究中,我们提供了关于晶体材料的性质预测和结构生成的技术回顾。

分子相互作用研究分子如何相互作用以执行许多物理和生物功能。机器学习的最新进展推动了对各种分子相互作用(如配体-受体和分子-材料相互作用)建模的复兴。在本研究中,我们对这些进展进行了深入全面的回顾。

连续力学通过偏微分方程(PDE)对时间和空间上的宏观物理过程进行建模,其中包括流体流动、热传递和电磁波等。然而,使用经典求解器解决PDE的方法存在一些限制,包括低效率、超出分布的泛化和多分辨率分析的困难。在本研究中,我们对近期用于解决这些限制的深度学习方法进行了回顾,关注代理模型建模的问题。

1.2AI技术领域

我们观察到,在科学领域的多个AI技术领域存在一组共同的技术挑战。

对称性:许多科学问题都表明,对象或系统通常包含几何结构。在许多情况下,这些几何结构意味着底层物理学遵守某些对称性。例如,在分子动力学中,分子以三维空间中的图形表示,平移或旋转分子不会改变其特性。那么这里的对称性被称为平移或旋转不变性。正式地说,对称性被定义为一种变换,当应用于感兴趣的对象时,使对象的某些属性保持不变(不变性)或以确定的方式改变(等变性)[Bronstein et al. 2021]。对称性是非常强的归纳偏见,正如P. Anderson(1972)所说:“大体上可以说,物理学就是对称性的研究。” [Anderson 1972]。因此,AI的一个关键挑战是如何有效地将对称性纳入AI模型中。我们将对称性作为连接本文许多主题的主要共同线。每个领域所需的对称性也在图3中总结。

可解释性:科学旨在理解物质世界的控制规则。因此,AI在科学领域的目标是(1)设计能够准确建模物质世界的模型,以及(2)解释模型以验证或发现具有支配作用的物理规律[E et al. 2020]。因此,可解释性在AI的科学中至关重要。

分布外泛化(OOD)泛化和因果关系:传统的机器学习方法假设训练和测试数据遵循相同的分布。实际上,训练和测试数据之间可能存在不同的分布偏移,这就需要确定能够进行OOD泛化的因果因素。OOD泛化在科学模拟中尤为重要,因为这避免了为每个不同设置生成训练数据的需求。

基础和大型语言模型:当没有现成的标记训练数据时,执行无监督或少样本学习的能力变得重要。最近,基础模型[Bommasani et al. 2021]在自然语言处理任务上展示了有希望的性能。通常,基础模型是在自我监督或可泛化监督下预训练的大规模模型,可以进行各种下游任务,以少样本或零样本的方式执行。由于最近大型语言模型(LLM)如GPT-4的发展,这种范式变得越来越受欢迎。我们提供了关于这种范式如何加速AI在科学中的发现的观点。

不确定性量化(UQ)研究如何在数据和模型的不确定性下保证可靠的决策,并且是AI科学的重要组成部分。UQ已经在应用数学、计算和信息科学的各个学科中进行了研究,包括科学计算、统计建模,以及近期的机器学习。我们提供了在科学发现的背景下对UQ的最新评论。

教育:AI在科学领域是一个新兴且快速发展的研究领域,已经开发了许多有用的实体或在线资源。为了促进学习和教育,我们编制了对我们认为有用的资源的分类列表。我们还提供了关于如何更好地促进AI与科学和教育的融合的观点。

添加图片注释,不超过 140 字(可选)

图2. 本文的总体分类结构。我们概述了本文中涵盖的科学人工智能领域,并总结了所选问题、中心挑战和主要方法。

添加图片注释,不超过 140 字(可选)

图3. 科学领域的空间和时间尺度。我们探索了人工智能与各种科学学科之间在空间和时间尺度连续性上的交集。这个框架适应了各种领域和问题,它们都以各自的对称性和共享的技术挑战为特点。对称性是自然科学结构的固有属性,受数学和物理法则的支配,在各种科学领域都表现出多种模式。这种跨学科的视角为我们通过人工智能方法解决和研究复杂的科学问题提供了新的视角。

1.3 综合多尺度分析

在本调查中,我们进行了不同层次的分析,包括量子物理学、密度泛函理论(DFT)、分子动力学(MD)和连续动力学。在精确性和处理的尺度方面存在明显的差异。具体而言,量子物理学处理的是电子、质子、中子等粒子的行为和相互作用,以及它们的量子力学特性,通过解决多体相互作用系统的薛定谔方程。在量子物理学中,空间尺度通常在原子和亚原子水平上,范围从皮米(10-12 米)到纳米(10-9 米),具体取决于具体问题。DFT通过将多体相互作用系统映射到多体非相互作用系统,解决了电子和离子的薛定谔方程,因此可以提供关于原子、分子和固体等真实材料的电子结构的洞察,尺度从埃(10-10 米)到几百个埃。MD模拟在更大的尺度上操作,通常在纳米(10-9米)到微米(10-6米)的尺度范围内,使用经验/半经验力场以及新兴的机器学习力场。MD关注的是各种热力学集合下原子和分子的运动和相互作用,可以研究动态行为、结构变化、动力学和热力学特性。相比之下,量子物理学旨在解决多体波函数和哈密顿量,DFT采取了另一种途径,适用于分子和材料的实际应用;MD模拟在更大的空间尺度和更长的时间尺度上运行,不需要显式处理电子波函数的空间和旋量分量。为了处理更大的尺度并消除粒子的离散性,偏微分方程(PDE)被用于研究从流体动力学的微米尺度(10-6米,如科尔莫戈洛夫微尺度)到气候动力学的公里(103米)尺度的连续系统行为。我们在图3中比较了不同系统的空间和时间尺度。因此,我们的工作重点是量子、原子和连续系统这三个领域。理论水平的选择取决于感兴趣的现象和研究所需的计算复杂性。不同的分析可以相互促进,导致综合分析。

1.4 在线资源

AI在科学领域是一个新兴且快速发展的研究领域。为了保持本工作的持续更新,我们创建了一个在线门户网站(https://air4.science/),将定期进行维护和更新。在线门户包含我们的资源,其中包括一个思维导图,旨在可视化我们工作涵盖的各个领域的分类结构。这个思维导图作为一个全面的概览,允许用户进行导航,并将在本文发表后定期更新,以包括领域中的新主题和重大进展。此外,我们在门户网站上提供了一个反馈表(https://air4.science/feedback)。这个表格可以让个人就本文提出他们的想法、建议和评论。我们非常重视广大社区的意见,以改进我们的工作。

本文附带一个软件库和基准测试,存放在项目仓库"AIRS: AI Research for Science"(https://github.com/divelab/AIRS/)中,作为我们在这些领域的科研研究的一部分所开发。我们已经包含了一套软件库,并且将在我们的研究进展过程中持续添加。我们还在项目仓库中维护了一个关于每个与科学AI相关的领域的文献和资源的经过筛选的列表。我们欢迎广大社区通过拉取请求来为软件库和文献做出贡献。

1.5 范围和反馈

科学AI研究是一个巨大而新兴的领域,我们在这项工作中的重点是量子、微观和连续系统的AI。因此,我们的工作绝不是全面的,只包括与物理学、化学、生物学、材料科学、分子模拟和动力学以及偏微分方程等相关的AI for science领域的选定领域。由于这个领域的不断发展,我们的工作绝不是最终的结论。我们预计将随着这个领域的发展而不断增加更多的方法和基准测试。科学AI是高度跨学科的,毫无疑问,我们在文献中可能会遗漏相关的工作,对此我们必须道歉。我们欢迎社区中的任何反馈和评论来改进我们的工作。鼓励读者通过上述在线门户向我们提交反馈意见。

1.6 贡献和作者顺序

这项工作是由Shuiwang Ji发起和构思的,他还领导了分布式的撰写过程,并在整个项目中提供科学和行政支持。每个部分由一部分作者撰写,并在每个部分中注明了作者顺序。鉴于所有这些部分之间的关联,进行了广泛的讨论。作者顺序基于每个作者对每个部分的直接贡献的数量,包括文字、方程、图表、讨论和反馈等。贡献根据每个作者在最终论文中贡献的页面数量进行粗略量化,稍微根据难度和讨论的程度进行调整。许多作者提供了建设性的讨论和反馈,这些也被考虑在内。当多个作者合作完成一部分时,估计各个作者的贡献比例,并用于计算。整篇论文的作者顺序根据各个部分做出的累积贡献确定。所有作者对这项工作都做出了重要贡献,他们的顺序应该仅在一个大致意义上解释。

1.7 符号

本文采用了标准的数学符号。标量用小写字母表示,例如𝑎,而用粗体小写字母表示向量,例如𝒂。矩阵用大写字母表示,例如𝐴,其中它们的第𝑖𝑗个元素表示为𝑎𝑖𝑗,它们的第𝑘列表示为𝒂𝑘。元组或集合用书法大写字母表示,例如A。除了具有特殊含义的符号外,这些规则适用于所有符号,否则我们使用它们的传统形式。例如,哈密顿矩阵用𝑯表示,DFT中的系数矩阵用𝑪表示,能量标量用𝐸和𝑉表示。我们提供了一个共享于多个部分的常用符号的摘要,其后是各个方向的关键符号。

粒子系统的符号:我们用一个矩阵元组𝑀 = (𝐴,𝐶)来表示一个𝑛体粒子系统,例如分子、材料和蛋白质,其中𝐴表示粒子属性,𝐶 = [𝒄1, ..., 𝒄𝑛] ∈ R3×𝑛表示系统中粒子的笛卡尔坐标。具体而言,当只使用粒子类型作为属性时,我们用𝑀 = (𝒛,𝐶)表示系统,其中𝒛 ∈ Z𝑛是表示类型(例如原子电荷)的矢量。系统的其他属性可以包含在元组中,例如具有晶格矩阵的材料𝑀 = (𝒛, 𝐶, 𝐿)。

变换的符号:我们用𝑅𝛼 : R𝑛×𝑛 → R𝑛×𝑛表示旋转变换,其中𝛼为角度,可以用旋转矩阵𝑅 ∈ R3×3来表示。对应的l阶Wigner-D矩阵由𝐷l (𝑅)表示。我们用向量𝒕 ∈ R3表示平移变换。因此,𝐸(3)上的变换𝐶变为𝑅𝐶 + 𝒕1𝑇。

狄拉克符号:狄拉克符号是以保罗·狄拉克命名的,常用于表示量子态的量子物理学。在这种表示法中,量子态用矢量态表示,写为|𝜓 〉,是一个复数向量空间中的列向量。矢量态的共轭转置用bra态表示,写为〈𝜓 |,是一个行向量。bra和ket之间的内积表示为〈𝜙|𝜓〉,得到一个复数。ket和bra的外积表示为|𝜓〉 〈𝜙|,得到一个复数矩阵。算符可以通过将其写在ket矢量的左边来应用于量子态,如𝑂ˆ |𝜓 〉,表示矩阵-向量乘法。

各个部分的关键符号:其他符号在各个领域中有各自的定义。我们在表1中总结了每个方向中的关键符号。

表1. 关键符号摘要。各个领域中使用的符号在表格和各分部分中都有单独定义。

添加图片注释,不超过 140 字(可选)

附:这篇文章是对《 Artificial Intelligence for Science in Quantum, Atomistic, and Continuum Systems 》这篇综述论文的翻译

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue中的生命周期钩子

生命周期钩子 :::warning 注意 所有生命周期钩子的 this 上下文将自动绑定至实例中,因此你可以利用 this 访问 props、data、computed 和 methods 等选项内的数据/函数。这意味着你不应该使用箭头函数来定义一个生命周期方法,因为箭头函数中没有 this&a…

牛客:小美的01串翻转

小美的01串翻转 #include<iostream> #include<cstring> #include<string> #include<vector>using namespace std; typedef long long ll; const int N 1100; string s; ll res 0;int main() {cin>>s;int n s.size();vector<vector<in…

第三方服务提权

nfs挂载原理 目标机器192.168.17.138 开启2049 nfs端口 查看目标开放的文件夹 showmount -e 192.168.17.138 回显&#xff1a;/home/peter * 说明可挂载/home/peter的所有目录 使用WinSCP链接靶机192.168.17.138 更改名字为 authorized_keys 靶机 赋值权限 攻击机 nfs挂载提…

2023最新UI工作室官网个人主页源码/背景音乐/随机壁纸/一言

2023最新UI工作室官网个人主页源码/支持背景音乐/随机壁纸/一言 功能介绍&#xff1a; 载入动画 站点简介 Hitokoto 一言 日期及时间 实时天气 时光进度条 音乐播放器 移动端适配 打开文件&#xff1b;index.html和setting.json修改替换你的相关信息&a…

Unity的GPUSkinning进一步介绍

大家好&#xff0c;我是阿赵。   在几年前&#xff0c;我曾经写过一篇介绍GPUSkinning的文章&#xff0c;这么多年之后&#xff0c;还是看到不停有朋友在翻看这篇旧文章。今天上去GitHub看了一下&#xff0c;GPUSkinning这个开源的插件已经很久没有更新过了&#xff0c;还是停…

虹科方案 | HK-NEOs系列带来先进的磁带自动化解决方案

一、HK-NEOs 系列自动磁带库 通常只有在昂贵的企业解决方案中才能找到的高级功能&#xff0c;我们的入门级磁带自动化产品就能够具备。使用 HK-NEOs 系列自动化磁带库&#xff0c;可以获得远程管理、可拆卸盒式磁带卷、可升级磁带驱动器、条形码阅读器等更多功能。 但这还不是…

JavaScript逻辑题:输出1000之内的所有完数。所谓完数指的是:如果一个数恰好等于它的所有因子之和,这个数就称为完数。

// 定义函数function judgeNum(){// 定义数组存储完数let arr []// for循环1000以内的所有数for(let i 1;i<1000;i){// 定义sum存储一个数的因子之和let sum 0;// 内层循环一个数的因子for(let j 1;j<i;j){if(i % j 0){sum j;}}// 如果一个数和它的因子之和相等&am…

FPGA-结合协议时序实现UART收发器(六):仿真模块SIM_uart_drive_TB

FPGA-结合协议时序实现UART收发器&#xff08;六&#xff09;&#xff1a;仿真模块SIM_uart_drive_TB 仿真模块SIM_uart_drive_TB&#xff0c;仿真实现。 vivado联合modelsim进行仿真。 文章目录 FPGA-结合协议时序实现UART收发器&#xff08;六&#xff09;&#xff1a;仿真模…

JavaScript逻辑题:牙膏2元 牙刷5元 牙膏盒15元 请问正好花完100元 有多少情况?

// 定义牙膏 牙刷 牙膏盒分别的价格 let toothpaste 0;let toothbrush 0;let toothpastebox 0;// 定义sum用来存储几种情况let sum 0;//第一层循环 循环牙膏买多少for (let i 0; i < 20; i){toothpaste 5 * i;// 二层循环 循环牙刷的数量for (let j 0; j < 50; j…

合伙企业是什么?

合伙企业可能大家听说也较多&#xff0c;但是到底什么是合伙企业&#xff0c;可能就没那么清楚了。看完今日的内容&#xff0c;你就会知道原来这就是合伙企业啊。 一、什么是合伙企业&#xff1f; 根据《中华人民共和国合伙企业法》&#xff0c;合伙企业是由两个或两个以上的自…

黑马JVM总结(六)

&#xff08;1&#xff09;常量池 方法区的组成中都由一个叫做运行时常量池的部分&#xff0c;内部包含一个叫做StringTable的东西 反编译二进制字节码&#xff1a; 类的基本信息&#xff1a; 常量池&#xff1a; 方法定义&#xff1a; 构造方法 main方法 &#xff1a;方法中…

手动开发-实现SpringMVC底层机制--小试牛刀

文章目录 前端控制器Controller注解RequestMapping注解自定义容器LingWebApplicationContext设计handlerList完成分发请求Service注解和AutoWired注解RequestParam注解完整代码 在这里说的底层机制的实现主要是指&#xff1a;前端控制器、Controller、Service注入容器、对象自动…

go并发处理业务

引言 实际上&#xff0c;在服务端程序开发和爬虫程序开发时&#xff0c;我们的大多数业务都是IO密集型业务&#xff0c;什么是IO密集型业务&#xff0c;通俗地说就是CPU运行时间只占整个业务执行时间的一小部分&#xff0c;而剩余的大部分时间都在等待IO操作。 IO操作包括htt…

反编译小程序详细教程,处理各种异常报错

文章目录 一、准备工作 &#xff08;一&#xff09;安装Nodejs &#xff08;二&#xff09;解密和逆向工具 二、小程序缓存文件解密 &#xff08;一&#xff09;定位小程序缓存路径 &#xff08;二&#xff09;源码解密 &#xff08;三&#xff09;源码反编译 三、小结 四、异常…

Go 异常处理

代码在执行的过程中可能因为一些逻辑上的问题而出现错误 func test1(a, b int) int {result : a / breturn result } func main() {resut : test1(10, 0)fmt.Println(resut) }panic: runtime error: integer divide by zero goroutine 1 [running]: …

华为云arm架构的linux系统中通过docker部署python环境

背景 有时候需要在无互联网的环境安装部署python环境,虽然可以在linux系统中直接安装python环境,但是比较复杂乱,特别是环境多的时候,其实可以通过docker打包安装的方式来实现 1、租用华为云arm加载的服务器 https://www.huaweicloud.com/product/ecs.html 2、安装doc…

请明星出席品牌周年庆活动:巧妙策略与成功之道

品牌的周年庆典是一次展示实力、感谢客户和吸引更多关注的机会。在这个特殊时刻&#xff0c;让明星出席活动演出无疑是让庆典更加引人注目和难忘的方式。明星的存在不仅能增加活动的知名度&#xff0c;还能为品牌增色不少。然而&#xff0c;邀请明星出席活动是一项复杂的任务&a…

phpcmsV9.6.0sql注入漏洞分析

目录 前言 环境准备 漏洞点 看一看parse_str函数 看一看sys_auth函数 看一看get_one函数 全局搜索sys_auth($a_k, ENCODE) 查看哪里调用了 set_cookie 查看safe_replace函数 判断登录绕过 index的业务 加载modules/wap/index.php 加载modules/attachment/attachme…

免费版Photoshop2024智能人像磨皮插件

Portraiture是一款智能磨皮插件&#xff0c;为Photoshop和Lightroom添加一键磨皮美化功能&#xff0c;快速对照片中皮肤、头发、眉毛等部位进行美化&#xff0c;无需手动调整&#xff0c;大大提高P图效率。全新4版本&#xff0c;升级AI算法&#xff0c;并独家支持多人及全身模式…

vue手写提示组件弹窗

1、弹框展示 2、message组件 新建一个message.vue <template><div class"wrapper" v-if"isShow" :class"showContent ? fadein : fadeout">{{ text }}</div> </template> <script></script> <style s…