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

(更新完)Supplementary Material——AZ-NAS

6. Supplementary Material

在本补充材料中,我们提供了 AZ-NASNDS [18]、NAS-Bench-201 [7] 和 MobileNetV2 [14, 19] 搜索空间上的额外结果和深入分析。

Additional results on the NDS benchmark.

神经设计空间(NDS) [18] 基准提供了多个基于单元的搜索空间中候选架构的 真实准确率,其中每个空间采用了一组不同的候选操作。我们在 表 A 中展示了 AZ-NAS 与最先进方法 [1, 13, 15, 21] 在 NDS 基准 上的定量比较。对于 NDS 中的每个搜索空间,我们报告了预测网络排名与真实网络排名之间的相关系数(Kendall’s τ),以及所选网络在 CIFAR-10 [11] 上的平均 top-1 准确率。我们可以看到,AZ-NAS 在所有搜索空间上表现优越,验证了 AZ-NAS 在各种搜索空间上的泛化能力。另一方面,其他方法 [1, 13, 15, 21] 采用单一代理的情况,在排名一致性(即 Kendall’s τ)方面,往往被 #ParamsFLOPs 超越或仅与之相当,表明它们在 NDS 基准 上的表现不如 NAS-Bench-201 [7](参见主论文中的 表1)。这些结果确认了通过组装各种代理可以提高 NAS 对搜索空间变化的鲁棒性。 

Reproducibility of training-free NAS methods.

在主论文的 表2 中,我们将 AZ-NAS 与最先进的方法进行了比较,主要关注所选网络的最终性能。考虑到搜索阶段的随机性,例如由于从大规模搜索空间 [14, 19] 中抽取候选架构的过程,我们还需要确保在多次实验中获得一致的 NAS 结果,以便在实际应用中使用。因此,我们在公平的实验设置下评估了 AZ-NAS 和最先进的 无训练 NAS 方法 [13, 14] 的可重复性。具体而言,对于每个方法,我们在 MobileNetV2 搜索空间 [14, 19] 中从零开始找到三个具有不同种子数的网络架构。我们使用相同的搜索迭代次数(100K)和 FLOPs 约束(450M)进行公平比较。我们使用在 ImageNet [5] 上训练所选网络,并采用在 [13] 中使用的简化训练方案以减少训练成本。与主论文 表2 中的实验训练设置相比,简化的方案将训练轮次从 480 减少到 150,同时没有使用教师-学生蒸馏 [10] 和高级数据增强技术(例如 AutoAugment [4]、MixUp [22] 和 RandomErase [24])。

我们在 表 B 中展示了所选网络在 ImageNet 上的 top-1 验证准确率 的平均值和标准差。虽然 ZenNAS [14] 和 ZiCo [13] 的网络架构提供了不错的性能,但我们在三次随机运行中无法复现相当的结果,表明这些方法缺乏可重复性。相反,AZ-NAS平均准确度 上显著超越了其他方法,并显示出最低的偏差,证明了其能够在多次运行中持续发现高性能的网络。我们还可以看到,在使用相同机器的公平搜索配置下,搜索成本的相对顺序与主论文 表1 中的一致,且 AZ-NASNAS 性能搜索成本 之间提供了一个很好的折衷。

  • 搜索迭代次数(100K)是 NAS 搜索过程中的步骤数,决定了搜索的深度和精度。NAS 的目标是通过多次搜索和评估架构,找到最佳的网络架构。

  • 训练轮次(150次与480次的差异)则是在 选定的网络架构 上进行训练时的次数,决定了每个网络架构在训练过程中的优化程度。

Visualization of ranking consistency

我们在 图 A 中展示了 无训练 NAS 方法 [3, 13–15, 21, 23] 和我们方法的可视化比较,其中每个图展示了 ImageNet16-120NAS-Bench-201 [7] 的预测网络排名(x 轴)与真实网络排名(y 轴)之间的关系。为了可视化,我们对所有方法使用相同的 1042 个候选架构,这些架构是根据在 ImageNet16-120 上的测试准确率均匀抽样的。从 图 A(a)-(g) 中,我们可以看到,之前的 无训练 NAS 方法 经常产生不正确的预测,例如在图的右下区域可以找到一些预测排名很高但实际表现较差的网络,这使得准确地发现高性能网络变得困难。另一方面,图 A(h) 中由 AZ-NAS 预测的网络排名与真实排名的相关性最强,图中的点紧密集中在 y = x 线周围,展示了我们方法的优越性。

