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

AI赋能密度泛函理论:量子张量学习与机器学习泛函实践

1. 项目概述当AI遇见量子化学“AI赋能密度泛函理论量子张量学习与机器学习泛函”这个标题听起来很学术但它的内核其实非常“工程化”。简单来说我们正在尝试用当下最火的机器学习方法去解决一个困扰了计算化学和材料科学领域几十年的老问题如何又快又准地计算材料的电子结构。我从事计算模拟工作十几年从早期的半经验方法到后来的第一性原理计算再到如今探索AI辅助的路径可以说每一步都踩在算力需求和精度瓶颈的钢丝上。密度泛函理论DFT是当前材料模拟的绝对主力它用一个巧妙的“电子密度”概念把复杂的多电子问题简化成了可解的方程。但DFT的精度完全取决于一个叫做“交换关联泛函”的近似公式。现有的泛函比如经典的PBE、B3LYP要么计算快但精度一般要么精度高但计算量巨大像HSE06这种算个稍大的体系就能让超算集群跑上好几天。这个项目的核心目标就是让AI去学习并构建一个更好的“交换关联泛函”。它不是简单地用AI去拟合DFT的计算结果那样只是换了个黑箱。我们想做的是让AI深入理解电子密度分布与体系能量之间的内在物理规律学习量子力学中那些复杂的、高维的张量关系这就是“量子张量学习”的含义从而生成一个既保持物理可解释性又具备超高精度和泛化能力的“机器学习泛函”。这能解决什么问题想象一下新材料研发中我们需要预测一种新型电池材料的能量密度、催化剂的反应活性、或者半导体的带隙。传统DFT计算要么太慢要么结果不可靠。如果有一个AI“训练”出来的泛函能在保持DFT计算框架的前提下用接近普通泛函的速度达到甚至超越高精度泛函的准确度那无疑将是一场革命。它意味着我们可以以前所未有的速度和规模在计算机里“筛”材料极大地加速从实验室发现到实际应用的进程。2. 核心思路与技术路线拆解2.1 为什么是“量子张量学习”要理解这个方向得先拆解“量子张量”这个概念。在量子化学里描述一个多电子体系的波函数其复杂程度随电子数指数增长。DFT的伟大之处在于它用三维的电子密度函数替代了高维的波函数。但是电子密度本身包含的信息对于精确描述电子关联效应仍然是不够的。更底层的物理信息比如电子对密度、动能密度、以及它们的梯度通常以张量的形式存在。“张量”在这里可以通俗地理解为一种“多维数组”。电子密度是一个标量场0阶张量它的梯度是矢量场1阶张量更高阶的导数或相关物理量则构成更高阶的张量。传统的泛函设计是物理学家基于模型体系如均匀电子气和物理直觉手工构造这些标量、矢量输入与交换关联能量之间的函数关系。这个过程充满了尝试和妥协。“量子张量学习”的思路则是将这些不同阶的张量电子密度、密度梯度、动能密度等作为机器学习模型的输入特征。机器学习模型特别是深度神经网络天生擅长处理高维、非线性的映射关系。我们不再需要手动设计那个复杂的函数形式而是让神经网络自己去从海量的、精确的量子化学计算数据如耦合簇CCSD(T)的结果被视为“金标准”中学习出从输入张量到交换关联能量的最优映射。这里的挑战在于如何让学习过程尊重物理规律。例如交换关联能量必须满足尺度变换不变性、旋转不变性等基本对称性。我们不能直接把原始张量扔进一个全连接网络那样学出来的模型很可能不满足这些物理约束导致泛化能力极差。因此我们需要设计具有物理意识Physics-Informed的神经网络架构确保其输入输出关系天然满足这些对称性这就是“等变神经网络”或“张量网络”等先进模型发挥作用的地方。2.2 机器学习泛函的两种范式目前构建机器学习泛函主要有两种技术路线各有优劣。第一种是“直接能量学习”范式。这种范式最为直观构建一个机器学习模型其输入是描述整个体系电子结构的一组特征通常是基于电子密度及其导数的局部描述符输出直接是整个体系的交换关联能。训练时使用高精度量子化学方法计算得到的总能量减去其他能量项如动能、外势能等得到“目标”交换关联能作为标签。注意这里的关键是特征工程。特征必须足够丰富以捕获电子关联的物理本质同时又要是局域的以保证计算的可扩展性。常用的特征包括电子密度、密度梯度模方、动能密度以及由它们构造出的更复杂的标量如约化密度梯度。这些特征在每个空间格点上计算模型则在每个格点上独立地预测交换关联能密度最后积分得到总能量。这种方法的优点是端到端理论上可以逼近任何函数形式。但缺点也很明显模型学习的是总能量它可能通过复杂的补偿效应来拟合数据而未必真正学到了正确的物理规律。这可能导致在训练集之外的材料或化学环境中表现不佳。第二种是“泛函导数学习”范式也被称为“学习Kohn-Sham势”。在DFT的实际计算中我们不仅需要交换关联能更需要它的函数导数——交换关联势因为这个势直接进入Kohn-Sham方程决定了电子的轨道和最终的电子密度。这种范式让机器学习模型直接学习从电子密度到交换关联势的映射。训练这种模型更为复杂通常需要一种自洽循环给定一个初始密度模型预测一个势解Kohn-Sham方程得到新密度比较新密度与初始密度或与高精度方法得到的参考密度用差异来更新模型参数。这个过程模拟了真实的DFT自洽计算。这种范式的优势在于它直接建模了DFT计算的核心环节强迫模型学习更本质的物理关系因此通常具有更好的可移植性和泛化能力。但它的实现难度和计算成本也高得多。我们的项目更倾向于探索第二种范式或者将两种范式结合。我们认为让AI学习产生正确的Kohn-Sham势是确保机器学习泛函能够无缝嵌入现有DFT软件生态、并稳健工作的关键。3. 实操构建从数据到可用的泛函3.1 数据集的准备与挑战任何机器学习项目的基石都是数据。对于训练一个通用的机器学习泛函我们需要一个覆盖元素周期表大部分区域、包含多种化学键类型金属键、共价键、离子键、氢键、范德华作用、以及不同电子关联强度体系的数据集。目前学术界有一些公开基准数据集被广泛使用例如QM9包含13.4万个有机小分子提供了在B3LYP/6-31G(2df,p)级别计算的结构、能量和多种性质。虽然精度不算最高但数据量庞大适合初步训练和验证模型架构。MD17包含几个小分子的分子动力学轨迹提供了原子位置和对应的力对于训练能够预测原子受力的模型至关重要因为力是能量的负梯度。3BPA一个包含3万个二肽构象的数据集专注于生物相关分子的构象能。更重要的是高精度数据集如使用CCSD(T)/CBS耦合簇方法基组极限级别计算的小分子数据集如GMTKN55数据库的子集或者使用量子蒙特卡洛方法计算的固态数据。这些数据的获取成本极高但它们是训练高精度泛函的“黄金标准”。在准备数据时有几个必须注意的坑数据一致性所有数据必须基于同一套物理定义和计算设置生成。例如能量零点必须统一是否包含相对论效应需要明确。数值噪声量子化学计算本身存在数值误差特别是对于力能量的梯度的计算噪声更大。在训练对力敏感的模型时需要对数据进行平滑处理或采用对噪声不敏感的损失函数。数据分布要警惕数据集的偏见。如果数据集中全是有机分子训练出的泛函在金属或离子固体上很可能失效。因此构建一个均衡的、具有代表性的数据集是首要任务通常需要计算化学家和数据科学家的紧密合作。3.2 模型架构的选择与实现确定了学习范式比如学习Kohn-Sham势后就要选择具体的神经网络模型。全连接网络MLP在处理这类问题时已经力不从心因为它无法有效处理空间的连续性和对称性。目前看来最有前景的架构是等变图神经网络。它的设计思想非常贴合我们的问题将体系视为图原子是节点原子间的相互作用或距离构成边。这自然描述了分子或晶体结构。等变性模型输出如每个原子贡献的势能会随着输入如原子坐标的旋转、平移、镜像等空间变换而进行相应的协变或不变变换。这保证了模型的预测遵守基本的物理规律。一个典型的流程是输入原子种类原子序数和坐标。模型通过多层消息传递让每个原子“感知”其化学环境的信息。最终模型输出每个原子位置处的电子密度值用于初始化或直接输出一个与密度相关的势场。在代码层面现在有一些优秀的框架可以大大降低实现难度比如DeePMD-kit、SchNetPack、以及e3nn库。以e3nn为例它专门用于构建等变神经网络我们可以这样定义一个有物理意识的层import torch import e3nn # 定义输入和输出的不可约表示irreps # 标量l0类型1宇称偶 # 矢量l1类型1宇称奇- irreps_in ‘1x0e’ # 输入特征1个标量如原子类型编码 irreps_out ‘1x0e 1x1o’ # 输出1个标量能量和1个矢量力 # 创建一个等变的TensorProduct层 tp e3nn.o3.FullyConnectedTensorProduct(irreps_in, irreps_in, irreps_out) # 假设有一些节点特征和几何信息 node_feats torch.randn(10, 1) # 10个原子每个原子1个标量特征 edge_vectors torch.randn(45, 3) # 45条边每条边有3维方向矢量 edge_lengths torch.norm(edge_vectors, dim1, keepdimTrue) # 边长为标量 # 将边长作为标量特征方向作为几何信息输入层 output tp(node_feats, node_feats, edge_lengths, edge_vectors)这个简单的例子展示了如何构建一个能同时输出标量能量和矢量力的等变层。在实际模型中我们会堆叠很多这样的层并引入注意力机制等让模型能够学习长程相互作用。3.3 损失函数设计与训练技巧训练一个机器学习泛函损失函数的设计是灵魂。我们不能只简单地最小化预测能量和参考能量之间的均方误差MSE。一个更有效的复合损失函数通常包含以下几项能量损失预测的总能量与参考总能量之差的MSE。这是基础。力损失预测的原子受力能量的负梯度与参考力之间的MSE。引入力损失至关重要因为它为模型提供了远比能量更丰富的梯度信息能极大地提升模型的精度和收敛速度。通常会给力损失一个较大的权重。势损失如果我们采用学习Kohn-Sham势的范式还需要加入预测的交换关联势与参考势之间的差异。参考势可以通过高精度计算得到的电子密度用数值方法反推出来这个过程比较繁琐。正则化损失为了防止过拟合需要加入L1或L2正则化项。对于泛函模型物理驱动的正则化可能更有效例如惩罚那些在电子密度极稀或极密区域行为不合理的预测。训练过程本身也是一个挑战。由于DFT自洽计算的存在我们常常需要在一个“循环”中训练模型外层循环用当前模型参数进行DFT自洽计算得到预测的电子密度和能量。内层循环比较预测结果与参考数据计算损失反向传播更新模型参数。这本质上是一个双层优化问题计算开销巨大。实践中我们常采用“离线学习”策略先使用高精度方法计算一大批不同电子密度分布对应的“理想”Kohn-Sham势构建一个“密度势”配对的数据集然后直接在这个数据集上训练模型学习映射关系暂时绕过自洽循环。模型初步训练好后再放入真实的DFT代码中进行微调和测试。4. 集成与应用让AI泛函“跑起来”4.1 与现有DFT代码的对接训练出一个神经网络模型只是第一步如何将它变成一个能被主流DFT软件如VASP、Quantum ESPRESSO、ABINIT、GPAW调用的“泛函”才是工程上的关键。目前主流的有两种集成模式Libxc模式大多数DFT程序通过调用Libxc这个库来获取交换关联泛函的能量和势。我们可以仿照Libxc的接口开发一个“机器学习插件”。这个插件以共享库.so或.dll的形式存在它内部封装了我们的神经网络模型。当DFT程序计算到某个空间格点时它会将当地的电子密度、梯度等参数传递给这个插件插件调用模型进行计算并返回该点的交换关联能密度和势。这种方式侵入性小理论上任何支持Libxc的DFT程序都能使用。内置模式直接将机器学习模型的调用代码写入DFT程序的源代码中。这种方式性能优化潜力更大可以与程序本身的并行化、网格积分等流程深度结合但可移植性差维护困难。以相对简单的Libxc插件模式为例其核心是实现Libxc定义的几个标准函数接口xc_func_init: 初始化函数在这里加载我们训练好的模型权重。xc_lda_exc_vxc: 对于LDA局域密度近似类型的泛函这个函数被调用。输入是当前格点的密度输出是该点的交换关联能密度和势。xc_gga_exc_vxc: 对于GGA广义梯度近似类型的泛函输入还包括密度梯度。我们的任务就是在这些函数内部将DFT程序传递过来的标量或矢量参数组织成我们的神经网络模型所需的输入张量格式进行前向推理然后将结果返回。这里需要注意数据精度float/double、内存布局以及计算效率因为每个自洽迭代中这个函数会被调用数百万甚至数十亿次取决于体系大小和网格精度。4.2 实际计算流程与参数设置当机器学习泛函成功集成后使用它进行计算与使用传统泛函在流程上几乎没有区别这降低了使用门槛。以下是一个概念性的输入文件示例以某种DFT程序格式为例SYSTEM calculation ‘scf’ functional ‘ML-XC’ # 指定使用我们的机器学习泛函‘ML-XC’ ... / ELECTRONS conv_thr 1.0e-8 # 由于ML泛函可能更“敏感”建议使用更严格的自洽收敛阈值 ... / ML_XC # 机器学习泛函的专属参数块 model_path ‘./best_model.pth’ # 训练好的模型权重文件路径 descriptor_type ‘el_densitygradientkinetic’ # 模型使用的输入描述符类型 cutoff_radius 6.0 # 原子局域环境截断半径单位玻尔 gpu_id 0 # 指定使用哪块GPU进行模型推理加速 /在实际计算中有几个参数需要特别关注截断半径对于基于原子环境的模型需要设定一个截断半径来定义每个原子的“邻居”。半径太小会丢失长程作用信息太大会急剧增加计算量。对于分子6-8玻尔通常足够对于具有长程库仑作用的体系可能需要特殊处理。网格精度DFT需要在实空间网格上进行积分。机器学习泛函的预测在网格点间应该是平滑的。如果网格太粗糙可能会错过密度变化的细节影响精度太精细则计算量暴增。建议开始时使用与传统泛函相同或稍密的网格设置。自洽场收敛神经网络泛函的势能面可能与传统泛函不同可能导致自洽迭代收敛行为发生变化。有时需要调整电子弛豫的算法如使用更稳健的Kerker混合或降低混合因子来保证收敛。4.3 性能优化与推理加速推理速度是机器学习泛函能否实用的生命线。在DFT的每个自洽迭代中需要对成千上万个网格点进行模型评估。优化至关重要模型轻量化在保证精度的前提下尽可能减少模型的层数和参数量。可以使用知识蒸馏、剪枝、量化等技术来压缩模型。批处理推理不要对每个网格点单独调用模型。将空间相邻的多个格点的特征数据密度、梯度等打包成一个批次Batch一次性送入模型进行并行计算能极大利用GPU的并行计算能力。缓存与预计算在自洽迭代过程中原子位置不变因此每个原子的邻居列表、距离、方向矢量等几何信息是固定的。这些信息可以预先计算并缓存避免在每次模型调用时重复计算。使用专用算子库利用像TensorRT或OpenVINO这样的推理优化框架将PyTorch或TensorFlow模型转换为高度优化的计算图可以在特定硬件如NVIDIA GPU或Intel CPU上获得显著的加速比。一个经过良好优化的机器学习泛函插件其单点推理时间应该控制在与一次中等复杂度GGA泛函计算相当的水平。虽然初期开销会比传统泛函大但考虑到它可能一步达到需要昂贵杂化泛函才能获得的精度其综合性价比优势会非常明显。5. 效果验证、常见问题与未来展望5.1 如何评估一个机器学习泛函的好坏不能只看它在训练集上的表现必须进行严格、全面的基准测试。一个标准的测试流程应包括分子基准测试使用像GMTKN55这样的数据库它包含了55个子集涵盖反应能、势垒、非共价相互作用等各类化学性质。计算每个子集的平均绝对误差MAE和均方根误差RMSE并与主流泛函PBE, B3LYP, ωB97X-D, M06-2X等以及高精度波函数方法如CCSD(T)进行对比。一个好的机器学习泛函应该在绝大多数子集上接近或超越最好的传统泛函。固态性质测试计算晶格常数、结合能、体模量、电子带隙等。这对于材料应用至关重要。需要与实验值以及使用HSE06等昂贵泛函的计算结果对比。特别注意带隙的预测这是传统DFT的软肋。势能面扫描选取一个简单的双原子分子如N2计算其键长-能量曲线解离曲线。观察机器学习泛函预测的平衡键长、振动频率和解离极限是否正确。错误的泛函可能会产生不合理的势能面比如出现虚假的极小值点。泛化能力测试用完全不含在训练集中的新元素、新成键类型或新体系如表面吸附、缺陷体系来测试模型。这是检验其是否真正学习到物理规律而非简单记忆数据的关键。5.2 实操中遇到的典型问题与解决思路在开发和测试我们自己的原型时踩过不少坑模型在训练集上完美在新体系上崩溃现象对一个有机分子数据集训练的模型在预测金属团簇时能量严重错误。诊断根本原因是数据偏差和特征局限性。模型从未见过金属体系中高度离域的电子密度分布。解决扩充训练集必须包含金属、离子化合物、半导体等多样化的体系。同时审视输入特征是否足以描述金属键的特性可能需要引入像电子局域函数ELF这类更能刻画电子离域的特征。自洽计算不收敛或振荡现象使用ML泛函时电子密度在迭代中剧烈振荡无法达到收敛阈值。诊断机器学习模型预测的交换关联势可能存在数值噪声或不光滑的区域导致Kohn-Sham方程难以求解。解决首先检查模型预测的势场在空间上是否平滑。可以在损失函数中加入对势场二阶导数的正则化项强制其光滑。其次调整DFT计算中的电子弛豫参数如使用更小的混合因子、启用Kerker预处理、或换用更稳定的对角化算法。计算速度慢得无法接受现象集成后的ML泛函计算一个中等体系的时间是传统GGA的100倍。诊断可能是网格点推理没有批处理或者模型本身过于庞大又或者频繁在CPU和GPU之间拷贝数据。解决实现高效的批处理推理对模型进行剪枝和量化确保特征计算和模型推理都在同一设备GPU上完成避免数据传输瓶颈使用TensorRT等工具进行图优化和内核融合。力预测不准导致结构优化失败现象用ML泛函进行几何结构优化时原子受力方向怪异优化出的结构不合理。诊断能量和力的预测不一致。在机器学习中力是能量的负梯度通常通过自动微分获得。如果模型本身关于坐标的微分性不好或者训练时力损失的权重不够就会导致此问题。解决确保模型架构是光滑且可微的。在训练时显著提高力损失项的权重有时能量和力损失的权重比可以达到1:100甚至更高。在发布泛函前务必进行严格的力测试。5.3 当前的局限与未来的方向尽管前景广阔但AI赋能的密度泛函理论仍处于早期阶段面临诸多挑战数据饥渴构建一个覆盖化学空间全局的高精度数据集成本极高。如何用更少的数据训练出更好的模型比如通过主动学习、迁移学习、或利用物理规律生成合成数据是重要方向。外推能力模型在训练数据分布之外的区域如极高的压力、极端的电子密度表现不可靠。将已知的渐进行为如高密度极限、低密度极限作为硬约束嵌入模型是提升外推能力的有效手段。可解释性神经网络是黑箱。我们如何理解它做出的预测发展可解释AI技术例如通过归因分析找出是哪些输入特征对最终预测贡献最大有助于我们反过来加深对交换关联物理的理解甚至可能发现新的物理规律。动力学与激发态目前的努力主要集中在基态性质。如何将机器学习泛函扩展到含时DFT以处理激发态或用于分子动力学模拟是下一个前沿。这需要模型能正确描述势能面随时间和电子态的变化。从我个人的实践来看这条路虽然艰难但每一步都令人兴奋。我们不再仅仅是泛函的使用者某种程度上成为了泛函的“设计者”。每一次调试模型、分析错误都像是在与量子力学的基本规律进行一场对话。最大的体会是成功的机器学习泛函项目必须是一个深度交叉的团队作业计算化学家提供物理洞见和高质量数据机器学习专家设计稳健的模型和训练策略软件工程师实现高性能的集成和部署。当看到自己训练的模型第一次成功预测出一种新材料稳定存在的相并且与后来的实验结果吻合时那种成就感是无可替代的。这个领域没有银弹每一个百分点的精度提升都需要对数据、模型和物理的深刻理解与反复打磨。

