基于斜坡单元的机器学习模型预测滑坡易发性,考虑条件因素的异质性

news2025/2/21 10:27:34

1、引用

Chang Z, Catani F, Huang F, et al. Landslide susceptibility prediction using slope unit-based machine learning models considering the heterogeneity of conditioning factors[J]. Journal of Rock Mechanics and Geotechnical Engineering, 2023, 15(5): 1127-1143.

LSPLandslide Susceptibility Mapping(滑坡易发性制图)

LSILandslide Susceptibility Index(滑坡易发性指数)

STDStandard Deviation(标准差)

2、 要点

  1. 通过多尺度分割(MSS)方法提取的斜坡单元适用于滑坡易发性预测(LSP);
  2. 利用均值、极差和标准差来反映条件因素的异质性
  3. 变体斜坡机器学习模型比普通斜坡机器学习模型具有更高的滑坡易发性预测精度;
  4. 基于斜坡单元的机器学习模型比基于网格单元的机器学习模型具有更强的工程实用性。

3、评价单元选取

栅格单元和斜坡单元是两种常用的制图单位。

栅格单元是最常见的评价单元,因为不同地理区域的LSP数学建模和计算很简单。

然而,栅格单元与滑坡相关的地貌信息之间没有直接的物理关系。由于潜在的滑坡边界难以准确确定,基于栅格单元的LSP结果在实际应用中可能会产生一些弱点。

大规模提高斜坡单元提取的自动化和效率是一项具有挑战性的任务。

一种图像分割方法,即多尺度分割(MSS)实现了斜率单位的自动提取。

4、模型

多层感知机(MLP)和随机森林(RF)

Grid-RF和Grid-MLP     Slope-RF和Slope-MLP     变体Slope-RF和变体Slope-MLP

5、多尺度分割法(MSS)——黄发明

Huang F, Tao S, Chang Z, et al. Efficient and automatic extraction of slope units based on multi-scale segmentation method for landslide assessments[J]. Landslides, 2021, 18: 3715-3731.

MSS方法是黄发明提出的一种自动提取斜坡单元的新方法。该方法使用自下而上的区域合并分割算法来实现图像对象之间的最小均匀性和图像对象内部的最大均匀性。

MSS方法的基本原理是将具有相同特征(形状、颜色、纹理)的像素组合成一个图像对象,以实现斜坡单元划分。

选择合适的输入图像并确定合理的分割参数组合对分割结果起着重要作用。对于前者,分割结果取决于输入数据的质量和特征,例如空间分辨率、图像量化和场景特征(Hölbling et al., 2015)。根据斜坡单元的定义,选择区域坡向和阴影地貌图作为输入图层,然后组合成多波段影像。对于滑坡,将传统的试错法与滑坡的形态和尺度信息相结合,可以确定包括规模、形状和密实度参数在内的参数组合。有关使用 MSS 方法提取坡度单位的更多详细信息,请参见 Huang et al. (2021)。

6、斜坡单元内条件因子的异质性

通常,斜坡单元内的条件因子信息由平均值表示。这可能会导致所使用的多变量模型出现一些错误和过度简化,因为无法充分考虑斜坡单元内条件因素的异质性。

针对这一缺点,根据 Catani et al. (2013) 的研究结果,可以通过诉诸每个条件因子的均值、范围和标准差 (STD) 值的描述性统计变量来表征条件因子的内部变化,以获得更合理和丰富的基于斜坡单元的条件因子。

斜坡单元内条件因子的异质性表示条件因子信息在斜坡单元尺度上的可变性和差异性。本研究发现,一些地形和水文条件因子(如高程、坡度、剖面曲率等)在不同位置表现出较高的可变性,而岩性和坡向等条件因子在斜坡单元上通常变化很小。对于基于栅格单元的条件因子,每个栅格单元对于每个条件因子都有一定的值,并且不同位置的栅格单元之间存在一些异质性。但是,对于基于斜坡单元的条件因子,每个斜坡单元中可能存在数百个具有不同条件因子值的格网单元。因此,在某个斜坡单元内,这些网格单元之间存在显著的异质性。

目前,基于 slope units 的条件因子的值通常通过 ArcGIS 10.2 软件中的分区统计功能由每个坡度单位内所有格网单位值的平均值和/或众数值分配。因此,条件因子的异质性没有得到充分考虑,导致条件因子的信息丢失。因此,为了丰富局部尺度信息并拟合基于坡度单元的条件因子的异质性,将基于坡度单元的条件因子的范围值和 STD 值的描述性统计变量视为 LSP 模型的输入变量。