我们还在 图 B 中比较了使用 AZ-NAS 的每个零成本代理和通过线性或非线性方法聚合后的网络排名,这些排名基于 NAS-Bench-201 上的 ImageNet16-120。我们可以在 图 B(a)-(d) 中观察到,仅使用单一代理得到的网络排名与真实排名的相关性较弱。例如,图 B(a)-(d) 中的代理通常为表现差的网络(例如 图 B(c) 和 (d) 的右下角区域)赋予较高的评分,或者为表现好的网络(例如 图 B(b) 和 (c) 的左上角区域)赋予较低的评分。通过将这些代理组合成 AZ-NAS 得分,在 图 B(f) 中我们可以显著提高排名一致性。我们可以看到,在 图 B(a)-(d) 中,位于右下角和左上角区域的黄绿色和绿色蓝色的点,紧密地靠近 图 B(f) 中的 y = x 线,这表明通过组合代理,单个代理的错误排名得到了纠正。通过比较 图 B(e)图 B(f) 中分别使用线性和非线性排名聚合方法得到的结果,我们还可以看到,非线性方法使得排名一致性更强,同时修正了错误的预测(见 图 B(e) 中右下角的黄绿色点),这清楚地展示了 非线性排名聚合方法 的优势。

Robustness to various initialization methods.

为了验证 AZ-NAS 对网络初始化方法的鲁棒性,我们通过使用 Kaiming normal [9]、Xavier normal [8]、普通分布或均匀分布来初始化权重参数,并比较 NAS 性能。我们在 表 C 中提供了结果,表现为在 NAS-Bench-201 [7] 上的排名一致性(Kendall’s τ)与真实表现的关系。我们可以看到,AZ-NAS 在不同的初始化方法下始终能稳定地展示出令人满意的 NAS 结果。需要注意的是,我们在使用卷积神经网络进行实验时,默认采用 Kaiming normal 初始化方法,并使用 PyTorch [16] 实现的 fan-in 模式。我们可以进一步发现,采用其他初始化方法,如 Kaiming normal 的 fan-out 模式或 Xavier normal,能进一步提升 NAS 性能。

Comparison using various batch sizes for search

我们在 表 D 中展示了使用不同批次大小(batch size)进行搜索时,AZ-NASNAS-Bench-201 [7] 上的排名一致性(Kendall’s τ)。此举旨在了解 AZ-NAS 如何受到批次大小的影响。我们可以看到,即使在使用小批次大小(即第一行中的 8)进行搜索时,AZ-NAS 也能取得良好的 NAS 性能。随着批次大小的增加,排名一致性逐渐提高,但代价是运行时间的增加。我们可以观察到,当批次大小为 64 时,在运行时间和排名一致性之间达到了最佳平衡,因此我们将其作为其他实验的默认设置。

Intercorrelation and complementary features

AZ-NAS 基于以下思想:通过组合多个零成本代理,可以显著提升 NAS 性能。然而,简单地组合之前的零成本代理可能效果不佳,主要是因为缺乏互补的特征。为了研究这一点,我们在 图 C 中分析了在 NAS-Bench-201 [7] 上,ImageNet16-120 的零成本代理之间的网络排名相互相关性。我们还在 图 D 中比较了根据两个代理在 x 轴y 轴 上的预测网络排名进行聚合后的排名一致性(在 ImageNet16-120 上的表现)。