相关文章:

AI赋能密度泛函理论:量子张量学习与机器学习泛函实践

1. 项目概述:当AI遇见量子化学“AI赋能密度泛函理论:量子张量学习与机器学习泛函”,这个标题听起来很学术,但它的内核其实非常“工程化”。简单来说,我们正在尝试用当下最火的机器学习方法,去解决一个困扰了…...

CANN/pyasc算子编程接口

asc.language.adv.get_special_mdl_config 【免费下载链接】pyasc 本项目为Python用户提供算子编程接口,支持在昇腾AI处理器上加速计算,接口与Ascend C一一对应并遵守Python原生语法。 项目地址: https://gitcode.com/cann/pyasc asc.language.ad…...

CANN/Hunyuan3D昇腾适配

在昇腾训练平台上适配Hunyuan3D 2.0 模型的推理 【免费下载链接】cann-recipes-spatial-intelligence 本项目针对空间智能业务中的典型模型、加速算法,提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-spatial-intelligence Hu…...

抖音批量下载神器:3分钟掌握无水印视频下载全攻略

抖音批量下载神器:3分钟掌握无水印视频下载全攻略 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. …...

SEO地理优化利器:hreflang与JSON-LD实战指南

1. 项目概述:一个被低估的SEO地理优化利器 如果你做过外贸独立站、本地服务或者任何有地域性需求的线上业务,肯定遇到过这个头疼的问题:明明内容不错,关键词也做了,但流量就是集中在某个国家或地区,目标市…...