范围变量定义为每个坡度单位内每个基于格网单位的条件因子的最大值和最小值之间的差值,可以反映每个坡度单位中条件因子的变化。

同时,STD 变量可以反映每个坡度单位中基于格网单元的条件因子值的离散程度。

获得范围和 STD 变量的过程如图 2 所示 。在这个过程中,对于某个坡度单元中的不完全网格单元,如果坡度单元包含不完整网格单元的中心点,则以该坡度单元考虑条件因子数据(图 2 中的绿点)。否则,不考虑它(图 2 中的红点)。

Zonal Statistical Function in ArcGIS:ArcGIS 中的分区统计函数

7、滑坡清单、提取斜坡单元、条件因子 

根据野外调查和滑坡清查结果,研究区 1970 年至 2003 年共发生 235 次滑坡(图 4)。这些滑坡可视为浅层滑坡,具有中小尺度和群体发生的特点。滑坡体主要由第四纪冲积层组成,破坏模式主要为平移和旋转滑动(Hungr et al., 2013)。滑坡面积主要在 4.2 × 103 m2 和 3.2 × 104 m2 之间变化,平均面积约为 7.6 × 103 m2。滑坡的厚度在 2.8 m 到 8 m 之间。位于北部地区的衡水镇和界坝镇滑坡数量最多,而位于东部地区的龙沟镇滑坡数量最少。此外,浅层滑坡主要由强降雨引发。

本研究从网格分辨率为 8.9 m 的数字高程模型中提取区域坡向和阴影地貌图(图 5),然后作为 MSS 方法的输入数据。 当使用改进的试错法将比例、形状和紧凑度参数分别设置为 20、0.8 和 0.8 时,可以获得最合适的分割结果。有关确定这些适当参数的更多详细信息,请参见 Huang et al. (2021)。崇义县有 53,055 个斜坡单元。此外,为了评估 MSS 方法的提取性能,以案例 1、案例 2 和案例 3 三个案例作为研究案例,分别代表丘陵、过渡带和高山(图 5)。从图 6 中可以看出,无论在高山还是丘陵地区,MSS 方法都具有出色的提取性能,可以准确识别丘陵之间的差异,从而完美地实现坡度单元的提取。

条件因子可以反映边坡的自然环境条件并影响边坡稳定性,可分为地形、地质、水文、土地覆盖和人类活动因子(Reichenbach et al., 2018)。共有 15 个基于坡度单位的条件因素,包括高程、坡度、坡向、平面曲率、剖面曲率、地势幅度、斜坡单元形态、岩性、土壤厚度、地形湿度指数、到河流的距离、排水密度、归一化差值植被指数 (NDVI)、归一化差值建筑指数 (NDBI) 和道路密度(Catani et al., 2013;Sur等 人,2020 年;Tang et al., 2020)。

【斜坡单元形态】用形状指数值紧密度参数两个指标来定量描述。形状指数定义为周长的平方与面积的比率。越平坦或越有条纹,形状索引值越大。形状索引值大于 28 表示坡度单位的长宽比约为 5:1。 图 8a 显示形状指数范围为 13.98 至 254.94。紧密度参数定义为坡度单位的最小封闭矩形面积与其包含的像素数的比率。紧密度值越大,坡度单位越不规则。 图 8b 显示紧密度值从 1.08 到 2.2 不等。

【土壤厚度】决定了崇义县浅层滑坡的滑坡表面、大小和体积。在区域尺度绘制土壤厚度的方法包括基于物理的、经验统计、插值和机器学习方法。其中,Kriging 等插值方法已广泛应用于不同景观中,用于基于采样点数据的土层厚度估算。对 235 例滑坡的土厚度进行了调查,并记录为样本数据。200 个样本用于估计土壤厚度,35 个样本用于验证估计性能。此外,均值误差和均方根误差被应用于评估估计性能和效率。因此,以坡度为单位,该研究区域的土壤厚度范围为 2.84 m 至 7.9 m

 通常,基于坡度单位的条件因子分为连续类别和离散类别。对于基于连续坡度单位的条件因子,当考虑基于坡度单位的条件因子的内部变化时,使用坡度单元内基于网格单位的条件因子值计算每个坡度单元的平均值、范围和 STD 值(图 2)。因此,对于每个基于连续斜率单位的条件因子,有三个变量可用于 LSP。每个坡度单位中网格单元的平均值计算为基于坡度的常规条件因子(Slope-RF和Slope-MLP),而每个坡度单元中网格单元的范围和 STD 值作为基于可变坡度单元的条件因子计算。所有这些基于变值率单位的条件因子都用作基于变值的 RF/MLP 模型的输入变量(variant Slope-based RF/MLP)。

 对于一些基于坡度单元的离散条件因子,如岩性、坡向、距路面和到河流的距离,不可能采用每个基于坡度单元的制条件因子的范围和 STD 值。