根据这些结果,我们得出了以下观察结论:

  1. 从图 C 可以看出,许多现有的零成本代理,特别是那些利用梯度的代理(如 GradSign [23]、ZiCo [13] 和 Synflow [21])这几个高度相关,预测的网络排名高度相关。
    这与理论上多个基于梯度的零成本代理相关的发现相一致 [20],它们提供了类似的 NAS 结果。这表明这些代理缺乏互补特征,因此将它们组合起来几乎无法改善 NAS 性能,如 图 D 所示。

  2. 少数零成本代理(例如,GradSignZiCo)与 #Params(参数数量)有强烈的相关性。
    在它们的实现中,每个权重参数(或可训练层)都有一个代理评分,然后通过将所有权重参数(或可训练层)的得分加起来得到最终的网络得分。这意味着它们天然偏好 #Params 较大的网络,因为当使用更多的参数时,最终的得分往往较高,导致这些代理和 #Params 之间的协同效应有限,如 图 D 所示。

  3. 仅使用单一代理时,ZenNAS [14] 和 Snip [12] 在性能上的排名一致性较弱,即 Kendall’s τ 分别为 0.30 和 0.40。
    我们可以在 图 D 中看到,它们实际上在与其他零成本代理(如 #ParamsGradSignZiCoSynflowNASWOT [15])结合时,降低了 NAS 性能,表明它们不适合用于集成。相反,尽管我们的 可训练性代理sT)与性能的相关性较弱,但它能显著帮助其他代理提高排名一致性。这清楚地表明,可训练性代理 捕捉了 NAS 中有用的网络特征,这些特征通常被其他零成本代理忽视,尽管它与性能的排名一致性较弱。

  4. 我们可以在图 C 中看到,我们的零成本代理与大多数现有代理的相关性较低。
    我们还可以在 图 D 中观察到,将我们的代理与其他代理结合使用大幅提高了排名一致性。这表明,我们的代理为 无训练 NAS 提供了独特且有用的线索,而这些线索是其他代理无法识别的,突显了它们的互补特性。特别是,利用梯度的代理(例如 GradSignZiCoSynflowSnip)通常在与分析激活的 表现力sE)或 进步性sP)代理结合时,能得到最佳的集成效果。这表明,激活和梯度提供了不同的网络特征,这些特征对 无训练 NAS 非常有用,单靠其中任何一个都难以获得良好的 NAS 性能。这些结果再次确认了从不同且互补的角度全面评估网络对有效的 无训练 NAS 的重要性。

  5. 图 D 中结合两个零成本代理的情况下,NASWOTTE-NAS [3] 可能是改善其他零成本代理 NAS 性能的不错选择。
    然而,正如主论文中所提到的,NASWOT 仅适用于采用 ReLU 非线性激活 的网络,且 TE-NAS 计算开销较大。我们还可以看到,将 AZ-NAS 的零成本代理之一与例如 GradSignZiCoSynflow 结合使用,相比于我们代理之间的组合,能提供更好的排名一致性。然而,它们被 AZ-NAS 所超越,AZ-NAS 组合了我们所有的零成本代理,在 效率NAS 性能 之间提供了良好的平衡,而没有额外的复杂性(详细信息见主论文中的 Sec. 4.2)。

  • 图 C:分析了 NAS-Bench-201 [7] 上,不同 零成本代理 之间的网络排名的相互相关性(例如它们的 Kendall’s τ 相关系数)。这意味着他们评估了不同代理给出的网络排名之间的一致性。

  • 图 D:展示了通过 两个代理的组合,并使用 线性或非线性方法 聚合后的排名一致性,目的是检验将多个代理结合起来对 NAS 性能 的影响。

图 D. 使用各种零成本代理组合获得的 NAS-Bench-201 [7] 在 ImageNet16-120 上的性能排名一致性(Kendall 的 τ)。我们使用非线性排名聚合方法结合了 x 轴和 y 轴上零成本代理预测的两个网络排名。对角线条目中的结果(用黑框表示)是使用相应条目的单个代理获得的。对于 y 轴上的每个代理,我们用相应行中的红框指定提供最高 Kendall τ 的最佳组合

Analysis on the trainability proxy.

AZ-NAS 的零成本代理通过随机初始化的权重参数评估网络。表现力进步性 代理可以从这个设置中受益,因为它们通过分析不同特征来评估网络的特征空间。也就是说,随机初始化的网络所提取的特征可以最大化地占据特征空间,因为这些特征是随机分布在各个方向上的。复杂度代理 测量网络架构的 FLOPs(每秒浮点运算次数),它在训练过程中保持不变。类似地,可训练性代理 通过评估网络在初始化时的稳定梯度传播来评估网络,重点关注主块的雅可比矩阵的谱范数。值得注意的是,网络在初始状态下的稳定梯度传播已被证明对高性能至关重要 [8, 9, 17],这支持了我们在不训练的情况下对 可训练性代理 进行评分的思路。