Animal-AI环境:用强化学习复现动物认知实验,评估AI智能水平

1. 项目概述:当AI走进“动物世界”如果你对强化学习(Reinforcement Learning, RL)和认知科学(Cognitive Science)的交叉领域感兴趣,那么Animal-AI环境绝对是一个值得你投入时间研究的宝藏项目。简单来说&am…...

算法模拟与生命智能:从架构差异看AI的本质与局限

1. 算法模拟与生命智能:一场关于“智能”本质的对话最近和几位做计算神经科学和哲学的朋友聊天,话题又绕回到了那个老生常谈但又无比核心的问题:我们正在构建的“人工智能”,到底在多大程度上接近真正的“智能”?或者说…...

我用AI重构了一个遗留系统,代码量减少了70%,老板惊呆了

一、当“惊喜”成为测试团队的“惊吓”会议室里,老板盯着屏幕上的数字,瞳孔微微放大——那个维护了八年、代码量超过50万行的核心交易系统,经过AI辅助重构后,仅剩15万行。编译通过,核心业务流程跑通,演示环…...

基于MCP协议的GitLab AI助手:重塑DevOps工作流的智能连接器

1. 项目概述:当AI助手遇上GitLab,一个MCP服务器如何重塑你的DevOps工作流如果你和我一样,每天的工作都离不开GitLab——从代码提交、MR评审,到CI/CD流水线监控和问题追踪,那么你肯定也经历过在多个工具和界面间反复横跳…...