每个离散条件因子的众数值用作相应的基于坡度的条件因子的值。从上述分析中,原来的 15 个基于坡度单位的条件因子被扩展为总共 38 个扩展的基于坡度单位的条件因子,用于 LSP 建模。

8、基于斜坡单元的调节因子对滑坡的影响

使用自然断点法将基于坡度单位的条件因子分为八类(Huang et al., 2020)(岩性按地层构型划分,坡向分为九类),并分别计算均值、范围、标准差的FR。

分析38个基于扩展斜坡单元的条件因子之间的相关性,以避免这些变量之间多重共线性的影响。文献表明,当相关系数的绝对值小于 0.3 时,这两个变量被认为可以忽略不计(Mukaka,2012 年)。共有22个基于扩展坡度单位的条件因子,相关性可以忽略不计(相关系数的绝对值小于0.3),包括高程(平均值和范围变量)、坡度(平均值、范围和STD变量)、剖面曲率(平均值变量)、平面曲率(平均值、范围和STD变量)、 地形湿度指数(平均变量)、NDBI(平均变量)、NDVI(平均变量)、道路密度(平均和范围变量)、排水密度(平均和范围变量)、土壤厚度(平均变量)、形状指数(平均变量)、紧凑度(平均变量)、坡向、岩性和到河流的距离。因此,这 22 个基于扩展斜率单位的条件因子用作输入变量,以使用变体 Slope-RF 和 Slope-MLP 模型实现 LSP。

本研究中,共有 744 个发生过滑坡的滑坡单元被标记为 1,相同数量的非滑坡单元(从无滑坡区域随机采样)被标记为 0。然后,将包含基于斜率单位的条件因子和标注数据的数据集随机分化为训练数据集和测试数据集,比例为 70%/30%。

在 LSP 建模过程中,选择 15 个基于斜率单位的条件因子作为输入变量来构建传统的斜率机器学习模型,并使用 22 个基于扩展斜率单元的条件因子作为输入变量来构建变体斜率机器学习模型。训练样本(滑坡和非滑坡样本)的每个条件因子的 FR 值用作构建 RF 和 MLP 模型的基本输入数据。

9、结果

使用自然断点法将LSI分为五类,这是一种根据数值统计分布的分类方法,通过最大化不同类之间的差异。

此外,与 Grid-RF 和 Grid-MLP 模型的 LSM 相比,可以发现基于斜率单元的 LSM 比基于网格单元的 LSM 具有更强的实际应用。例如,Slope 机器学习模型可以准确识别并在实践中轻松识别并发现具有非常高敏感性等级的滑坡的位置和范围。此外,使用斜坡机器学习模型也可以避免网格机器学习模型中具有非常高滑坡敏感性等级的孤立网格单元引起的误差。

10、LSP的验证

ROC曲线的AUC值

LSP 模型的接收器工作特性曲线如图 11 所示 。变体 Slope-RF、Slope-RF、Grid-RF、变体 Slope-MLP、Slope-MLP 和 Grid-MLP 模型的 AUC 值分别为 0.875、0.827、0.896、0.843、0.805 和 0.826。可以得出结论,变体 Slope-RF 和变体 Slope-MLP 模型的预测性能优于 Slope-RF 和 Slope-MLP 模型。Grid-RF 模型具有比 Grid-MLP 模型更好的预测性能。同时,揭示了 RF 模型比 MLP 模型具有更好的预测性能。