为了进一步证明我们在初始化时测量 可训练性得分 的方法有效性,我们在 MobileNetV2 搜索空间 [14, 19] 上对 可训练性代理 进行了深入分析。具体来说,我们通过为进化算法设置不同的 可训练性代理搜索目标,选择了五种不同的架构,并使用与 表 B 中实验相同的训练方案进行训练。我们总结了搜索配置和结果,见 表 E。从表中可以观察到,网络的最终性能主要受 可训练性得分 的影响,得分越高的网络,性能越好。我们还在 图 E 中展示了可训练性得分在训练过程中的变化及其对训练和性能的影响,基于 表 E 中选定的网络。我们可以从 图 E(a) 看出,可训练性得分 在训练过程中并没有保持稳定,可能是因为它们受到了在训练过程中不断变化的权重参数的影响。尽管如此,它们之间的相对排名在训练过程中大致保持一致。这表明,在初始化时高的 可训练性得分 对于网络获得更好的性能至关重要,正如 图 E(b) 所证明的那样。我们还可以从 图 E(c)(d) 中看到,较好的 可训练性得分 一直伴随着更好的训练损失和训练准确率。特别是,我们可以在 图 E(e)(f) 中看到,即使在训练的最初阶段(即 预热阶段),训练损失和训练准确率的排名也与 可训练性得分 的排名一致,这突显了 可训练性代理 在网络初始状态下的重要性。这个发现也与 学习曲线外推 [6] 或 NAS 的早期停止技术 [2] 的概念相吻合。这些结果确认了,在 无训练 NAS 中考虑 可训练性代理 的有效性,它在预测候选网络的最终性能排名中发挥了重要作用。

表 E. 具有不同可训练性得分目标值的搜索目标。请注意,可训练性得分范围从 −∞ 到0。我们还报告了在 ImageNet [5] 上找到的具有相应配置的网络的 top-1 验证准确率。 

图 E. 具有不同可训练性分数的网络的比较,它们符合表 E 中指定的搜索目标。我们在 (a) 和 (b) 中分别展示了网络的可训练性分数和 ImageNet [5] 上的验证准确率。我们还在 (c)-(f) 中比较了网络的训练曲线。(最好以彩色显示。) 


Visualization of selected architectures

我们在 图 F 中展示了 AZ-NAS 的每个零成本代理或最终 AZ-NAS 得分NAS-Bench-201 [7] 上选择的网络架构。我们从 1042 个候选网络中,分别选择每个代理的前 3 个网络架构,这些候选架构是根据 ImageNet16-120 上的测试准确率均匀抽样的。对于每个架构,我们报告 CIFAR-10/100ImageNet16-120 上的测试准确率,以及我们零成本代理得分的百分位数(即,100% 表示该网络展示了最高得分)。我们可以从 图 F(a)-(d) 中看到,仅依赖于单一的零成本代理会导致所选架构的结构偏差。

表现力代理图 F(a))始终为由单个 3×3 卷积层 组成的 单元结构 赋予较高的得分,

进步性代理图 F(b))则偏向堆叠有 1×1 和 3×3 卷积层 且附加有跳跃连接的网络。这些代理还在单元结构中引入了不必要的中间节点,这些节点的输入或输出边被断开。

复杂度代理图 F(d))则更倾向于选择所有边都定义为参数化操作的网络结构。

这些偏差会妨碍我们找到高性能的网络,从而降低 NAS 性能。我们还可以观察到,单个零成本代理所选的网络通常在其他代理上的得分较低,导致在 ImageNet16-120 上的测试准确率不理想,特别是在 ImageNet16-120 上,这里包含了更多复杂场景和物体的图像。这强调了仅使用单一代理评估网络是不足够的。相比之下,组合 图 F(e) 中的零成本代理,使我们能够选择在所有代理中排名靠前的网络,并在多个数据集上展示出高性能,而不受特定结构偏差的影响。

图 F. 使用 AZ-NAS 的每个零成本代理分数和 NAS-Bench-201 上的最终 AZ-NAS 分数对排名前 3 的网络架构进行可视化 [7]。绿色和黄色方块分别表示单元的输入和输出节点,蓝色方块表示中间节点。对于每种架构,我们报告 CIFAR-10/100 (C10/100) 和 ImageNet16-120 (IN16-
120) 数据集上的 top-1 测试准确率,以及括号中的代理分数的百分位数,其中 100% 表示最高排名。为简洁起见,我们分别用 E、P、T 和 C 表示表达力、渐进性、可训练性和复杂性代理。 

相关文章:

(更新完)Supplementary Material——AZ-NAS

6. Supplementary Material 在本补充材料中,我们提供了 AZ-NAS 在 NDS [18]、NAS-Bench-201 [7] 和 MobileNetV2 [14, 19] 搜索空间上的额外结果和深入分析。 Additional results on the NDS benchmark. 神经设计空间(NDS) [18] 基准提供了…...

基于SSM框架的线上甜品销售系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此网上销售信息的…...

TCP | 序列号和确认号 [逐包分析] | seq / ack 详解

