几何编码:启用矢量模式地理空间机器学习
在 ML 模型中使用点、线和多边形,将它们编码为捕捉其空间属性的向量。
自地理信息系统 (GIS) 诞生之初,“栅格模式”和“矢量模式”之间就存在着显著的区别。在栅格模式下,数据以值的形式呈现在规则的网格上。这包括任何形式的图像,或任何其他在规则采样位置已知的量。例如,海拔数据、地表温度、土地覆盖类别,以及其他数百万种数据。
在矢量模式下,二维空间中的对象表示为几何图形——点、线和多边形。几何图形由一组坐标对定义:一个坐标对定义一个点,一串坐标定义一条线,一个坐标的闭环定义一个多边形(对于“孔”的编码有特定的约定)。几何图形的常见格式是 Well-Known Text (WKT) 格式,或其等效的二进制表示 WKB。WKT 字符串如下所示。
- 点(10 20)
- 线串(5 5,12 8,17 22)
- 多边形((10 10,20 10,15 20,10 10))
栅格和矢量模式在地理空间分析中都很常用。它们各有优势,某些类型的数据可以自然地以其中一种格式表示。例如,任何来自卫星或机载传感器的图像都是栅格。另一方面,大量的地理空间数据可以矢量格式获取。例如,任何可以从 OpenStreetMap 下载的数据——道路、河流、建筑物、行政边界等等——都以 WKT 格式提供。
地理空间机器学习
目前,人们对将机器学习 (ML) 和人工智能 (AI) 方法应用于地理空间问题有着浓厚的兴趣。如果回顾 GeoML 和 GeoAI 的当前研究,可能会发现人们重点关注本质上属于栅格模式的技术。这并不出人意料,因为过去二十年,机器学习和人工智能领域的许多里程碑式进展都与图像处理有关。最初为通用图像分类和对象识别而开发的技术在地球观测数据处理中找到了自然的应用。
人们也清楚地认识到矢量模式数据在地理空间分析中的价值。但这一领域的进展或许被一个简单的事实所阻碍:大多数标准机器学习工具并非设计用于提取矢量模式数据。例如,我们无法将 WKT 字符串输入到聚类算法或神经网络中。
此外,许多机器学习技术背后的概念本身并不完全兼容地理空间数据。例如,聚类可以识别多维空间中彼此接近的点组。聚类之所以有效,是因为向量空间中点的距离度量很容易定义。那么,如何定义线性特征的聚类呢?或者定义不同形式的特征聚类——点、线和多边形?有一些简单的解决方案,例如使用线和多边形的质心,这本质上使其成为一个点聚类问题。但是,质心的选择有些随意,无法捕捉方向、长度、面积以及几何体之间无数的成对空间关系(例如重叠和包含)。
空间表征学习 (SRL) [5] 的目标正是克服这个问题:创建可用于机器学习模型的几何形状表征。通常,SRL 包含两个步骤。
- 编码:将几何体以其原生格式(例如 WKT)提取出来,并生成一个能够以某种方式捕捉其属性的向量。这通常由定义明确的算法过程完成。例如,对区域上的形状进行光栅化会得到一个矩阵,该矩阵可以展平为向量,并作为该形状的近似表示。
- 嵌入:应用学习过程——通常使用自监督神经网络 (NN)——将编码向量映射到一个能够捕捉其本质特征的空间中。这些学习到的表征随后可用作进一步机器学习/人工智能处理的输入。
目前已经提出了许多编码和嵌入方法 [4]。然而,仍有大量工作要做,尤其是在开发表示不同空间数据格式的统一方法方面——这部分指的是不同的几何类型:点、线和多边形。
多点邻近编码
在最近的一系列博客文章 [1, 2, 3] 中,我提出了一些关于一种名为多点邻近 (MPP) 编码的特定 SRL 方法的想法。MPP 采用了一种名为 GPS2Vec [6] 的编码方法,该方法旨在创建一个用于编码点位置的全球系统。它是基于核的编码器类别的一个特例,如 [4] 中所述。本质上,要对区域内的任何几何图形(即您正在使用的坐标系内的矩形区域)进行编码,首先要布置覆盖该区域的参考点网格。例如,如果我们对 10km x 10km 的区域感兴趣,我们可以定义间隔 1km 的参考点,形成一个 10x10 的网格。
然后,对于区域内的任意点、线或多边形,计算其到每个参考点的距离。对于点,距离的定义很明确。对于线和多边形,我们可以遵循通常的做法,使用到几何图形上或几何图形内任意点的最小距离。多边形内部或线上的参考点的距离为零。
然后对这些距离应用核函数。一个不错的选择是负指数函数:e = exp(- d / s ),其中s是缩放因子。核值的扁平化表示可作为该对象的编码。下图演示了这一概念,使用了一个 400x300 的区域,参考点间距为 100,缩放因子也为 100。
点、线和多边形的多点邻近 (MPP) 编码。
这为我们提供了三种不同类型的几何图形的一致编码(即大小和形状均相同)。重要的是,对于下面描述的示例,这也适用于多部分几何图形:多点 (MultiPoint)、多线串 (MultiLineString) 和多多边形 (MultiPolygon)。
多部分几何体的 MPP 编码。
左图显示了包含两个元素的 MultiPoint 对象的单一编码——不要与两个 Point 对象的单独编码混淆。另外两张图也是如此。
这通过为感兴趣区域内的任何几何体生成一个一致的表示,解决了部分空间学习 (SRL) 问题。我之前关于这个主题的笔记表明,MPP 编码能够很好地捕捉形状的几何属性 [1],具有连续性和某些类型的不变性等理想属性 [2],并且能够编码关于成对空间关系的信息 [3]。简而言之,它们是一种很有前途的转换矢量模式对象以用于机器学习模型的方法。
应用:估算地震频率
了解如何将此概念应用于实际的地理空间问题将大有裨益。我将介绍一个简单的模型,该模型基于附近的地质特征,预测特定区域内地震发生的概率。需要说明的是:我并非地质学家,而且还有更复杂、更精确的地震频率估算方法。本文仅旨在说明编码在地理空间分析中的应用。
我将使用美国西部内华达州的数据来构建模型。内华达州包括内华达山脉的一部分,该山脉地壳构造活跃,地震频发。
一些现成的数据源让我们能够构建模型。
美国地质调查局的矿产资源网站提供美国各州的地质数据。这些数据包括构成不同地质单元的岩性(岩石类型)信息,以及断层等地质构造的信息。以下是数据示例。
可从美国地质调查局矿产资源网站获取地质数据。
彩色多边形是单独的地质单元,根据其岩性类型进行编码。图中的线性特征大多是断层线——已知地壳各部分相互发生相对运动的位置,与地震活动密切相关。所有这些数据都可以下载为矢量格式的文件:断层为 LineStrings 或 MultiLineStrings,地质单元为 Polygons。
对于真实数据,我们将使用Kaggle 网站提供的1990 年至 2023 年全球所有已知地震的数据集。该数据集共包含 340 万条记录,其中 18.4 万条发生在内华达州。我进一步选择了震级超过 2.0 级的地震,因此该数据集涵盖了 34 年间发生的 10,575 次地震。
使用投影坐标比经纬度坐标更方便。所有地理空间数据均使用以内华达州为中心的横轴墨卡托投影重新映射。这确保所有地质断层线、地质单元和地震位置均以米为单位在 X/Y 直角坐标系中表示。
准备训练/验证数据
我们可以使用该包读取地质数据fiona
。我将数据下载为名为 的 ESRI Shapefile 文件NV_geol_poly.shp
,因此这段代码可以正常工作。
import fiona
fname = "NV_geol_poly.shp"
with fiona.open(fname) as source:features = [fiona.model.to_dict(f) for f in source]schema = source.schema
print('read %d feature records' % len(features))---
read 30763 feature records
现在,30K 条记录位于名为 的列表中features
。每条记录都遵循我们从文件中读取的架构。
import json
print(json.dumps(schema, indent=4))
---
{"properties": {"STATE": "str:2","ORIG_LABEL": "str:12","SGMC_LABEL": "str:16","UNIT_LINK": "str:18","REF_ID": "str:6","GENERALIZE": "str:100","SRC_URL": "str:125","URL": "str:67"},"geometry": "Polygon"
}
因此,对于每个特征,我们都有一个多边形类型的几何对象,它包含所示的属性列表。在本研究中,最有用的属性是名为 的属性GENERALIZE
,它是多边形岩性的概括描述(shapefile 字段名称限制为 10 个字符)。我们将使用这些属性作为多边形的类标签。事实证明,数据集中有 15 个不同的值。
labels = sorted(set([f['properties']['GENERALIZE'] for f in features]))
labels
---
['Igneous and Metamorphic, undifferentiated','Igneous and Sedimentary, undifferentiated','Igneous, intrusive','Igneous, undifferentiated','Igneous, volcanic','Metamorphic and Sedimentary, undifferentiated','Metamorphic, carbonate','Metamorphic, sedimentary clastic','Metamorphic, undifferentiated','Metamorphic, volcanic','Sedimentary, carbonate','Sedimentary, clastic','Sedimentary, undifferentiated','Unconsolidated, undifferentiated','Water']
我们希望在模型中捕捉到的直觉是“地震发生的速率至少部分与当地岩性类型的分布有关”。例如,我们可能预期火山构造较多的地方地震发生率会更高。由于火山构造共有 15 种类型,我们将生成 15 个特征,每种类型对应一个特征来描述其分布。
例如,考虑“火成岩,火山”类型。使用shapely
Python 包,我们可以像这样从文件中提取所有此类多边形。
import shapely
key_label = 'Igneous, volcanic'
polygons = []
for f in features:if f['properties']['GENERALIZE'] == key_label:geom = shapely.geometry.shape(f['geometry'])polygons.append(geom)
print('%d polygons with label "%s"' % (len(polygons), key_label))
---
9165 polygons with label "Igneous, volcanic"
为了便于后续处理,将这 9,165 个多边形全部组合成一个 MultiPolygon 对象会很有帮助。
geom = shapely.MultiPolygon(polygons)
我们将设计一个模型来预测 5 公里 x 5 公里方形图块的地震发生率。为了表征岩性类型的局部地理分布,我们将考虑图块周围 20 公里 x 20 公里区域的情况。例如,下图显示了我们想要预测的图块(蓝色)、周围 20 公里 x 20 公里区域(绿色)以及“火成岩、火山岩”类型的局部分布。
瓦片附近的火成火山岩分布。
地理空间编码正是为此而生。按照上述步骤,定义一个间隔 2000 米的参考点网格,覆盖 20 公里 x 20 公里的区域,最终得到一个 10 x 10 的网格。然后应用上述编码逻辑:(1) 计算从参考点到上图所示的多边形的最近点距离;(2) 对距离应用负指数核函数;(3) 展平核值矩阵。以上区域的操作如下所示。每条虚线代表传递给核函数的距离,该距离随后成为编码的一个元素。
对岩性类型的局部分布进行编码。
在 python 代码中,可以使用geo-encodings
实现 MPP 编码的包中的工具来完成此操作。
from geo_encodings import MPPEncoder
# The variables "region_x0" etc define the bounds of the 20km region.
# They should have been defined somewhere above.
encoder = MPPEncoder(region=[region_x0, region_y0, region_x1, region_y1], resolution=2000, scale=2000, center=True
)# Encode the MultiPloygon that we defined above.
encoding = encoder.encode(geom)
print(encoding.values())
---
[1. 0.94167394 1. 1. 1. 1.1. 1. 0.84191775 0.53939546 1. 1.0.68067923 1. 1. 1. 0.95390347 0.843081830.48433768 0.40267581 1. 0.94834591 0.74636152 1.
...(truncated)
的内容encoding.values()
是一个包含 100 个元素的向量,它描述了我们想要预测地震发生率的图块周围“火成岩、火山”地质单元的分布。因此,我们将相关的矢量模式地理空间数据转换为可以传递给机器学习模型的格式。我们也可以对该数据集中的其他 14 种岩性类型执行相同的操作。
此外,断层数据包含四种类型的线性实体——主要是不同类别的断层线。这里就不详细介绍了,但每种类型都可以用刚才描述的方式进行编码。因此,对于任何图块,我们都有 19 个编码特征:15 种岩性类型和 4 种线性结构类型,每种特征都使用 MPP 逻辑编码为一个包含 100 个元素的向量。这些就是我们将在模型中使用的预测因子。
此外,对于每个图块,我还统计了该图块内 5 公里 x 5 公里范围内发生的地震次数。这个计数就是该图块的“真实值”。总而言之,该模型将通过考虑周围 20 公里 x 20 公里区域的地球物理特性来估算 5 公里 x 5 公里区域的地震次数。
建立模型
为了建立模型,我为内华达州境内的 6000 个地块创建了编码。对于每个地块,我们通过连接所有 100 个表征当地地质特征的向量中的 19 个来定义一个“x”向量。
该模型是一个神经网络,包含两个全连接线性层,每个层的隐藏层维度为 256。模型的最后一层只有一个输出,使用 SoftPlus 激活函数来确保预测结果为正数。最后一部分是必需的,因为该模型使用泊松损失函数进行训练,NaN
如果预测结果为负数,则会产生结果。当根据地震计数(实际观测到的地震次数)预测地震发生率(每个时间段的预期地震次数)时,泊松损失是一个不错的选择。
该模型的输入层包含 1900 个元素,隐藏层包含两个 256 个元素,因此可训练参数数量为 552,705 个。这实际上并不算多,在 Apple M2 Max 上几分钟内就能训练 5000 个 epoch。我使用了其中 4000 个案例进行模型训练,并保留了 2000 个案例用于性能分析。
观察模型性能的一个好方法是使用累积增益曲线。在这些图中,我们根据预测值(从高到低)对案例进行排序,并绘制真实值相对于该排序的累积和。通常,排序和累积和都归一化到[0, 1]范围内。你得到的结果看起来和表现起来都像一条ROC曲线,曲线越高,模型越好。对于一个总结性指标,可以通过将曲线下的面积与理想排序得到的面积进行比较来计算“归一化累积增益”(NCG)。这就是我们对验证集中2000个案例进行的分析。
地震率模型验证集的累积增益曲线。
如果编码对预测地震发生率没有任何价值,蓝色曲线将接近灰色虚线,NCG 得分将在 0.5 左右。模型在按地震发生率对地点进行排序方面表现越好,蓝色曲线就越接近绿色曲线。0.8210 的 NCG 得分还算不错,这证实了我们编码的地理空间特征对此类预测具有价值。
相关文章:
几何编码:启用矢量模式地理空间机器学习
在 ML 模型中使用点、线和多边形,将它们编码为捕捉其空间属性的向量。 自地理信息系统 (GIS) 诞生之初,“栅格模式”和“矢量模式”之间就存在着显著的区别。在栅格模式下,数据以值的形式呈现在规则的网格上。这包括任何形式的图像࿰…...
什么是SPA,SPA与MAP区别
什么是SPA,SPA与MAP区别 文章目录 什么是SPA,SPA与MAP区别一、什么是SPA二、SPA和MPA的区别一、单页应用与多页应用的区别**二、SPA 的优缺点对比**三、WPA的优缺点 **三、SPA 实现关键技术**hash 模式模式history模式 四、SPA 的适用场景与原因**适用场…...
计算机前沿技术课程论文 K-means算法在图像处理的应用
K-means算法在图像处理的应用 这是本人在计算机前沿技术课程中的课程论文文章,为了方便大家参考学习,我把完整的论文word文档发到了我的资源里,有需要的可以自取。 点击完整资源链接 目录 K-means算法在图像处理的应用摘要:引言1…...
第十四届蓝桥杯 2023 C/C++组 平方差
目录 题目: 题目描述: 题目链接: 思路: 核心思路: 第一种思路: 第二种思路: 坑点: 代码: 数学找规律 O(n) 50分代码详解: O(1)满分代码详解&#x…...
【数学建模】随机森林算法详解:原理、优缺点及应用
随机森林算法详解:原理、优缺点及应用 文章目录 随机森林算法详解:原理、优缺点及应用引言随机森林的基本原理随机森林算法步骤随机森林的优点随机森林的缺点随机森林的应用场景Python实现示例超参数调优结论参考文献 引言 随机森林是机器学习领域中一种…...
计算机组成与体系结构:存储器(Memory)
目录 📁 当你打开一个文件,计算机会做什么? ⚡ 越大的 memory,访问速度越快吗? 🧠 那么,我们是怎么设计存储器的呢? Primary Memory(主存)登场ÿ…...
MyBatis框架—xml映射
目录 一.为什么需要进行手动映射? 二.关联查询 1.使用resultMap进行映射 2.使用Connection进行映射 一.为什么需要进行手动映射? 当我们设计多表查询或关联查询时,表中含有相同的字段名或要进行关联查询时,MyBatis无法智能识别如何处理映射结果&…...
Vue接口平台学习十——接口用例页面2
效果图及简单说明 左边选择用例,右侧就显示该用例的详细信息。 使用el-collapse折叠组件,将请求到的用例详情数据展示到页面中。 所有数据内容,绑定到caseData中 // 页面绑定的用例编辑数据 const caseData reactive({title: "",…...
Visual Studio 2022 运行一个后台程序而不显示控制台窗口
在 Visual Studio 2022 中,希望运行一个后台程序而不显示控制台窗口(黑色命令框),可以通过以下方法实现: 修改项目输出类型为 Windows 应用程序 右键项目 → 选择 属性 (Properties)在 配置属性 → 链接器 → 系统 (…...
剑指Offer(数据结构与算法面试题精讲)C++版——day17
剑指Offer(数据结构与算法面试题精讲)C版——day17 题目一:节点值之和最大的路径题目二:展平二叉搜索树题目三:二叉搜索树的下一个节点附录:源码gitee仓库 题目一:节点值之和最大的路径 题目&am…...
opencv函数展示4
一、形态学操作函数 1.基本形态学操作 (1)cv2.getStructuringElement() (2)cv2.erode() (3)cv2.dilate() 2.高级形态学操作 (1)cv2.morphologyEx() 二、直方图处理函数 1.直方图…...
10天学会嵌入式技术之51单片机-day-3
第九章 独立按键 按键的作用相当于一个开关,按下时接通(或断开),松开后断开(或接通)。实物图、原理图、封装 9.2 需求描述 通过 SW1、SW2、SW3、SW4 四个独立按键分别控制 LED1、LED2、LED3、LED4 的亮…...
DeepSeek智能时空数据分析(二):3秒对话式搞定“等时圈”绘制
序言:时空数据分析很有用,但是GIS/时空数据库技术门槛太高 时空数据分析在优化业务运营中至关重要,然而,三大挑战仍制约其发展:技术门槛高,需融合GIS理论、SQL开发与时空数据库等多领域知识;空…...
第 7 篇:总结与展望 - 时间序列学习的下一步
第 7 篇:总结与展望 - 时间序列学习的下一步 (图片来源: Guillaume Hankenne on Pexels) 恭喜你!如果你一路跟随这个系列走到了这里,那么你已经成功地完成了时间序列分析的入门之旅。我们从零开始,一起探索了时间数据的基本概念、…...
计算机视觉中的正则化:从理论到实践的全面解析
🌟 计算机视觉中的正则化:从理论到实践的全面解析🌟 大家好!今天要和大家分享的是在计算机视觉(CV)领域中非常重要的一个概念——正则化(Regularization)。无论你是刚开始接触深度学…...
解决使用hc595驱动LED数码管亮度低的问题
不知道大家在做项目的时候有没有遇到使用hc595驱动LED数码管亮度低的问题(数码管位数较多),如果大佬们有好的方法的可以评论区留言 当时我们解决是换成了天微的驱动芯片,现在还在寻找新的解决办法(主要软件不花钱&…...
Allegro23.1新功能之4K显示器页面显示不全如何解决操作指导
Allegro23.1新功能之4K显示器页面显示不全如何解决操作指导 Allegro升级到了23.1的时候,可能会出现界面显示不全的情况,如下图 是因为4K高清显示器的原因导致的 如何解决,具体操作如下 我的电脑,右键选择属性 点击高级系统设置 …...
C++——STL——容器deque(简单介绍),适配器——stack,queue,priority_queue
目录 1.deque(简单介绍) 1.1 deque介绍: 1.2 deque迭代器底层 1.2.1 那么比如说用迭代器实现元素的遍历,是如何实现的呢? 1.2.2 头插 1.2.3 尾插 1.2.4 实现 编辑 1.2.5 总结 2.stack 2.1 函数介绍 2.2 模…...
网络原理——UDP
1、 与TCP的关键区别 特性UDPTCP连接方式无连接面向连接可靠性不可靠可靠数据顺序不保证顺序保证顺序传输速度更快相对较慢头部开销8字节20-60字节流量控制无有拥塞控制无有适用场景实时应用、广播/多播可靠性要求高的应用 2、UDP 报文结构 报文结构大致可以分为首部和载荷&a…...
下载pycharm遇到的问题及解决方法
下载和安装 PyCharm 时可能会遇到一些具体问题,以下是一些常见问题及其解决方法: 常见问题及解决方法 下载速度慢或下载中断 解决方法: 检查你的互联网连接,并重启路由器。尝试使用不同的网络连接(如使用移动热点&…...
微硕WSP4407A MOS管在智能晾衣架中的应用与市场分析
微硕WSP4407A MOS管在智能晾衣架中的应用与市场分析 一、引言 智能晾衣架作为一种现代化的家居设备,其核心部件之一是驱动电路,而MOS管作为驱动电路中的关键元件,其性能直接影响到智能晾衣架的运行效率和稳定性。微硕半导体推出的WSP4407A …...
Java 性能优化:如何利用 APM 工具提升系统性能?
Java 性能优化:如何利用 APM 工具提升系统性能? 在当今竞争激烈的软件开发领域,系统性能至关重要。随着应用规模的扩大和用户需求的增加,性能问题逐渐凸显,这不仅影响用户体验,还可能导致业务损失。而 APM…...
FPGA 中 XSA、BIT 和 DCP 文件的区别
在 FPGA(现场可编程门阵列)开发中,XSA、BIT 和 DCP 文件是常见的文件类型,它们在功能、用途、文件内容等方面存在明显区别,以下是详细介绍: 1. XSA 文件 定义与功能 XSA(Xilinx Shell Archiv…...
【c语言】指针进阶
目录 1.字符指针 2.指针数组 3.数组指针 3.1 数组指针的定义 3.2 数组指针的使用 4.数组参数,指针参数 4.1 一维数组传参 4.2 二维数组传参 4.3 一级指针传参 4.4 二级指针传参 5.函数指针 6.函数指针数组 6.1函数指针数组的定义 6.2 函数指针数组…...
使用FastAPI与OpenAI构建多模态分析API服务
引言 随着多模态AI模型的普及(如Qwen-Omni-Turbo),开发者可以轻松构建支持图像、音频、视频分析的API服务。本文将通过一个FastAPI示例,展示如何通过Base64编码传输媒体文件,并结合OpenAI API实现异步分析。这一方案适…...
集成学习实际案例
一、算法竞赛经典:Kaggle & 国际赛事 1. 泰坦尼克号生存预测(Random Forest) 场景:Kaggle 入门级经典赛题,基于乘客信息预测生存概率。方案: 基模型:决策树(CART)&…...
Linux421用户、组
参考...
树模型与集成学习(决策树核心算法:ID3/C4.5/CART、随机森林、GBDT/XGBoost)
树模型与集成学习 一、决策树 决策树核心算法:ID3/C4.5/CART ID3算法(基于信息增益) 核心原理 ID3(Iterative Dichotomiser 3)是最早的决策树算法之一,由Ross Quinlan于1975年提出。其核心思想是通过信…...
Netdata 监控多台服务器
一、多服务器监控方案选择 1. Netdata Cloud(官方推荐,免费) 特点:无需自建中心节点,通过 Netdata 官方云平台集中查看所有服务器。步骤: 在每台服务器上安装 Netdata(参考上一指南࿰…...
CTF web入门之SQL注入使用工具sqlmap
详细说明:https://blog.csdn.net/qq_41701460/article/details/146391515 web201: 查看数据库 获取不到数据库信息 https://9556eca3-d69a-40f4-b2a4-c89c2d2f8f12.challenge.ctf.show/api/?id1题目有提到 使用–user-agent 指定agent,因为对于 sqlm…...
spark–sql项目实验
数据读取与格式转换 读取JSON数据:使用Spark提供的读取接口(如 spark.read.json() ,在不同编程语言接口下使用方式类似)将给定的JSON格式数据读入Spark中,形成 DataFrame 。 格式转换:按照题目要求&…...
gnome中删除application中失效的图标
什么是Application 这一块的东西应该叫application,准确来说应该是applications。 正文 系统级:/usr/share/applications 用户级:~/.local/share/applications ying192 ~/.l/s/applications> ls | grep xampp xampp.desktoprm ~/.local…...
华为设备命令部分精简分类汇总示例
华为网络设备的命令体系庞大且复杂,不同设备系列(如交换机、路由器、防火墙)和不同操作系统版本(如VRP5、VRP8)的命令可能存在差异。以下是一个 精简分类汇总,涵盖常用配置场景和命令示例: 一、…...
Java 自动装箱与拆箱:基本数据类型与包装类的转换
在Java编程中,自动装箱(Autoboxing)和自动拆箱(Unboxing)是两个重要的概念。它们使得基本数据类型与其对应的包装类之间的转换更加方便,同时也提高了代码的可读性和可维护性。 什么是自动装箱和拆箱&#…...
论文阅读HARIVO: Harnessing Text-to-Image Models for Video Generation
h-space对比损失(DC)的设计细节 目标:确保视频的所有帧在语义上保持一致(例如,同一视频中的不同帧应描述相同的主体和场景,避免物体突变或语义漂移)。 1. h-space的定义 h-space 是U-Net最深…...
OpenCV基础函数学习4
【大纲笔记见附件pdf】 目录 一、基于OpenCV的形态学操作 二、基于OpenCV的直方图处理 三、基于OpenCV霍夫变换 四、基于OpenCV模板匹配 一、基于OpenCV的形态学操作 二、基于OpenCV的直方图处理 三、基于OpenCV霍夫变换 四、基于OpenCV模板匹配...
大数据系列 | 详解基于Zookeeper或ClickHouse Keeper的ClickHouse集群部署--完结
大数据系列 | 详解基于Zookeeper或ClickHouse Keeper的ClickHouse集群部署 1. ClickHouse与MySQL的区别2. 在群集的所有机器上安装ClickHouse服务端2.1. 在线安装clickhouse2.2. 离线安装clickhouse 3. ClickHouse Keeper/Zookeeper集群安装4. 在配置文件中设置集群配置5. 在每…...
【leetcode题解】算法练习
目录 分治-快排算法 颜色分类 移动零 排序数组 数组中的第K个最大元素 最小K个数 分治-归并排序 排序数组 交易逆序对的总数(困难) 计算右侧小于当前元素的个数(困难) 翻转对(困难) 字符串 最…...
大模型要被特定行业所用,从难到易有四种方式:重新训练或从头构建模型、微调模型、动态提示(如 RAG 技术)、简单提示工程
大模型在特定行业应用的四种方式详解 根据提供的信息,大模型要被特定行业所用,从难到易有四种方式:重新训练或从头构建模型、微调模型、动态提示(如 RAG 技术)、简单提示工程。以下是每种方式的详细解析及实际案例说明…...
[Python] 入门核心笔记
目录 一、Python简介重点 二、编程语言基础重点 三、Python安装重点 四、第一个Python程序重点 五、Python解释器重点 六、Python开发环境重点 一、Python简介重点 起源:1989年Gudio van Rossum开发,1991年诞生,名字源于电视剧《Monty Python…...
TensorFlow中使用Keras
目录 前言创建模型配置layers训练和评估配置模型训练评估和预测 前言 keras集成在tf.keras中。 创建模型 创建一个简单的模型,使用tf.keras.sequential。 model tf.keras.Sequential() # 创建一层有64个神经元的网络: model.add(layers.Dense(64, activationrelu)) # 添加…...
【Flask】Explore-Flask:早期 Flask 生态的实用指南
开源项目:explore-flask/README.rst at master rpicard/explore-flask (github.com) 一、Coding conventions Summary Try to follow the coding style conventions laid out in PEP 8. Try to document your app with docstrings as defined in PEP 257. def…...
Canvas入门教程!!【前端】
目录 canvas是什么?使用场景:canvas使用:引入:获取2D的上下文:坐标轴: 绘制:beginPath() :moveTo() :lineTo():stroke():fillRect() :strokeStyle 属性&#…...
通过规范化模型自训练增强医学图像分割中的无监督域自适应|文献速递-深度学习医疗AI最新文献
Title 题目 Enhancing source-free domain adaptation in Medical Image Segmentationvia regulated model self-training 通过规范化模型自训练增强医学图像分割中的无监督域自适应 01 文献速递介绍 深度卷积神经网络对训练数据分布(源域)和测试数…...
Linux常见指令介绍中(入门级)
1. man 在Linux中,man命令是用于查看命令手册页的工具,它可以帮助用户了解各种命令、函数、系统调用等的详细使用方法和相关信息。 用法:在终端中输入man加上要查询的命令或工具名称,例如man ls,就会显示ls命令的手册…...
一文详解卷积神经网络中的卷积层和池化层原理 !!
文章目录 前言 一、卷积核大小(Kernel Size) 1. 卷积核大小的作用 2. 常见的卷积核大小 3. 选择卷积核大小的原则 二、步长(Stride) 1. Stride的作用 三、填充(Padding) 1. 填充的作用 四、通道数ÿ…...
神经网络直接逆控制:神经网络与控制的结合入门级结合
目录 1. 前言 2. 什么是直接逆控制? 2.1 直接逆控制的优点 2.2 直接逆控制的局限性 3. 直接逆控制的实现步骤 3.1 数据准备 3.2 神经网络设计 3.3 训练神经网络 3.4 控制实现 4. 使用 PyTorch 实现直接逆控制 4.1 问题描述 4.2 数据生成 4.3 神经网络设…...
使用tabs组件搭建UI框架
本节任务 使用tabs组件搭建ui框架 包含页签:首页、动态、发布,会员购、我的。 涉及内容: Tabs、TabContent组件Builder装饰器属性模型封装,包括:接口、枚举、常量 界面原型 1 Tabs布局 在MainPage(如果…...
jmeter跟踪重定向和自动重定向有什么区别?
在 JMeter 中,跟踪重定向和自动重定向有以下区别: 概念 跟踪重定向:指的是 JMeter 会按照服务器返回的重定向信息,继续发送请求到重定向的目标地址,并记录下整个重定向的过程,包括重定向的地址、响应信息…...
unity3d实现物体闪烁
unity3d实现物体闪烁,代码如下: using UnityEngine;public class Test : MonoBehaviour {//创建一个常量,用来接收时间的变化值private float shake;//通过控制物体的MeshRenderer组件的开关来实现物体闪烁的效果private MeshRenderer BoxColliderClick…...