FR精度验证

 MLP 模型的FR值从极高易发性等级到极低易发性等级逐渐降低。然而,RF 模型的FR呈现出极高易发性等级的FR显著高于其他四个易发性等级的特点。此外,变异坡度 - RF(variant Slope - RF)、坡度 - RF(Slope - RF)、网格 - RF(Grid - RF)、变异坡度 - MLP(variant Slope - MLP)、坡度 - MLP(Slope - MLP)和网格 - MLP(Grid - MLP)的FR精度分别为 0.958、0.948、0.974、0.762、0.751 和 0.77。因此,变异坡度机器学习模型的滑坡易发性预测(LSP)准确率似乎优于坡度机器学习模型,这表明考虑坡度单元内条件因素内部变化的滑坡易发性预测更符合实际观测。还可以发现,基于坡度单元的滑坡易发性预测准确率与基于网格单元的相近。此外,对比结果还显示,根据所采用的标准,RF 模型的预测性能优于 MLP 模型。

 10、讨论

 RF和MLP模型的LSP性能比较

通过AUC值和FR精度的验证结果表明,RF模型的LSP性能比MLP模型好得多。

LSI值的频率分布

下图显示了变体 Slope-RF、Slope-RF、变体 Slope-MLP 和 Slope-MLP 模型的 LSI 分布及其相应的平均值和 STD 值。平均值反映了 LSI 的集中化趋势,STD 值反映了 LSI 的分散程度。

可以看出,基于斜率的 RF 和 MLP 模型的 LSI 分布模式符合近似对数正态分布(图 12 中的红线)。RF 和 MLP 模型计算的 LSI 主要属于低和极低滑坡易发性类别,分散程度较低。此外,平均值和 STD 值表明,变体 Slope-RF 和变体 Slope-MLP 模型比 Slope-RF 和 Slope-MLP 模型具有更好的 LSP 性能。例如,在 RF 模型的结果中,变体 slope-RF 模型和 Slope-RF 模型的平均值接近;但是,变体 Slope-RF 模型的 STD 值大于 Slope-RF 模型的 STD 值。

新滑坡的验证分析

在 2009 年至 2019 年期间,我们在现场调查了 19 起新的滑坡。然后,选择由变体 Slope-RF、Slope-RF、变体 Slope-MLP 和 Slope-MLP 模型生成的 LSM,与这些新的滑坡进行比较。

具有非常高和高滑坡易感性水平的新滑坡占所有新滑坡的比例定义为预测精度。变体 Slope-RF、Slope-RF、变体 Slope-MLP 和 Slope-MLP 模型的预测精度分别为 0.895、0.798、0.895 和 0.798。结果表明,在变体 Slope-RF/MLP 模型中,在滑坡易发性等级非常高的斜坡单元中发生的新滑坡比 Slope-RF/MLP 模型多。因此,可以得出结论,变体 Slope-RF 模型的 LSP 结果具有更高的适用性和准确性,可用于支持滑坡防治的决策过程。

variant slope,slope and grid-machine learning models的LSP结果比较

 Grid-RF 模型的 AUC 值略高于 Slope-RF 模型。因为在使用网格单位时,用于构建 LSP 模型的标注滑坡样本比使用坡度单位的样本多。比较基于网格和斜率的机器学习模型的 LSP 结果,可以发现,在基于网格的机器学习模型中,一些敏感性水平较低和非常低的区域通常具有几乎孤立的网格单元,具有非常高的敏感性水平;但是,在基于 Slope 的机器学习模型中可以避免这种现象。因此,仅使用 AUC 值比较 LSP 结果是不完整且不确定的。

通过对 LSP 结果的综合对比分析,可以发现,与网格单元相比,斜率单元更适合作为 LSP 的映射单元。主要原因是斜率机器学习模型的 LSM 可用于在斜坡或流域尺度上准确确定具有非常高的磁化率等级的确定位置和边界,而网格机器学习模型的 LSM 表现出离散和区分差的特征。另一个原因是,通过将数百万个网格单元转换为数万个坡度单元,减少了 Slope 机器学习模型的计算负担(Camilo et al., 2017)。此外,坡度单元可以有效地表达滑坡与区域形态要素之间的物理关系,与网格单元相比,可以保证条件因子信息完整性的准确表达(Wang et al., 2005)。