超导量子比特与腔体共振控制技术解析

1. 超导量子比特与腔体共振控制协议概述 在超导量子计算领域,实现量子比特与谐振腔之间的高效耦合控制是构建可扩展量子处理器的关键技术。Jaynes-Cummings模型作为描述量子比特与谐振腔相互作用的基础理论框架,为理解这种耦合提供了清晰的物理图像。当量…...

构建防误删体系:从 rm -rf 灾难到生产环境数据安全实践

1. 项目概述:一个关于“删除生产环境”的警示性开源项目在软件开发和运维的圈子里,流传着一些“都市传说”级别的灾难性命令,而rm -rf /无疑是其中最令人闻风丧胆的一个。这个命令一旦在错误的路径下执行,意味着对根目录进行递归强…...

杰理之添加AD通道的接口【篇】

#define AD_CH_IO_VBAT_PORT IO_PORTB_02 //选择一个有ADC功能IO口采集vbat电压,电压不能超过 vddio adc_add_sample_ch(adc_io2ch(AD_CH_IO_VBAT_PORT)); adc_set_sample_period(adc_io2ch(AD_CH_IO_VBAT_PORT), PMU_CH_SAMPLE_PERIOD);...

杰理之设置IO状态的方法【篇】

u32 port PORTA;//指定IO u32 pin PORT_PIN_2; gpio_hw_set_direction(port, pin, 1);//0:out, 1:in gpio_hw_set_die(port, pin, 0); gpio_hw_set_dieh(port, pin, 0); gpio_hw_set_pull_up(port, pin, GPIO_PULLUP_10K); gpio_hw_set_pull_down(port, pin, GPIO_PULLDOWN_1…...