注 : 本文为 “TCP 序号(seq)与确认序号(ack)” 相关文章合辑。 英文引文,机翻未校。 中文引文,略作重排。 如有内容异常,请看原文。 Understanding TCP Seq & Ack Numbers […...

Citus源码(1)分布式表行为测试

最近对citus的实现非常好奇,本篇对citus的行为做一些测试。本篇只测行为,不分析源码。后面会继续写一系列文章分析citus源码。 环境:3节点 PG17 with citus。 SELECT citus_set_coordinator_host(127.0.0.1, 3001); SELECT citus_add_node(1…...

【AI测试必学】DeepSeek API 快速入门:获取 API Key 与调用 API 步骤详解

DeepSeek API 快速入门:获取 API Key 与调用 API 步骤详解 一、获取 API Key二、调用 DeepSeek API方法 1:使用 OpenAI Python SDK 调用 DeepSeek API方法 2:使用 requests 库直接发送 HTTP 请求方法 3:使用 curl 命令 相关链接 一…...

Web前端之UniApp、Taro、ReactNative和Flutter的区别

MENU 前言介绍及公司技术差异使用方法使用场景差异注意事项打包与部署差异框架应用实例结语 前言 在移动应用开发领域,跨平台框架已成为开发者的得力工具。UniApp、Taro、ReactNative和Flutter它们在Android(安卓)或iOS(苹果&…...

[leetcode]map的用法

1. 定义和初始化 定义&#xff1a;std::map是一个关联容器&#xff0c;键值对会自动根据键的值进行排序&#xff08;默认是升序&#xff09;。 cpp复制 map<char, int> mp; 插入元素&#xff1a;可以通过operator[]或insert方法插入键值对。 cpp复制 mp[a] 1; mp[b] 3…...

PHP大马的使用

BestShell/best_php_shell.php at master Kevil-hui/BestShell 这里用到的是这位师傅的大马&#xff08;主要是从头开始写一个大马实在太麻烦了&#xff09; 用pikachu靶场进行上传的测试 在这里传马&#xff0c;这个是简单的前端校验&#xff0c;bp抓包改后缀就好了 上传成…...

【CC2530 教程 十】CC2530 Z-Stack 协议栈

一、Z-Stack 协议栈目录结构&#xff1a; Z-Stack 协议栈可以从 TI 官网免费下载&#xff0c;下载安装完成以后&#xff0c;会默认在 C 盘的根目录下创建 Texas Instruments 目录&#xff0c;该目录下的子目录就是安装的 Z-Stack 文件&#xff0c;并且在该子目录下创建Accessor…...

区间端点(java)(贪心问题————区间问题)

deepseek给了一种超级简单的做法 我是真的想不到 贪心的思路是 局部最优——>全局最优 这种我是真的没有想到&#xff0c;这样的好处就是后面便利的时候可以通过foreach循环直接便利qu的子元素也就是对应的某一个区间, 将一个二维数组变成一维数组&#xff0c;每一个一维…...

定长内存池原理及实现

目录 一、池化技术 二、内存池 三、内存池主要解决的问题 四、定长内存池的实现 1.定长内存池的原理 2.框架 3.Delete实现 4.New实现 5.性能测试 五、源码 FixedMemoryPool.h test.cc 一、池化技术 所谓“池化技术”&#xff0c;就是程序先向系统申请过量的资源&…...

通过php连接redis数据库

如上图所示&#xff0c;这是去搭建一个lamp平台&#xff0c; 阿帕奇和php安装好之后&#xff0c;php直接就被安装成阿帕奇的一个功能模块。 如上图所示&#xff0c;这就是php作为阿帕奇的功能模块。 如上图所示&#xff0c;我们去正常启动redis数据库。 如上图所示&#xff0c…...

3D点云的深度学习网络分类(按照作用分类)

1. 3D目标检测&#xff08;Object Detection&#xff09; 用于在点云中识别和定位目标&#xff0c;输出3D边界框&#xff08;Bounding Box&#xff09;。 &#x1f539; 方法类别&#xff1a; 单阶段&#xff08;Single-stage&#xff09;&#xff1a;直接预测3D目标位置&am…...

论文解读:《Word embedding factor based multi-head attention》——基于词嵌入因子的多头注意力

原文链接&#xff1a;Word embedding factor based multi-head attention | Artificial Intelligence Review 多头注意力机制线性地将查询、键和值投影到不同的子空间中&#xff0c;允许模型从不同的角度理解输入序列&#xff0c;并利用输入句子序列中有关令牌之间关系的信息。…...

单片机和微控制器知识汇总——《器件手册--单片机、数字信号处理器和可编程逻辑器件》

目录 四、单片机和微控制器 4.1 单片机(MCU/MPU/SOC) 一、定义 二、主要特点 三、工作原理 四、主要类型 五、应用领域 六、选型与设计注意事项 七、发展趋势 4.2 数字信号处理器(DSP/DSC) ​编辑​编辑 一、定义 二、工作原理 三、结构特点 四、应用领域 五、选型与设计注…...

LeetCode hot 100 每日一题(15)——48.旋转图像

这是一道难度为中等的题目&#xff0c;让我们来看看题目描述&#xff1a; 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 提示…...

Java多线程精讲:线程操作与状态转换全解析

前言 本章内容为作者结合学习与实践的总结整理&#xff0c;虽力求准确&#xff0c;但疏漏之处在所难免。若有任何疑问或建议&#xff0c;恳请读者朋友们不吝指正&#xff0c;共同完善知识体系&#xff0c;感激不尽&#xff01; 一、认识多线程&#xff08;Thread&#…...

HashMap的位操作是什么?HashSet 的 contains 方法复杂度是多少?红黑树简单讲一下?

一、HashMap 的位操作设计 HashMap 使用位运算优化哈希计算与索引定位&#xff0c;核心场景如下&#xff1a; 哈希扰动函数 计算键的哈希值时&#xff0c;将高16位与低16位异或&#xff1a; static final int hash(Object key) {int h;return (key null) ? 0 : (h key.hash…...

GitHub开源的容器管理面板-Dpanel

dpanel Docker安装部署二进制部署 GitHub官网 一块轻量化docker可视化管理面板&#xff0c;由国人开发&#xff0c;个人觉得是比较好用的&#xff0c;功能都很齐全&#xff0c;并且可以通过修改源码&#xff0c;自定义前端样式等。 Docker安装部署 官网 部署环境&#xff1…...

vue-将组件内容导出为Word文档-docx

1. 安装依赖 首先&#xff0c;我们需要安装docx库&#xff0c;以便在前端生成Word文档。可以通过以下命令进行安装&#xff1a; npm install docx 2. 实现导出功能 2.1 初始化文档 使用docx库创建一个新的文档实例&#xff0c;并定义文档的结构和内容。我们使用Document、…...

IMX6ULL学习篇——系统学习设备树

IMX6ULL学习篇——系统学习设备树 ​ 这篇博客的目的是系统的整理一下设备树当中的一些非常基本的概念。基于之前的学习&#xff0c;我们已经至少掌握了字符设备的基本的框架&#xff0c;编写一个最简单的字符设备简单的流程。 ​ 但是我们知道&#xff0c;一个外设很有可能是…...

使用vector构造杨辉三角形

力扣118题&#xff1a; 给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2: 输入: numRows 1…...

亮数据爬取API爬取亚马逊电商平台实战教程

前言 在当今数据驱动的商业环境中&#xff0c;企业需要快速、精准地获取互联网上的公开数据以支持市场分析、竞品调研和用户行为研究。然而&#xff0c;传统的手动网页爬取方式面临着诸多挑战&#xff1a;IP封锁、验证码干扰、网站结构频繁变更&#xff0c;以及高昂的运维成本…...

AI+金融 应用 使用DeepSeek、Qwen等大模型输入自然语言,得到通达信等行情软件公式代码,导入后使用

AI金融 应用 使用DeepSeek、Qwen等大模型输入自然语言&#xff0c;得到通达信等行情软件公式代码&#xff0c;导入后使用。不会编程&#xff0c;也能行情软件中实现个性化条件选股&#xff0c;个性化技术指标。 AIbxm低估值趋势选股策略&#xff0c;参考提示词&#xff1a; 编…...

SmolVLM2: 让视频理解能力触手可及

一句话总结: SmolVLM 现已具备更强的视觉理解能力&#x1f4fa; SmolVLM2 标志着视频理解技术的根本性转变——从依赖海量计算资源的巨型模型&#xff0c;转向可在任何设备运行的轻量级模型。我们的目标很简单: 让视频理解技术从手机到服务器都能轻松部署。 我们同步发布三种规…...

去中心化金融

什么是去中心化金融 去中心化金融&#xff08;Decentralized Finance&#xff0c;简称 DeFi&#xff09;是一种基于区块链技术构建的金融系统&#xff0c;旨在通过去除传统金融机构&#xff08;如银行、证券公司等&#xff09;作为中介&#xff0c;提供各种金融服务。这些服务…...

Mysql并发事务带来哪些问题?

大家好&#xff0c;我是锋哥。今天分享关于【Mysql并发事务带来哪些问题?】面试题。希望对大家有帮助&#xff1b; Mysql并发事务带来哪些问题? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 MySQL 中&#xff0c;事务并发执行时会引发一系列问题&#xff0c…...

PCL 点云多平面探测

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 Open3D为我们提供了一种点云多平面探测的算法,该算法使用基于鲁棒统计的方法进行平面补丁检测。该算法具体过程:首先将点云细分为更小的块(使用二分法),然后尝试为每个点云块匹配一个平面。如果平面通过了鲁棒平…...

OpenBMC:BmcWeb添加路由5 设置handler函数

对路由对象完成了权限和method的设置后,最重要的就是设置路由的处理函数: //http\routing\taggedrule.hpptemplate <typename... Args> class TaggedRule :public BaseRule,public RuleParameterTraits<TaggedRule<Args...>> {...template <typename F…...

攻破tensorflow,勇创最佳agent(2)---损失(loss) 准确率(accuracy)问题

实战播: 怎么判定一个模型好不好,你设置的值对不对? 需要再看几个值: 例如: model Sequential()for units in model_structure:model.add(Dense(units, activationrelu))model.add(Dropout(train_config.get(dropout_rate, 0.3)))model.add(Dense(1, activationsigmoid)) 他…...

括号合法题

一、括号合法题 2116. 判断一个括号字符串是否有效 //采用从左往右和从右往左遍历的贪心算法&#xff0c;分别保证前缀合法&#xff0c;后缀合法。public boolean canBeValid(String s, String locked) {int ns.length();if (n%21) return false;int num0;// 从左到右扫描&…...

C++11之深度理解lambda表达式

前言 在现代C中&#xff0c;Lambda表达式提供了一种简洁而强大的方式来定义匿名函数&#xff0c;使代码更具可读性和灵活性。自C11引入Lambda以来&#xff0c;它已经成为STL算法、并发编程和回调机制中的重要工具。随着C14、C17和C20的不断演进&#xff0c;Lambda的功能也在不断…...

字符串常量,数组和指针的不同形式

在 C 语言中&#xff0c;字符串 "hello" 存储在内存中是一个字符数组&#xff0c;它的内存布局通常如下&#xff1a; 1. 字符串常量区&#xff1a; 字符串常量&#xff08;如 "hello"&#xff09;是存储在程序的数据段&#xff08;通常称为 .data 或 .ro…...

全面讲解python的uiautomation包

在常规的模拟鼠标和键盘操作&#xff0c;我们一般使用pyautogui&#xff0c;uiautomation模块不仅能直接支持这些操作&#xff0c;还能通过控件定位方式直接定位到目标控件的位置&#xff0c;而不需要自己去获取对应坐标位置。uiautomation模块不仅支持任意坐标位置截图&#x…...

性能测试笔记

8、JMeter扩展开发 扩展组件开发的意义 输入参数协议复杂调用逻辑功能等等 开发前的工具准备 下载jdk并安装&#xff0c;配置环境变量下载maven&#xff0c;配置环境变量修改settings.xml本地仓库&#xff0c;远程仓库的地址Eclipse新建Maven项目编辑 pom.xml Maven常用命令…...

相对位置2d矩阵和kron运算的思考

文章目录 1. 相对位置矩阵2d2. kron运算 1. 相对位置矩阵2d 在swin-transformer中&#xff0c;我们会计算每个patch之间的相对位置&#xff0c;那么我们看到有一连串的拉伸和相减&#xff0c;直接贴代码&#xff1a; import torch import torch.nn as nntorch.set_printoptio…...

从C语言开始的C++编程生活(2)

前言 本系列文章承接C语言的学习&#xff0c;需要有C语言的基础才能学会哦~ 第2篇主要讲的是有关于C的缺省参数和函数重载。 C才起步&#xff0c;都很简单呢&#xff01; 目录 前言 缺省参数 基本语法 缺省参数的作用 函数重载 基本语法 重载的作用 缺省参数 缺省参数…...

【设计模式】深入解析装饰器模式(Decorator Pattern)

深入解析装饰器模式&#xff08;Decorator Pattern&#xff09; 一、装饰器模式的核心概念 装饰器模式是一种结构型设计模式&#xff0c;用于动态地给对象添加新功能&#xff0c;而不改变其原始代码。 1. 为什么需要装饰器&#xff1f; 避免继承带来的类爆炸问题&#xff1…...

K8S集群新增和删除Node节点(K8s Cluster Adds and Removes Node Nodes)

实战&#xff1a;在已有K8S集群如何新增和删除Node节点 在Kubernetes (K8S) 集群中&#xff0c;Node节点是集群中的工作节点&#xff0c;它们运行着容器的实际实例。管理K8S集群中的Node节点&#xff0c;包括新增和删除节点&#xff0c;是一个常见且重要的操作&#xff0c;可以…...

2503C++,C++标准的执行

最优雅的应该是c26刚刚引入的std::execution,通过sender/receiver模型和常用的异步算法来简化调用异步逻辑,还可随时改成协程. #include <stdexec/execution.hpp> #include <exec/static_thread_pool.hpp> int main() {exec::static_thread_pool pool(3);auto sch…...

nodejs中实现一个自定义的require方法

1.前言 大家对nodejs中的require方法应该不会陌生,这个方法可以用来导入nodejs的内置模块,自定义模块,第三方模块等,使用频率非常高,那么这个方法内部是如何实现的呢?本篇文章就是从头到尾拆分实现流程,最终实现一个自定义的require方法的 2.前置操作 导入所需的nodejs内置…...

vscode/cursor中python运行路径设置 模块导入问题

vscode/cursor中python运行路径设置 ## 文件路径设置 问题描述 pycharm的项目用cursor运行&#xff0c;出现目录找不到 后来利用 os.getcwd()&#xff0c;经过打印调试发现是IDE的本身配置问题 pycharm中&#xff0c;os.getcwd()默认打开当前脚本所在目录 vscode/cursor中…...

Spring学习笔记05——Spring Boot的文件结构2(POJO类)

在Spring Boot项目中&#xff0c;将Entity、DTO、VO放在POJO子模块中是一种常见的分层设计&#xff0c;它们各自承担不同的职责&#xff0c;通过一个通俗的例子来解释它们的作用&#xff1a; POJO&#xff08;Plain Old Java Object&#xff09;是指普通的、简单的Java对象&am…...

html和css 实现元素顺时针旋转效果(椭圆形旋转轨迹)

一 实现效果 二 实现代码 我自己是用react写的。 1. react 代码如下&#xff1a; import React from "react"; import styles from "./index.less";export default () > {return <div className{styles.containers}><div className{styles.c…...

C# 的Lambda表达式‌常见用法和示例

C# 的 ‌Lambda 表达式‌是一种强大的语法糖&#xff0c;能够极大简化代码并增强灵活性。以下是它的主要功能和应用场景&#xff0c;结合具体示例说明&#xff1a; 1. ‌简化委托实例化‌ Lambda 可以快速定义委托&#xff08;如 Func、Action&#xff09;&#xff0c;无需显式…...

2024年数维杯数学建模C题天然气水合物资源量评价解题全过程论文及程序

2024年数维杯数学建模 C题 天然气水合物资源量评价 原题再现&#xff1a; 天然气水合物&#xff08;Natural Gas Hydrate/Gas Hydrate&#xff09;即可燃冰&#xff0c;是天然气与水在高压低温条件下形成的类冰状结晶物质&#xff0c;因其外观像冰&#xff0c;遇火即燃&#…...

Qt中10倍提升动态截屏及渲染60帧/秒

Qt中10倍提升动态截屏及渲染60帧/秒 理解模态窗口和非模态窗口 在C中&#xff0c;窗口的**模态&#xff08;Modal&#xff09;和非模态&#xff08;Modeless&#xff09;**显示是两种不同的对话框或窗口行为模式&#xff0c;主要区别体现在用户交互和程序流程控制上。以下是它…...

OpenCV 基础全方位剖析:夯实计算机视觉开发根基

在计算机视觉的广袤领域中&#xff0c;OpenCV 是一座极为关键的里程碑。无论是在前沿的学术研究&#xff0c;还是在蓬勃发展的工业界&#xff0c;OpenCV 凭借其强大的功能与高效的性能&#xff0c;为开发者提供了丰富的图像处理和计算机视觉算法&#xff0c;助力无数项目落地。…...

Java试题

试题&#xff1a; 解析 1-5&#xff1a; 5&#xff1a; 6&#xff1a; 7&#xff1a; 8&#xff1a; 9&#xff1a; 10&#xff1a; 11: 12: 13:...

基于 arco 的 React 和 Vue 设计系统

arco 是字节跳动出品的企业级设计系统&#xff0c;支持React 和 Vue。 安装模板工具 npm i -g arco-cli创建项目目录 cd someDir arco init hello-arco-pro? 请选择你希望使用的技术栈React❯ Vue? 请选择一个分类业务组件组件库Lerna Menorepo 项目❯ Arco Pro 项目看到以…...