与 Slope 机器学习模型相比,变体 Slope 机器学习模型在 LSP 方面具有更多优势。事实上,一个坡度单元可能包含数十个或数百个网格单元;因此,当仅使用每个基于格网单位的条件因子的平均值作为基于坡度单位的条件因子的值时,它是有偏差且不完整的。同时,基于坡度单元的条件因子的非均质性特征不能通过网格单元的平均值来综合考虑。此外,在变体 Slope-machine learning 模型中,范围和 STD 值可以有效反映每个基于斜率单位的条件因子的异质性。在这种情况下,可以表征基于斜率单元的条件因子的更多异质性特征,以获得更真实、更准确的 LSP 结果。

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

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

相关文章

面向对象程序设计-实验七

6-1 计算捐款总量 这里需要设计一个捐款人类Donator及一个相关函数getMaxName( )&#xff0c;Donator类中包含捐款人的姓名及其捐款额 代码清单&#xff1a; #include <iostream> using namespace std; class Donator { private: string name; float money; //单位&…

Java面试宝典:说下Spring Bean的生命周期?

Java面试宝典专栏范围&#xff1a;JAVA基础&#xff0c;面向对象编程&#xff08;OOP&#xff09;&#xff0c;异常处理&#xff0c;集合框架&#xff0c;Java I/O&#xff0c;多线程编程&#xff0c;设计模式&#xff0c;网络编程&#xff0c;框架和工具等全方位面试题详解 每…

early bird inject

基本原理 本质是利用windows系统的apc机制&#xff0c;以及涉及到windows进程启动的流程. 因为线程初始化阶段LdrInitializeThunk函数会调用NtTestAlert函数,这个函数执行后,所有apc队列中的例程都会执行.因此我们在主线程初始化之前向主线程的apc队列中加入恶意代码即可实现…

uvm错误记录4

如下所示&#xff0c;奇怪的是penable莫名其妙的出X。可问题&#xff0c;我发送激励了。 仔细定位发现&#xff0c;39行用的是vif中的penable, 问题是都是赋值&#xff0c;却出现同时赋值多次&#xff0c;这是因为nonblocking和blocking同时触发导致的&#xff0c;因此&#xf…

3dtiles——Cesium ion for Autodesk Revit Add-In插件

一、说明&#xff1a; Cesium已经支持3dtiles的模型格式转换&#xff1b; 可以从Cesium官方Aesset中上传gltf等格式文件转换为3dtiles&#xff1b; 也可以下载插件&#xff08;例如revit-cesium插件&#xff09;转换并自动上传到Cesium官方Aseet中。 Revit转3dtiles插件使用…

QT 异步编程之多线程

一、概述 1、在进行桌面应用程序开发的时候&#xff0c;假设应用程序在某些情况下需要处理比较复制的逻辑&#xff0c;如果只有一个线程去处理&#xff0c;就会导致窗口卡顿&#xff0c;无法处理用户的相关操作。这种情况下就需要使用多线程&#xff0c;其中一个线程处理窗口事…

Proxmox 更新软件包数据库(TASK ERROR: command ‘apt-get update‘ failed: exit code 100)

1、连接自己报错的物理机Shell&#xff0c;编辑文件 vi /etc/apt/sources.list.d/pve-enterprise.list 2、注释文件的第一行在开头加上# 按I进入编辑模式后 开头添加# 然后shift&#xff1a; 输入wq或者wq&#xff01;进行保存 3、注释后执行两个命令apt-get update 和 apt…

JVM——垃圾回收算法

目录 垃圾回收算法 评价标准&#xff1a; 标记-清除算法&#xff1a; 复制算法&#xff1a; 标记-整理算法&#xff1a; 分代GC&#xff1a; arthas查看分代之后的内存情况&#xff1a; 垃圾回收算法 java是如何实现垃圾回收的呢&#xff1f;简单来说&#xff0c;垃圾回…

服务器安全——日志分析和扫描

如何通过访问日志查询被攻击 扫描攻击 攻击日志 GET /index?sindex/%5Cthink%5CModule/Action/Param/$%7Bphpinfo()%7D HTTP/1.1", host: "主机", referrer: "主机sindex/\think\Module/Action/Param/${phpinfo()}" 攻击日志文件 .error.log sql注…

ubuntu 22.04 安装vsftpd服务

先决条件&#xff0c;确保你已经配置好了存储库。 安装vsftpd 为了方便实验&#xff0c;我已经切换到了root用户。 rootlocal:~# apt-get install vsftpd修改配置 配置文件在 /etc/vsftpd.conf rootlocal:~# grep -vE ^#|^$ /etc/vsftpd.conf listenNO listen_ipv6YES anonymou…