杰理之打开OTA打印以及uboot打印的方法【篇】

//uboot and ota.bin串口tx // 如果是USB口 设置为 USBDP/USBDM #ifndef CONFIG_UBOOT_DEBUG_PIN #define CONFIG_UBOOT_DEBUG_PIN PA01 #endif...

PyTorch 自动微分原理:反向传播与计算图构建

PyTorch 自动微分原理:反向传播与计算图构建 1. 技术分析 1.1 自动微分定义 自动微分(Automatic Differentiation)是计算函数导数的技术,PyTorch 通过计算图实现: import torchx torch.tensor(2.0, requires_gradTrue…...

在多轮对话应用中体验Taotoken路由策略的稳定性

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在多轮对话应用中体验Taotoken路由策略的稳定性 在多轮对话应用,例如聊天机器人或需要保持长上下文的智能助手中&#…...

3PEAK思瑞浦 TPA3672-SO1R SOP8 运算放大器

特性 供电电压:3V至16V 偏移电压:在25C时最大2.5mV 低功耗:每通道1毫安 轨到轨输入和输出 带宽:4MHz 斜率:3.5伏/微秒 大输出电流:在Vs5V时,300mV压降下的输出 电流为50mA 零交叉 -优异的总谐波失真加噪声:0.0005% -共模抑制比:95dB(最小值)...

3PEAK思瑞浦 LM2902A-TS2R-S TSSOP14 运算放大器

特性 供电电压:3V至36V或士1.5V至18V 低供电电流:每通道100安培 输入共模电压范围包含地线 可作为比较器工作 轨到轨输出: 带宽:0.9MHz 斜率:0.5V/us 优异的EMI抑制性能:1GHz时71dB 偏移电压:土3mV最大值 工作温度范围:-40C至125C 通过AEC-Q100可靠性测试,适用于汽车…...

CANN/Ascend C AsyncGetTensorC函数

AsyncGetTensorC 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcod…...

像素级实景映射,构建实景孪生底层新范式

副标题:自研硬核引擎矩阵,铸就镜像视界行业标杆内核前言数字经济深度赋能实体经济,数字孪生与视频孪生技术已成为智慧城市、工业管控、智慧安防等全域场景升级的核心支撑。当前行业多数方案仍沿用人工建模、静态渲染、视频贴图叠加的传统路径…...

Meeper:开源AI会议助手,基于Whisper与ChatGPT实现实时转录与智能摘要

1. 项目概述与核心价值 如果你和我一样,每天有一半的时间都泡在各种在线会议里,那你肯定也经历过这样的场景:会议开到一半,突然被同事问起刚才某个技术细节的讨论结果,大脑瞬间一片空白;或者为了写会议纪要…...

基于RAG与本地向量数据库,为AI编程助手构建私有知识库

1. 项目概述:一个为开发者量身定制的本地知识库如果你是一名重度使用 Cursor 或 VS Code 这类 AI 驱动的代码编辑器的开发者,那么你一定遇到过这样的困境:当你在编辑器里向 AI 助手提问时,它给出的答案往往基于其训练时的通用知识…...

ClaudeCode:基于Claude 3的AI代码生成与重构命令行工具实战指南

1. 项目概述:ClaudeCode,一个面向开发者的AI代码生成与重构工具 最近在GitHub上看到一个挺有意思的项目,叫 designfailure/claudecode 。乍一看这个名字,可能会有点摸不着头脑, designfailure 是作者, …...

Spring Boot 缓存优化:从入门到精通

Spring Boot 缓存优化:从入门到精通 核心概念 缓存是提高应用性能的重要手段,Spring Boot 提供了强大的缓存支持。通过合理配置和使用缓存,可以显著减少数据库访问次数,提高响应速度。 Spring Boot 缓存抽象 Spring Boot 提供了统…...

嵌入式操作系统选型:7大错误与工业实践

1. 嵌入式操作系统选型的核心考量在工业自动化产线上,一个实时性不足的嵌入式系统可能导致机械臂动作延迟,最终造成价值数百万的生产线停机事故。这正是2018年某德国汽车零部件供应商遭遇的真实场景——他们选用的嵌入式Linux系统在负载激增时出现调度延…...

Taotoken平台用量看板如何帮助团队透明管理大模型调用成本

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken平台用量看板如何帮助团队透明管理大模型调用成本 对于持续使用多个大模型API进行开发的中小型技术团队而言,成…...

基于大语言模型的智能文档信息提取:从OCR到视觉问答的实践

1. 项目概述:当大语言模型“看懂”图片最近在折腾一些文档自动处理的活儿,发现一个挺有意思的痛点:很多场景下,我们拿到的信息源是图片,比如扫描的合同、手机拍的表格、或者网页截图。传统的OCR(光学字符识…...

利用Taotoken CLI工具一键配置多开发环境,提升团队协作效率

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken CLI工具一键配置多开发环境,提升团队协作效率 在团队协作开发中,确保所有成员使用统一、正确…...

侧信道攻击揭秘:如何从硬件功耗逆向AI模型并生成对抗样本

1. 项目概述:当AI遇上硬件,安全边界在何处?最近几年,嵌入式AI设备,从智能门锁、摄像头到工业控制器,已经渗透到我们生活的方方面面。这些设备的核心,往往是一个经过训练的神经网络模型&#xff…...

【办公效率提升】 OpenClaw 必装技能清单(含有安装包)

OpenClaw 最实用 Skill 技能推荐|办公效率直接拉满(小白必开) OpenClaw(小龙虾)真正强大的地方,在于 Skill 技能扩展。开启对应技能后,AI 不再只是聊天,而是能真刀真枪帮你干活。下…...