多模态分析代理 MAIA:多智能体解决 视觉模型 黑盒问题
多模态分析代理 MAIA:多智能体解决 视觉模型 黑盒问题
论文:https://arxiv.org/pdf/2404.14394
代码:https://github.com/multimodal-interpretability/maia
提出背景
神经网络方法提取的特征,没有可解释性。
数据在通过多个层处理时会逐渐转化为高度抽象的表示,被嵌入到高维空间。
我们无法直接 “看到” 或 理解 这些特征代表什么,只知道它们在数学上有效地帮助网络达到高精度。
从高维空间提取的特征,最后压缩成一行给你。
就像一个非常复杂的乐高模型,你想弄清楚每一个小块是如何影响整个模型的。
以前,我们可能需要手动检查每个部件,试图理解它们是如何工作的。
现在,我们有一个特殊的放大镜 MAIA(退下,我来!),它不仅可以帮我们看得更清楚,还可以自动提出问题并试图解答这些问题,比如哪个部件最重要,或者在哪些情况下模型可能出错。
然后自己设计实验来探索它想要了解的内容。
例如,如果我们问它某个特定的“视觉单元”在观察 森林背景 时是如何反应的,它会设计一个实验,改变图片的背景,然后观察这个单元的反应变化。
MAIA(多模态自动解释性代理)通过以下方式尝试提升模型特征的可解释性:
-
特征可视化:MAIA利用可视化工具将那些抽象的特征转换为更易理解的形式。例如,通过特征激活映射(feature activation mapping),MAIA可以标示出在做出决策时模型在输入图像上重点关注的区域。
-
自然语言描述:通过将高维特征与自然语言描述相结合,MAIA能够为这些通常难以解释的特征提供文字上的解释。例如,如果一个神经元主要对包含“狗”图像的某些特征反应,MAIA可以通过自然语言生成技术描述这一行为。
-
模块化实验设计:MAIA的另一个关键功能是其能够设计并执行针对特定模型行为的实验。通过这种方式,它可以探索和验证模型行为背后的因果关系,而不仅仅是表面的关联。
-
迭代实验与假设测试:MAIA可以创建并测试假设,看看改变输入数据的哪些方面(如图像中的颜色、形状等)会影响模型的输出。这有助于揭示模型依赖的特定特征。
尽管MAIA和类似的工具能在一定程度上提高深度学习模型的可解释性,它们通常不能完全解决所有的可解释性问题,特别是在模型极度复杂或特征极度抽象的情况下。
此外,MAIA的有效性很大程度上依赖于其设计和实施的具体方法,以及它能够访问的数据和工具的质量。
因此,尽管MAIA是朝着提高深度学习模型可解释性迈出的一大步,但完全理解复杂模型的工作仍在进行中,并且可能需要更多的创新和技术进步。
MAIA 流程
MAIA 是一个自动执行实验的智能系统,旨在解释其他系统的行为。
它通过编写 Python 程序,结合解释性子程序,来自动化实验过程。
这种方法的灵感来源于使用大模型完成一次性视觉推理任务,并调用外部工具。
MAIA 基于一个预训练的多模态模型构建,能够直接处理图像。这使得 MAIA 不仅能执行视觉结果的迭代实验,还能处理数值结果。
MAIA 利用其 API 设计和运行解释性实验。
API 包括两个类:系统类和工具类。
- 系统类会配置一个特定的视觉模型(如ResNet-152)和模型内的一个单元(如第4层的122号单元)。
使得系统的子组件可以单独调用,例如,可以初始化一个神经元对象并测试其对不同图像输入的激活值。
- 工具类包含一系列函数,使 MAIA 能够编写模块化程序来测试系统行为的假设。
├── MAIA框架【自动化实验以解释系统行为】
│ ├── 输入【初始化MAIA及其目标】
│ │ ├── 预训练的多模态模型【处理图像和执行任务】
│ │ └── 解释性查询【如分析特定神经元的行为】
│ ├── API组件【MAIA使用的工具和类】
│ │ ├── 系统类【操作被解释系统的工具】
│ │ │ ├── 初始化组件【如单个神经元】
│ │ │ └── 实验执行【测试神经元对图像的反应】
│ │ └── 工具类【支持实验的功能工具】
│ │ ├── 图像生成工具【如text2image生成图像】
│ │ └── 图像编辑工具【编辑图像以测试假设】
│ ├── 实验设计【通过编程自动化实验】
│ │ ├── 设计实验【根据用户提示编写Python程序】
│ │ └── 运行实验【使用Python解释器执行程序】
│ ├── 数据分析【分析实验结果并形成解释】
│ │ ├── 数据记录【记录实验的每一步】
│ │ └── 结果解释【描述和总结实验发现】
│ └── 输出结果【提供解释和见解】
│ ├── 实验日志【记录详细实验过程和结果】
│ └── 行为解释【用自然语言解释神经元行为】
解释每个组件和步骤
-
输入:MAIA开始于一个预训练的多模态模型,这使得它能够直接处理图像。用户通过一个解释性查询来指定MAIA的任务,比如询问某个特定神经元在看到森林背景时的行为。
-
API组件:
- 系统类:使MAIA能够访问和操作神经网络的特定部分。例如,可以初始化一个特定层和编号的神经元,并在给定的图像集上测试其反应。
- 工具类:提供实验所需的工具,如生成特定场景的图像或根据实验需求编辑图像。
-
实验设计:MAIA使用其API的组件来编写可以执行实验的Python程序,这些程序自动运行并收集数据。
-
数据分析:实验完成后,MAIA分析收集到的数据,记录实验的每一步,并提供对神经元行为的详细解释。
-
输出结果:最后,MAIA提供一个包含所有实验过程和结果的详细日志,以及用自然语言描述的神经元行为解释。
这种结构化的方法使MAIA能够在少量人工干预的情况下自动化复杂的解释性任务,提高了解释过程的效率和可扩展性。
MAIA 目录
├── 引言【解释模型可解释性的需求】
│ ├── 理解AI模型的重要性【背景信息】
│ ├── 当前可解释性方法的挑战【识别现有方法的限制】
│ └── MAIA的角色【介绍MAIA作为解决方案】
│
├── MAIA框架【详细说明MAIA的结构和组件】
│ ├── 系统设计【描述MAIA的设计】
│ │ ├── 视觉语言模型主干【技术规格】
│ │ └── 实验工具API【技术规格】
│ ├── 可解释性工具【详细列出MAIA中的工具】
│ │ ├── 实验工具【工具列表】
│ │ └── 假设测试工具【工具列表】
│ └── 迭代实验【解释实验过程】
│
├── 评估【评估MAIA的性能】
│ ├── 描述任务【评估MAIA描述神经元行为的有效性】
│ │ ├── 真实神经元【方法和结果】
│ │ └── 合成神经元【方法和结果】
│ └── 模型级解释任务【MAIA的更广泛应用】
│ ├── 偶然特征识别【案例研究】
│ └── 偏见识别【案例研究】
│
└── 结论和未来工作【总结发现和未来方向】├── MAIA的成就【能力总结】├── 限制和挑战【讨论现有限制】└── 潜在的未来改进【预测未来的改进】
MAIA 框架
MAIA 解法思路,可以拆解为 3 个子解法的组合:
- 特征识别:利用视觉模型提取图像中的关键特征,如形状、纹理等。
- 假设测试:基于提取的特征,构建假设(如某特征与某行为相关),通过实验验证。
- 结果反馈:实验结果用于调整模型或进一步实验设计。
├── 系统设计【MAIA的核心架构和技术实现】
│ ├── 输入:多模态数据
│ │ ├── 图像数据【从各种视觉源获取的数据】
│ │ └── 文本数据【相关描述或标注信息】
│ ├── 处理过程
│ │ ├── 视觉语言模型主干
│ │ │ ├── 模型训练
│ │ │ │ ├── 数据预处理【图像和文本数据的标准化和同步处理】
│ │ │ │ └── 特征提取【使用深度学习技术提取关键视觉和语言特征】
│ │ │ ├── 模型整合
│ │ │ │ ├── 融合层设计【整合视觉和语言特征的网络层设计】
│ │ │ │ └── 权重优化【调整网络权重以优化特征融合效果】
│ │ │ └── 输出生成
│ │ │ ├── 语义理解【解析图像内容与相关文本的语义关系】
│ │ │ └── 行为预测【根据融合的数据预测神经元或模型的行为】
│ └── 输出:增强的解释性输出
│ ├── 解释性报告【详细描述模型决策的视觉和语言依据】
│ └── 可视化结果【展示模型如何理解和处理输入数据】评估部分
├── 评估MAIA的性能【整体目标:评估和验证MAIA的实用性和准确性】
│ ├── 输入数据【来自多种来源的实验和观察数据】
│ │ ├── 真实环境数据【收集自实际应用的神经网络】
│ │ └── 模拟环境数据【使用合成数据进行控制实验】
│ ├── 处理过程
│ │ ├── 描述任务【验证MAIA在描述神经元行为上的有效性】
│ │ │ ├── 真实神经元
│ │ │ │ ├── 方法:使用实际图像数据测试神经元响应
│ │ │ │ └── 结果:分析响应数据,评估描述的准确性
│ │ │ └── 合成神经元
│ │ │ ├── 方法:创建特定条件下的合成神经元进行测试
│ │ │ └── 结果:对比合成测试与预期行为,验证模型准确性
│ │ └── 模型级解释任务【评估MAIA在更广泛应用中的表现】
│ │ ├── 偶然特征识别
│ │ │ ├── 方法:分析模型如何识别并处理非关键特征
│ │ │ └── 结果:提供改进策略,减少偶然特征影响
│ │ └── 偏见识别
│ │ ├── 方法:检测模型决策过程中的潜在偏见
│ │ └── 结果:调整模型以减少偏见,提高公正性
│ └── 输出结果【综合评估报告】
│ ├── 评估报告【详细描述MAIA各方面的性能和准确性】
│ └── 改进建议【基于评估结果提出的模型和方法的改进方案】
描述任务:
- 这一部分聚焦于验证MAIA在准确描述神经元行为方面的能力。
真实神经元
- 方法:利用真实世界的图像数据集,例如ImageNet,测试MAIA对特定神经元的描述能力。通过对这些神经元的激活模式进行分析,MAIA尝试生成描述这些激活模式的文本。
- 结果:结果包括对描述准确性的量化评估,例如通过比较MAIA生成的描述与专家或已知标注的对比,评估其正确率和覆盖度。
合成神经元
- 方法:创建设计有特定行为的合成神经元,例如对特定视觉模式或场景有高度敏感的神经元。通过这些特定条件下的合成神经元进行测试,检验MAIA的解释能力。
- 结果:对比MAIA的解释与神经元设计的预期行为,以此验证MAIA描述的准确性和实验设计的有效性。
这张图描述的是合成神经元(Synthetic neuron)的实现方法,特别是在图像分割过程中的应用。合成神经元在这里是指模拟的、能够响应特定视觉概念的虚拟单元,它们被设计来检测图像中的特定特征或对象。
-
“golden gate” Synthetic Neuron: 这是一个特定的例子,指的是一个合成神经元,它被设计来识别和响应“金门大桥”(Golden Gate)的图像。
-
Text-guidance Neuron: 这类神经元使用文本引导(Text-guidance)来确定它们应该响应的视觉概念。例如,“bridge”(桥)这个文本提示可以引导神经元识别图像中的桥梁。
-
Grounded SAM: 这可能是指一个特定的图像分割模型或方法,它使用文本提示来指导分割过程,确保神经元的选择性(neuron selectivity)与文本描述的“ground-truth”(真实情况)相匹配。
-
stripes train OR instrument: 这描述了一个多义性的合成神经元,它可以响应“stripes”(条纹)或“train”(火车)或“instrument”(乐器)的概念。这种神经元能够处理逻辑上的“或”(OR)关系。
-
dog | leash: 这是一个条件性的合成神经元,它在“dog”(狗)存在的情况下,特别响应“leash”(牵引绳)的概念。这里的符号“|”可能表示逻辑上的“和”(AND)关系或条件性。
-
Segmentation of input images: 图像分割是将图像分割成多个区域或对象的过程。在这里,分割是由上述概念检测器执行的,并且使用文本提示来指导分割过程。
-
Masked images and synthetic activation values: 合成神经元返回被掩蔽(masked)的图像和合成激活值。掩蔽图像突出显示了神经元选择性响应的区域,而激活值则表示概念在图像中出现的概率。
这张图展示了如何使用文本引导的合成神经元来进行图像分割,并通过这些合成神经元来识别和评估图像中的特定视觉概念。
模型级解释任务:
- 这部分检验MAIA在处理模型级问题,尤其是识别和修正偶发特征及偏见方面的效果。
偶然特征识别:
- 方法:分析MAIA如何识别那些与目标变量偶然相关,但在统计上显著的特征。这通常涉及修改输入数据的特定方面,如背景或环境条件,以观察模型的反应是否改变。
- 结果:提供基于实验数据的分析报告,说明哪些特征被成功识别和去除,以及这些改变如何影响模型在不同分布下的表现。
偏见识别
- 方法:通过构建和运行针对性实验,检测模型输出中可能的性别、种族或其他类型的偏见。这包括对模型输出进行系统的变量修改,以测试不同输入条件下的响应差异。
- 结果:报告中将包括详细的偏见分析结果,显示MAIA在哪些情况下成功识别和减少偏见,以及这些行为改变对模型性能的具体影响。
这张图展示了MAIA(Multimodal Automated Interpretability Agent)对合成神经元的解释过程。合成神经元是设计用来识别图像中特定概念的虚拟单元。
在这个例子中,合成神经元专注于识别“balls”(球体)和“hands”(手)的概念。
-
使用数据集示例进行初步测试:
- 使用
dataset_exemplars
工具来找出在数据集中对特定神经元激活度最高的图像。 - 这些图像示例包括各种球体和手的图片,激活度非常高(例如94%,89%等)。
- 使用
-
基于初步测试的假设:
- 根据神经元的激活度和提供的图像,高激活度似乎与涉及球形物体和手的图像相关联。
-
进行图像编辑实验:
- 编写
run_experiment
函数,使用edit_images
工具来测试关于球形物体和手的假设。 - 提供了两个初始提示:“a person holding a banana”(一个人拿着香蕉)和“a person holding a cube”(一个人拿着立方体)。
- 然后,提出了编辑指令,将香蕉替换为球体,将立方体替换为红色的球体,以测试神经元对球形物体的反应。
- 编写
-
分析神经元激活并记录实验:
- 使用
system.neuron
函数分析编辑后的图像的神经元激活情况。 - 使用
describe_images
工具生成图像的描述,特别是突出显示的区域。 - 使用
log_experiment
工具记录实验结果。
- 使用
-
实验结果:
- 实验结果显示,神经元的高激活度确实与被手握住的圆形物体有关。
- 图中还提供了图像的描述,例如“Two yellow bananas with fingers and thumb touching them from the bottom”(两只黄色的香蕉,手指和拇指从底部触摸它们)和“A hand holding a red ball”(一只手拿着一个红球)。
-
最终标签:
- 根据实验结果,给出了最终的标签:“Hands interacting with spherical objects”(与球形物体互动的手)。
-
MAIA的解释过程:
- 图6展示了MAIA如何通过合成神经元进行解释,通过迭代实验和分析来确定神经元激活的原因。
这张图说明了MAIA如何通过一系列自动化的实验来解释合成神经元对图像中特定特征(如球形物体和手)的响应。
应用问题:
MAIA 在哪些具体场景下表现最好?
MAIA的设计使其在几个特定场景中表现出色,尤其是在需要高度自动化和精确解释的情况下:
- 神经元行为解释:
- MAIA能够对单个神经元在不同输入下的行为进行详细描述,尤其适用于复杂的视觉模型,如用于图像分类的卷积神经网络(CNN)。
- 偏见识别和纠正:
- 在需要识别和减少预训练模型中固有偏见的场景,如性别或种族偏见,MAIA可以有效地辨识出这些偏见并提出解决方案。
- 模型故障模式分析:
- 在商业和科研设置中,MAIA可以帮助研究人员和开发人员理解模型在特定条件下失败的原因,从而提高模型的鲁棒性。
- 高度定制化的解释需求:
- 对于需要定制化解释的应用,如法律或医疗诊断领域,MAIA能够提供符合特定要求的详尽解释,以支持关键决策。
从实际应用潜力和市场需求角度来看,面向企业级的MAIA分析仪表板 可能是最有潜力的创新点,因为它直接解决了企业中普遍存在的数据解释问题,且具有明确的经济效益。
如何提高 MAIA 的实用性和效果?
增加模型覆盖范围:
- 集成更多类型的预训练模型和专门针对不同任务(如文本分析或音频处理)的模型,以扩展MAIA的应用范围。
优化工具库:
- 持续更新和优化MAIA的工具库,包括增加新的实验工具和改进现有工具的性能,以提高实验的精确性和效率。
提高用户交互性:
- 开发更直观的用户界面,让非技术用户也能容易地设定任务和解读结果,这样可以扩大MAIA的用户基础。
加强模型训练和调整:
- 通过对MAIA使用的预训练模型进行微调,特别是针对特定领域的数据进行优化,提高模型对特定任务的适应性和准确性。
相关文章:
多模态分析代理 MAIA:多智能体解决 视觉模型 黑盒问题
多模态分析代理 MAIA:多智能体解决 视觉模型 黑盒问题 论文:https://arxiv.org/pdf/2404.14394 代码:https://github.com/multimodal-interpretability/maia 提出背景 神经网络方法提取的特征,没有可解释性。 数据在通过多个层…...
AT360-6T杭州中科微单频高精度授时模块场景应用
AT360-6T是一款高性能多系统卫星定位授时模块,基于自主研发的北斗多系统SOC芯片,可以同时接收中国的BDS(北斗二号和北斗三号)、美国的GPS、俄罗斯的GLONASS、欧盟的 GALILEO 和日本的QZSS等多个卫星导航系统的GNSS信号来实现多系统联合定位授时ÿ…...
Python酷库之旅-第三方库Pandas(081)
目录 一、用法精讲 336、pandas.Series.str.rpartition方法 336-1、语法 336-2、参数 336-3、功能 336-4、返回值 336-5、说明 336-6、用法 336-6-1、数据准备 336-6-2、代码示例 336-6-3、结果输出 337、pandas.Series.str.slice方法 337-1、语法 337-2、参数 …...
C语言基础⑩——构造类型(结构体)
一、数据类型分类 1、基本类型 整数型 短整型:short(2个字节);整型(默认):int(4个字节);长整型:long(8个字节)…...
宝兰德荣获openEuler项目群青铜捐赠人称号,共筑开源生态繁荣新篇章
近日,开放原子开源基金会正式公布了新增捐赠人名单,宝兰德凭借在开源领域的卓越贡献与深厚实力,被授予openEuler项目群青铜捐赠人称号。 开放原子开源基金会是致力于推动全球开源事业发展的非营利机构,于2020年6月在北京成立。开放…...
【Python单元测试】学习笔记3
文章目录 08.PyTest框架什么是PyTestPyTest的优点PyTest的测试环境PyTest常用参数跳过测试 09.PyTest fixture基础PyTest fixture定义和使用引用多个Fixture 10. conftest.pyconftest.py的用途 11. 参数化测试用例为什么需要参数化测试用例使用parameterizer插件实现使用pytest…...
OpenSSL源码编译及Debug
** 1. 环境 Linux 5.19.0-14-generic 22.04.1-Ubuntu 2. 所需工具 gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04) cmake version 3.22.1 3. 步骤 3.1 获取openssl源码 方法可以git clone获得源码,或者直接去GitHub上下载压缩包,GitHub网址…...
go之goburrow/modbus 学习
goburrow/modbus 是一个用Go语言实现的Modbus协议库,提供了Modbus主机(Master)和从机(Slave)的实现,支持两种主要的Modbus传输模式:Modbus TCP和Modbus RTU。 功能介绍 1. 支持的传输模式 Mod…...
开放词汇目标检测(Open-Vocabulary Object Detection, OVOD)算法是什么?
开放词汇目标检测(Open-Vocabulary Object Detection, OVOD)算法是什么? 随着计算机视觉技术的快速发展,目标检测(Object Detection)已经在各种应用场景中得到了广泛的应用。然而,传统的目标检…...
【教程】Ubuntu给pycharm添加侧边栏快捷方式
转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 以下教程不仅限于pycharm,其他软件也是一样操作 1、进入到pycharm的目录,先通过命令行打开pycharm: ./bin/pycharm…...
三个月外贸小白好迷茫,该何去何从?
最近看到一个共性的问题,也许对于大多数外贸新人来说,都有过这样的困扰和无力感,也许对于每一个没有强大背景的外贸小伙伴来说,可能都是这样一路成长起来的。 大家好,我是一名普通二本英专生,八月中旬入职…...
MySQL数据库——基本查询(Create)
CRUD:Create(创建)Retrieve(读取)Update(更新)Delete(删除) 1.Create ①单行数据全列插入 insert [into] table_name [(colume[,colume]……)] values (value_list) […...
spring-security-1-快速入门
1 功能 身份认证(authentication)授权(authorization)防御常见攻击 身份认证:常见账号密码登录,短信登录 授权:什么样的角色,能看见什么菜单,能访问哪些接口。 2 pom <dependency><groupId>org.springf…...
5 大场景上手通义灵码企业知识库 RAG
大家好,我是通义灵码,你的智能编程助手!最近我又升级啦,智能问答功能全面升级至 Qwen2,新版本在各个方面的性能和准确性都得到了显著提升。此外,行间代码补全效果也全面优化,多种编程语言生成性…...
免费远程控制电脑的软件有哪些?
什么是远程控制? 远程控制是一种通过网络从一台设备操作另一台设备的技术。连接后,用户可以直接远程操作那台电脑进行各种操作。随着科技的不断进步和用户需求的增加,远程控制市场日益蓬勃。远程控制不仅应用于远程办公和远程教学࿰…...
Linux软件包yum
目录 Linux软件包管理器 yum关于rzsz注意事项查看软件包如何安装软件卸载命令 Linux开发工具Linux编辑器-vim使用1. vim的基本概念2. vim的基本操作3. vim正常模式命令集4. vim末行模式命令集5. vim操作总结 小彩蛋 Linux软件包管理器 yum 软件包 在Linux下安装软件ÿ…...
网页的切换与嵌套
网页的切换与嵌套 网页的切换 在浏览器窗口中如果点击超链接标签会在当前的浏览器窗口中显示新的数据,但有些超链接标签点击后却会在一个新的窗口显示数据,这种情况下就无法对新的开的窗口页面进行操作了。 基于这种情况,我们就需要使用dri…...
基于飞桨框架的稀疏计算使用指南
本文作者-是 Yu 欸,华科在读博士生,定期记录并分享所学知识,博客关注者5w。本文将详细介绍如何在 PaddlePaddle 中利用稀疏计算应用稀疏 ResNet,涵盖稀疏数据格式的础知识、如何创建和操作稀疏张量,以及如何开发和训练…...
启明云端WT32C3-S6物联网模块,乐鑫ESP32-C3芯片技术应用
随着物联网技术的飞速发展,智能设备在我们生活中的应用越来越广泛。从智能电网到远程医疗,从楼宇自动化到智能家居,这些技术正在改变我们的生活方式。 在这样的背景下,启明云端推出的WT32C3-S6 WiFi模块以其低功耗、高性价比的特…...
超越流水线,企业研发规范落地新思路
作者:子丑 内容大纲: 1、研发规范≠流程约束 2、自动化工具→研发规范载体 3、研发规范在工具上的落地示例 4、研发规范的选型方法与常见实践 研发规范≠流程约束 这个故事特别适合研发规范的场景,我们要避免成为把猫绑在柱子上的信众…...
财务会计与管理会计(四)
文章目录 月度数据统计分析OFFSET函数在图表分析中的应用 多种费用组合分析图SUMPRODUCT函数 省公司全年数据分析模板INDIRECT、OFFSET函数 多公司分季度数据筛选VLOOKUP、IFERROR函数的应用 淘宝后台数据分析OFFSET函数在跨表取数中的应用 燃气消耗台账数据统计分析图SUMPRODU…...
回归分析系列1-多元线性回归
03 多元线性回归 3.1 简介 多元线性回归是简单线性回归的扩展,允许我们同时研究多个自变量对因变量的影响。多元回归模型可以表示为: 其中,x1,x2,…,xp是 p 个自变量,β0 是截距,β1,β2,…,βp是对应的回归系数&…...
web小游戏开发:拼图——蜂巢拼图
web小游戏开发:拼图——蜂巢拼图 蜂巢拼图游戏规则调整选项切图计算六边形的宽和高铺上背景画出蜂巢制作图块游戏方法打乱排列拖拽图块开始拖拽拖拽移动放置图块小结蜂巢拼图 之前我们已经完成了长方形的拼图代码,包括了三个游戏方式,并讨论了带咬合齿的游戏代码该如何制作…...
springCloud集成activiti5.22.0流程引擎(分支)
springCloud集成activiti5.22.0流程引擎 点关注不迷路,欢迎再访! 精简博客内容,尽量已行业术语来分享。 努力做到对每一位认可自己的读者负责。 帮助别人的同时更是丰富自己的良机。 文章目录 springCloud集成activiti5.22.0流程引擎一.Sprin…...
ppt模板免费网站有哪些?自动美化工具推荐
新的8月,是时候以全新面貌迎接高效办公挑战了! 想要你的PPT演示脱颖而出,却苦于找不到精美又免费的模板? 别担心,今天我来告诉你们:哪个软件有精美免费ppt模板? 今天我为你们精心汇总了6款PPT…...
java实现解析pdf格式发票
为了减少用户工作量及误操作的可能性,需要实现用户上传PDF格式的发票,系统通过解析PDF文件获取发票内容,并直接将其写入表单。以下文章记录了功能实现的代码。 发票样式 发票内容解析 引用Maven 使用pdfbox <dependency><groupI…...
数据结构初阶——算法复杂度超详解
文章目录 1. 数据结构前言1. 1 数据结构1. 2 算法 2. 算法效率2. 1 复杂度的概念 3. 时间复杂度3. 1 大O的渐进表示法3. 2 时间复杂度计算示例3. 2. 1 示例13. 2. 2 示例23. 2. 3 示例33. 2. 4 示例43. 2. 5 示例53. 2. 6 示例63. 2. 7 示例7 4. 空间复杂度4. 1 空间复杂度计算…...
ArcGIS Pro SDK (十二)布局 4 预定义的形状和箭头
ArcGIS Pro SDK (十二)布局 4 预定义的形状和箭头 文章目录 ArcGIS Pro SDK (十二)布局 4 预定义的形状和箭头1 创建预定义的形状图形元素2 创建预定义的形状图形元素3 创建预定义的形状图形元素4 创建线箭头元素环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0 1 …...
在 Ubuntu 14.04 服务器上安装 ISPConfig3 的方法
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 虽然命令行是一个强大的工具,可以让您在许多情况下快速轻松地工作,但在某些情况下,可视化界面…...
ELK学习笔记
ElasticStack分布式日志系统概述 Elasticsearch: 一个分布式搜索引擎,能够快速存储、搜索和分析大量数据。核心概念包括索引(Index)、文档(Document)和分片(Shard)。使用 RESTful API 进行数据操…...
广发证券 网站谁做的/b站推广软件
keka在创建压缩和解压时从不要求文件名。现在keka总是在拖放文件夹/文件进行压缩时要求新的文件名。这个问题是因为更新了有关文件访问的信息,那么该如何解决,恢复到以前那样? Keka文件访问权限解决办法 磁盘访问 为了能够像以前一样集成&…...
烟台做外贸网站建设/杭州seo 云优化科技
在网上找的比较好的总结,总结的很详细,转自下面的连接,只用于自己和网友的学习,不用于商业! https://blog.csdn.net/wuqingshan2010/article/details/71056292转载于:https://www.cnblogs.com/andingding-blog/p/10005…...
asp做新闻网站/网络营销专业是做什么的
1. YOLOX的改进 YOLOX 以YOLO v3作为baseline主要做了以下改进: ①. 输入端的图像增强(Mosaic、Mixup、RandomHorizontalFlip、ColorJitter、多尺度训练) ②. Backbone(Darknet53 SPP) ③. Neck (FPN PAN) ④. Head…...
怎样创建自己公司的网站/站内关键词排名优化软件
win10 ubuntu 16.04 VNC 6.18 VNC和windows之间的复制粘贴模板不共享,想要开启他们之间的复制粘贴,只需要如下命令: 安装autocutsel sudo apt install autocutsel 命令行中输入: autocutsel或者后台运行: auto…...
wordpress免备案/域名ip查询
1,首先打开idea设置 file->settings2,如图想要什么样的配置直接在设置中添加代码即可常用方案:(这里的$(USER)是个人PC的当前用户名)/*** Author ${USER}* Description TODO* Date ${DATE} ${TIME}* Version 1.0*/这是写死的形式/*** Author zl* D…...