STM32F407通过FSMC扩展外部SRAM和NAND FLASH

1 扩展外部SRAM 1.1 地址情况 FSMC控制器的存储区分为4个区(Bank)&#xff0c;每个区256MB。其中&#xff0c;Bank1可以用于连接SRAM、NOR FLASH、PSRAM&#xff0c;还可以连接TFT LCD。Bank1的地址范围是0x60000000&#xff5e;0x6FFFFFFF。Bank1又分为4个子区&#xff0c;每…

AndroidStudio查看Sqlite和SharedPreference

1.查看Sqlite 使用App Inspection&#xff0c;这是个好东西 打开方式&#xff1a;View → Tool Windows → App Inspection 界面如图&#xff1a; App inspection不但可以看Sqlite还可以抓包network和background task连抓包工具都省了。 非常好使 2.查看sharedPreference 使…

Elasticsearch:15 年来致力于索引一切,找到重要内容

作者&#xff1a;来自 Elastic Shay Banon 及 Philipp Krenn Elasticsearch 刚刚 15 岁了&#xff01;回顾过去 15 年的索引和搜索&#xff0c;并展望未来 15 年的相关内容。 Elasticsearch 刚刚成立 15 周年。一切始于 2010 年 2 月的一篇公告博客文章&#xff08;带有标志性的…

信呼OA办公系统sql注入漏洞分析

漏洞描述 信呼OA办公系统uploadAction存在SQL注入漏洞&#xff0c;攻击者可利用该漏洞获取数据库敏感信息。 环境搭建 源码下载地址&#xff1a;https://github.com/rainrocka/xinhu 下载后解压到本地网站根目录下&#xff0c;配置好数据库&#xff0c;然后安装即可 默认密…

机器学习算法 - 随机森林之决策树初探(1)

随机森林是基于集体智慧的一个机器学习算法&#xff0c;也是目前最好的机器学习算法之一。 随机森林实际是一堆决策树的组合&#xff08;正如其名&#xff0c;树多了就是森林了&#xff09;。在用于分类一个新变量时&#xff0c;相关的检测数据提交给构建好的每个分类树。每个…

原生Three.js 和 Cesium.js 案例 。 智慧城市 数字孪生常用功能列表

对于大多数的开发者来言&#xff0c;看了很多文档可能遇见不到什么有用的&#xff0c;就算有用从文档上看&#xff0c;把代码复制到自己的本地大多数也是不能用的&#xff0c;非常浪费时间和学习成本&#xff0c; 尤其是three.js &#xff0c; cesium.js 这种难度较高&#xff…

在 PyCharm 中接入deepseek的API的各种方法

在 PyCharm 中接入 DeepSeek 的 API&#xff0c;通常需要以下步骤&#xff1a; 1. 获取 DeepSeek API 密钥 首先&#xff0c;确保你已经在 DeepSeek 平台上注册并获取了 API 密钥&#xff08;API Key&#xff09;。如果没有&#xff0c;请访问 DeepSeek 的官方网站注册并申请 …

【2025新】基于springboot的问卷调查小程序设计与实现

目录 一、整体目录&#xff08;示范&#xff09;&#xff1a; 文档含项目技术介绍、E-R图、数据字典、项目功能介绍与截图等 二、运行截图 三、代码部分&#xff08;示范&#xff09;&#xff1a; 四、数据库表(示范)&#xff1a; 数据库表有注释&#xff0c;可以导出数据…

数据结构——Makefile、算法、排序(2025.2.13)

目录 一、Makefile 1.功能 2.基本语法和相关操作 &#xff08;1&#xff09;创建Makefile文件 &#xff08;2&#xff09;编译规则 &#xff08;3&#xff09;编译 &#xff08;4&#xff09;变量 ①系统变量 ②自定义变量 二、 算法 1.定义 2.算法的设计 &#xff…

什么是Docker多架构容器镜像

什么是Docker多架构容器镜像 在 Docker 中&#xff0c;同一个 Docker 镜像可以在不同的平台上运行&#xff0c;例如在 x86、ARM、PowerPC 等不同的 CPU 架构上。 为了支持这种多平台的镜像构建和管理&#xff0c;Docker 在 17.06 版本时引入了 Manifest 的概念&#xff0c;在…