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

【prompt一】Domain Adaptation via Prompt Learning

1.Motivation

当前的UDA方法通过对齐源和目标特征空间来学习域不变特征。这种对齐是由诸如统计差异最小化或对抗性训练等约束施加的。然而,这些约束可能导致语义特征结构的扭曲和类可辨别性的丧失。

在本文中,引入了一种新的UDA提示学习范式,即通过提示学习进行领域适应(DAPL)。使用了预训练的视觉语言模型,并且只优化了很少的参数。主要思想是将领域信息嵌入到提示中,这是一种由自然语言生成的表示形式,然后用于执行分类。该域信息仅由来自同一域的图像共享,从而根据每个域动态调整分类器。

2.Introduce

通过对齐域来减少差异可能会导致语义信息的丢失。当数据分布的流形结构很复杂时,这种损失来自于语义和领域信息的纠缠性。为了解决这个问题,最近的一些UDA方法主张保留语义信息以保持类的可判别性。然而,这些方法在领域对齐和保留语义特征之间存在微妙的权衡,因为两个目标可能是对立的。学习解纠缠的语义和领域表示可以是一种选择,因为领域对齐可以被丢弃。

为了学习解纠缠语义和领域表示,将提示学习方法引入UDA,通过学习连续标签空间中的表示。图2说明了提示设计。提示符由三部分组成:与领域无关的上下文、特定于领域的上下文和类标签(token)。每个图像通过提示符的类标签对应一个ground truth类。例如,显示“狗的艺术作品”的图像可以对应提示“绘画狗的图像”。与领域无关的上下文表示一般任务信息,并在所有图像之间共享。特定于域的上下文表示域信息,并在每个域中共享。类标签区分不同的类别。

这种提示学习方法使我们能够学习领域和类别的解纠缠表示,并避免语义信息的丢失。应用对比目标进行训练。图像和文本只有在领域和类别匹配的情况下才构成一对正例,其他情况都是反例。通过对比XS和y的表示,“sketch”和“dogs”的图像和文本表示分别在特征空间中对齐。此外,通过对比XT和y,“sketch”的文本表示被推离“photo”域。因此,领域和类别的表示分别是对齐的。采用对比语言图像预训练(contrast Language Image Pretraining, CLIP)作为主干,促进提示学习和对比学习。

3.Method

3.1. Preliminaries

采用CLIP作为主干。模型由图像编码器f(·)和文本编码器g(·)组成。图像编码器可以是ResNet或Vision Transformer (ViT),文本编码器是Transformer。图像和文本输入可以通过编码器直接从高维空间转换到低维特征空间。

CLIP以对比的方式使用图像-文本对进行训练。每个输入文本以“一张[CLASS]的照片”的格式描述一个类别([CLASS]是类别标记)。正对是一个图像xi及其对应描述xi的类别的文本ti。负对是小批量中图像xi以及具有不相关描述tj, j≠i。训练目标是最大化正对的余弦相似度,最小化负对的余弦相似度。对比学习目标将图像和文本表示在相同的特征空间中对齐。

在特征对齐后,该模型能够进行zero-shot推理。通过转发K个类别描述,一个图像x将属于相似度最大的类别\hat{y}_{i}:

其中T是用户定义的超参数(温度),<.>表示余弦相似度。

上面描述的输入文本是一个手工设计的提示符,由一系列离散的记号组成。人工设计的提示符被转换成词嵌入空间中的固定向量。由于这些向量对于类别的表示可能不是最优的,所以可以优化标记的连续嵌入。连续表示tk允许更精确地描述语义特征,这对上下文变量学习很重要。

现有的提示学习方法采用了一种领域不可知论的风格,即上下文在所有领域和所有类别之间共享。它遵循统一的风格:

式中[v]m1, m1∈{1,2,…M1}是与嵌入词具有相同维数的向量,M1是提示符中应用的上下文令牌的数量。

3.2. Domain Adaptation via Prompt Learning

由于单独的领域不可知上下文不能处理领域之间的分布转移,使用领域特定上下文(DSC)来捕获每个领域的独特特征。具体地说,提示包含两个对应的上下文,一个域不可知论上下文和一个域特定上下文。使用\left [ d \right ]_{m_{2}}^{d},m_{2}\in \left \{ 1,2,...,M_{2} \right \}来表示特定于领域的标记,这些标记与词嵌入具有相同的维度。特定于领域的上下文在所有类别之间共享,但专门为每个领域设计\left [ d \right ]_{i}^{s}\neq \left [ d \right ]_{j}^{u},i,j\in \left \{ 1,2,...,M_{2} \right \}。特定于域的token的数量用M2表示。域指示器表示源域和目标域d∈{s, u}。整个提示符定义为以下格式:

当文本特征空间中的[CLASS]token不能完全建模每个类之间的差异时,领域不可知的上下文可以遵循由类特定上下文表示的类特定样式。每个类都可以用不同的token初始化:

可训练的类特定上下文可以学习比仅[CLASS]令牌更细粒度的表示。

本文的主要结果基于类特定上下文和领域特定上下文,如Eq.(5)。

有2K个类别,因为分别为源域和目标域应用了不同的提示任务t_{k}^{s},t_{k}^{u}。给定源域的一组训练样本{xsi, ysi}Nsi=1,可以得到训练样本属于第k类的概率:

以图像xi属于k类的概率,最小化给定真标签ysi的标准交叉熵损失。损失计算如下:

为了进一步利用未标记的数据,在目标域上生成伪标签。从K个预测概率最大的类中选择,作为训练数据x^{u}的伪标签y^{u}:

仅为最大预测概率大于伪标签质量的固定阈值τ的未标记数据生成伪标签。利用CLIP的zero-shot推理能力来生成伪标签。用对比目标Eq.(6)来训练这些未标记的图像及其伪标签的目标域t_{k}^{u}提示符:

其中I{·}为指示函数。总的来说,提出的通过提示学习(DAPL)的领域适应方法可以以端到端方式进行训练,并且具有总对比损失:

现有的域自适应方法在源域上训练分类器学习一个条件概率分布P (y|xs)。通过对齐P (f(xs))和P (f(xu))的边际分布,可以直接利用条件概率在目标域上进行推理。当条件概率分布P (y|xs)≠P (y|xu)时,这些方法可能面临性能下降的风险。本文方法不对齐边缘分布,而是学习两个条件概率分布P (y|xs)和P(y|xu)通过学习两组提示符t_{k}^{s},t_{k}^{u}, k∈{1,2,…K}。因此,本文方法既可以处理条件分布偏移,也可以处理边际分布偏移。DAPL的概述如图3所示。

通过提示学习的领域适应(DAPL):(a) DAPL训练可学习的上下文变量:领域不可知的上下文变量和领域特定的上下文变量,以及由文本编码器组合和编码的[CLASS]令牌。(b)图像编码器对来自不同域的图像进行编码。(c)接下来,计算文本和图像特征之间的余弦相似度,并鼓励正对(具有匹配的域和类)对齐。在Eq.(6)中定义分类概率,并在图像特征和地面真值类之间应用交叉熵损失来训练网络。

3.3. Disentanglement by Contrastive Learning

采用对比损失L作为优化目标。在这里,提供了一个直观的解释为什么这个目标达到了预期的目标:视觉编码器和文本编码器各自将输入编码成两个分离的潜在表示,将领域信息与内在类信息分离。只有当类信息和领域信息对齐时,文本特征和图像特征之间的距离才会最小化。通过最小化这些正对之间的距离(最大化相似性),可以最大化正确标签的概率(参见Eq.(6))。

首先,假设可视化表示f(xdi)包含两部分:域d的域信息和类c的固有类信息(图4 (a), zd和zc)。

同样,语言嵌入g(tdk)包含同样的两部分:域d的域信息和类c的类信息(图4 (a), pd和pc)。

接下来,证明了通过优化对比目标可以将这些领域信息和类信息分离开来。

图4 (b)提供了一个说明性示例。在这个例子中,有四个图像-文本对,它们有两个类(猫、狗)和两个域(照片、素描)。以图像I1,提示符P1和P2为例。图像可以与提示符P1形成正对,与提示符P2形成负对。通过优化对比目标,使图像特征f(I1)与g(P1)的句子嵌入之间的距离最小(绿色),而图像特征f(I1)与g(P2)的句子嵌入之间的距离最大(红色)。声称这迫使狗的类信息从照片或素描的领域表示中解脱出来。相反,假设领域信息和类信息在表示中仍然纠缠在一起,即领域表示(p1d和p2d)中包含狗的类信息。在这种情况下,I1和P2仍然匹配,并且f(I1)和g(P2)之间的距离可以通过删除该类信息进一步最大化。换句话说,通过优化对比损失来减少领域表示中的类信息。同样,取(I1, P3)为负对,从类表示中去掉域信息,否则由于类表示中照片的域信息纠缠,f(I1)仍然匹配g(P3)。结合这两个负对,可以通过最小化对比目标,迫使领域表示和内在类信息相互分离。

4.实验

4.1 setting

实现细节。对于Office-Home,使用预训练的CLIP模型,并采用ResNet-50作为其图像编码器。在编码器中固定参数,并使用mini-batchSGD优化器训练提示符200 epoch,其中批大小设置为32。初始学习率设置为0.003,并使用余弦退火规则进行衰减。对于VisDA-2017,使用ResNet-101作为图像编码器,利用预训练的CLIP模型获得结果。图像和文本编码器的参数是固定的,使用32个批次的小批量SGD优化器训练提示符25个epoch。最初将学习率设置为0.003,并使用余弦退火规则进行衰减。对于超参数,上下文令牌M1和域特定令牌M2的长度都设置为16。令牌号的其他选择将在第4.3节中讨论。上下文向量使用标准偏差为0.02的零均值高斯分布随机初始化。Office-Home的伪标记阈值τ设置为0.6,VisDA-2017设置为0.5。关于τ值的进一步讨论见第4.3节。

4.2 实验结果

4.3 消融实验

消融:特定于领域的上下文。为了证明领域特定上下文的有效性和必要性,比较了以下提示设置在VisDA-2017数据集上的性能:

(1)手动设计提示“一张[CLASS]的照片”作为基线;

(2)统一上下文形式的领域不可知论提示(如式(3)所示);

(3)特定类别语境形式的领域不可知论提示;

(4)领域不可知论提示,其形式为与领域特定上下文统一的上下文(如式(4)所示);

(5)领域不可知提示,其形式为类特定上下文和领域特定上下文(如Eq.(5)所示)。

消融:上下文令牌长度。在表4中进行实验,探索上下文令牌长度的影响。

与领域无关和特定于领域的上下文令牌的长度分别用M1和M2表示。从结果可以看出,当M1 < M2时,性能稍低。总的来说,令牌长度对本文方法的性能影响很小。这意味着可以用少量的标记来学习连续表示。

消融:伪标签阈值。在表5中,给出了本文方法对超参数τ的灵敏度,范围从0.4到0.7。由于伪标签的质量和数量之间的权衡,本文方法似乎对τ不敏感。例如,当τ为0.7时,训练模型的伪标签更少,但置信度更高,伪标签的质量可以弥补数量减少带来的性能下降。

相关文章:

【prompt一】Domain Adaptation via Prompt Learning

1.Motivation 当前的UDA方法通过对齐源和目标特征空间来学习域不变特征。这种对齐是由诸如统计差异最小化或对抗性训练等约束施加的。然而&#xff0c;这些约束可能导致语义特征结构的扭曲和类可辨别性的丧失。 在本文中&#xff0c;引入了一种新的UDA提示学习范式&#xff0…...

视频编辑与制作,添加视频封面的软件

如今&#xff0c;视频已经成为了我们生活中不可或缺的一部分&#xff0c;无论是社交媒体上的短视频&#xff0c;还是电影、电视剧&#xff0c;视频都以其独特的魅力吸引着我们的目光。而在这背后&#xff0c;视频剪辑软件功不可没。今天&#xff0c;我就为大家揭秘一款新一代的…...

Deepin更换仿Mac主题

上一篇博客说了要写一篇deepin系统的美化教程 先看效果图&#xff1a; 准备工作&#xff1a; 1.你自己 嘻嘻嘻 2.能上网的deepin15.11电脑 首先去下载主题 本次需要系统美化3部分&#xff1a;1.图标 2.光标 3.壁纸 开始之前&#xff0c;请先把你的窗口特效打开&#xff0c;…...

【Flink-Kafka-To-ClickHouse】使用 Flink 实现 Kafka 数据写入 ClickHouse

【Flink-Kafka-To-ClickHouse】使用 Flink 实现 Kafka 数据写入 ClickHouse 1&#xff09;导入相关依赖2&#xff09;代码实现2.1.resources2.1.1.appconfig.yml2.1.2.log4j.properties2.1.3.log4j2.xml2.1.4.flink_backup_local.yml 2.2.utils2.2.1.DBConn2.2.2.CommonUtils2.…...

浅谈Redis分布式锁(下)

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 自定义Redis分布式锁的…...

Django Rest Framework框架的安装

Django Rest Framework框架的安装 Django Rest Framework框架的安装 1.DRF简介2.安装依赖3.安装使用pip安装添加rest_framework应用 1.DRF简介 Django REST Framework是Web api的工具包。它是在Django框架基础之上&#xff0c;进行了二次开发。 2.安装依赖 链接python安装 …...

深度学习(七):bert理解之输入形式

传统的预训练方法存在一些问题&#xff0c;如单向语言模型的局限性和无法处理双向上下文的限制。为了解决这些问题&#xff0c;一种新的预训练方法随即被提出&#xff0c;即BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;。通过在大规模…...

如何用Excel制作一张能在网上浏览的动态数据报表

前言 如今各类BI产品大行其道&#xff0c;“数据可视化”成为一个热门词汇。相比价格高昂的各种BI软件&#xff0c;用Excel来制作动态报表就更加经济便捷。今天小编就将为大家介绍一下如何使用葡萄城公司的纯前端表格控件——SpreadJS来实现一个Excel动态报表&#xff1a; 实…...

双向数据绑定是什么

一、什么是双向绑定 我们先从单向绑定切入单向绑定非常简单&#xff0c;就是把Model绑定到View&#xff0c;当我们用JavaScript代码更新Model时&#xff0c;View就会自动更新双向绑定就很容易联想到了&#xff0c;在单向绑定的基础上&#xff0c;用户更新了View&#xff0c;Mo…...

鱼眼标定方式

鱼眼作用 人单眼水平视角最大可达156度&#xff0c;垂直方向150度。为了增加可视范围&#xff0c;摄像头可以通过畸变参数扩大视野&#xff0c;一般100度到200度的fov。所以鱼眼是为了看的视野更大&#xff0c;注意在一定分辨率下&#xff0c;fov边缘的像素点稀疏&#xff0c;…...

详解Keras3.0 KerasNLP Models: GPT2 GPT2Tokenizer

1、GPT2Tokenizer 用于将文本数据转换为适合训练和预测的格式&#xff0c;主要功能是将输入的文本进行分词、编码等操作&#xff0c;以便在神经网络中使用 keras_nlp.models.GPT2Tokenizer(vocabulary, merges, **kwargs) 参数说明 vocabulary&#xff1a;一个字典&#x…...

2016年第五届数学建模国际赛小美赛B题直达地铁线路解题全过程文档及程序

2016年第五届数学建模国际赛小美赛 B题 直达地铁线路 原题再现&#xff1a; 在目前的大都市地铁网络中&#xff0c;在两个相距遥远的车站之间运送乘客通常需要很长时间。我们可以建议在两个长途车站之间设置直达班车&#xff0c;以节省长途乘客的时间。   第一部分&#xf…...

三秦通ETC续航改造

前些天开车时ETC每隔2分钟滴滴响一下&#xff0c;重插卡提示电池电压低 2.8V。看来应该是电池不行了。去银行更换ETC应该是需要费用的。还有一种办法是注销掉&#xff0c;然后去别的银行办一个。不过我想自己更换电池试一下。 首先拆下ETC&#xff0c;我使用的办法是开水烫。烧…...

使用Python实现发送Email电子邮件【第19篇—python发邮件】

文章目录 &#x1f47d;使用Python实现发送Email电子邮件&#x1f3b6;实现原理&#x1f3c3;Python实现发送Email电子邮件-基础版&#x1f46b;实现源码&#x1f646;源码解析 &#x1f487;Python实现发送Email电子邮件-完善版&#x1f46b;实现源码&#x1f646;源码解析&am…...

Docker基本命令和Docker怎么自己制作镜像

基本命令 启动新的容器&#xff08;指定容器名称和端口映射【主机端口&#xff1a;容器端口】) docker run --name 容器名 -p 8080:80 镜像名 启动新的容器&#xff08;交互式&#xff09; docker run -it centos7-with-jdk /bin/bash 特权方式启动容器 docker run -d --…...

Netty-2-数据编解码

解析编解码支持的原理 以编码为例&#xff0c;要将对象序列化成字节流&#xff0c;你可以使用MessageToByteEncoder或MessageToMessageEncoder类。 这两个类都继承自ChannelOutboundHandlerAdapter适配器类&#xff0c;用于进行数据的转换。 其中&#xff0c;对于MessageToMe…...

伽马校正:FPGA

参考资料&#xff1a; Tone Mapping 与 Gamma Correction - 知乎 (zhihu.com) Book_VIP: 《基于MATLAB与FPGA的图像处理教程》此书是业内第一本基于MATLAB与FPGA的图像处理教程&#xff0c;第一本真正结合理论及算法加速方案&#xff0c;在Matlab验证&#xff0c;以及在FPGA上…...

【SpringCloud笔记】(8)服务网关之GateWay

GateWay 概述简介 官网地址&#xff1a; 上一代网关Zuul 1.x&#xff1a;https://github.com/Netflix/zuul/wiki&#xff08;有兴趣可以了解一下&#xff09; gateway&#xff1a;https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/…...

Compose常用布局

Compose布局基础知识 上一节对Compose做了简单的介绍&#xff0c;本章节主要介绍Compose中常用的布局&#xff0c;其中包括三个基础布局&#xff08;Colmun、Row、Box&#xff09;&#xff1b;以及其他常用布局&#xff08;ConstraintLayout 、BoxWithConstraints、HorizontalP…...

使用keytool查看Android APK签名

文章目录 一、找到JDK位置二、使用方法2.1 打开windows命令行工具2.2 查看签名 三、如何给APK做系统签名呢? 一、找到JDK位置 安卓AS之后&#xff0c;可选择继续安装JDK&#xff0c;如本文使用amazon版本默认位置&#xff1a;C:\Users\66176.jdks\corretto-1.8.0_342可通过自…...

数据库学习日常案例20231221-oracle libray cache lock分析

1 问题概述&#xff1a; 阻塞的源头为两个ddl操作导致大量的libray cache lock 其中1133为gis sde的create table as语句。 其中697为alter index语句。...

【数据结构】最短路径算法实现(Dijkstra(迪克斯特拉),FloydWarshall(弗洛伊德) )

文章目录 前言一、Dijkstra&#xff08;迪克斯特拉&#xff09;1.方法&#xff1a;2.代码实现 二、FloydWarshall&#xff08;弗洛伊德&#xff09;1.方法2.代码实现 完整源码 前言 最短路径问题&#xff1a;从在带权有向图G中的某一顶点出发&#xff0c;找出一条通往另一顶点…...

算法模板之队列图文详解

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;算法模板、数据结构 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. ⛳️模拟队列1.1 &#x1f514;用数组模拟实现队列1.1.1 &#x1f47b;队列的定…...

[node]Node.js 中REPL简单介绍

[node]Node.js 中REPL简单介绍 什么是REPL为什么使用REPL如何使用REPL 命令REPL模式node的全局内容展示node全局所有模块查看全局模块具体内容其它命令 实践 什么是REPL Node.js REPL(Read Eval Print Loop:交互式解释器) 表示电脑的环境&#xff0c;类似 Windows 系统的终端或…...

AtomHub 开源容器镜像中心开放公测,国内服务稳定下载

由开放原子开源基金会主导&#xff0c;华为、浪潮、DaoCloud、谐云、青云、飓风引擎以及 OpenSDV 开源联盟、openEuler 社区、OpenCloudOS 社区等成员单位共同发起建设的 AtomHub 可信镜像中心正式开放公测。AtomHub 秉承共建、共治、共享的理念&#xff0c;旨在为开源组织和开…...

java8实战 lambda表达式、函数式接口、方法引用双冒号(中)

前言 书接上文&#xff0c;上一篇博客讲到了lambda表达式的应用场景&#xff0c;本篇接着将java8实战第三章的总结。建议读者先看第一篇博客 其他函数式接口例子 上一篇有讲到Java API也有其他的函数式接口&#xff0c;书里也举了2个例子&#xff0c;一个是java.util.functi…...

FPGA高端项目:UltraScale GTH + SDI 视频编解码,SDI无缓存回环输出,提供2套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的 GT 高速接口解决方案我目前已有的SDI编解码方案 3、详细设计方案设计框图3G-SDI摄像头LMH0384均衡EQUltraScale GTH 的SDI模式应用UltraScale GTH 基本结构参考时钟的选择和分配UltraScale GTH 发送和接收处理流程UltraScale…...

为什么react call api in cDidMount

为什么react call api in cDM 首先&#xff0c;放到constructor或者cWillMount不是语法错误 参考1 参考2 根据上2个参考&#xff0c;总结为&#xff1a; 1、官网就是这么建议的&#xff1a; 2、17版本后的react 由于fiber的出现导致 cWM 会调用多次&#xff01; cWM 方法已…...

openGauss学习笔记-171 openGauss 数据库运维-备份与恢复-导入数据-深层复制

文章目录 openGauss学习笔记-171 openGauss 数据库运维-备份与恢复-导入数据-深层复制171.1 使用CREATE TABLE执行深层复制171.1.1 操作步骤 171.2 使用CREATE TABLE LIKE执行深层复制171.2.1 操作步骤 171.3 通过创建临时表并截断原始表来执行深层复制171.3.1 操作步骤 openGa…...

[kubernetes]控制平面ETCD

什么是ETCD CoreOS基于Raft开发的分布式key-value存储&#xff0c;可用于服务发现、共享配置以及一致性保障&#xff08;如数据库选主、分布式锁等&#xff09;etcd像是专门为集群环境的服务发现和注册而设计&#xff0c;它提供了数据TTL失效、数据改变监视、多值、目录监听、…...

序列化类的高级用法

1.3.3 模型类序列化器 如果我们想要使用序列化器对应的是Django的模型类&#xff0c;DRF为我们提供了ModelSerializer模型类序列化器来帮助我们快速创建一个Serializer类。 ModelSerializer与常规的Serializer相同&#xff0c;但提供了&#xff1a; 基于模型类自动生成一系列…...

4.svn版本管理工具使用

1. 什么是SVN 版本控制 它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节! Subversion(简称SVN)是一个自由开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空 SVN的优势 统一的版本号 Subversi…...

ZKP Algorithms for Efficient Cryptographic Operations 1 (MSM Pippenger)

MIT IAP 2023 Modern Zero Knowledge Cryptography课程笔记 Lecture 6: Algorithms for Efficient Cryptographic Operations (Jason Morton) Multi-scalar Multiplication(MSM) Naive: nP (((P P) P) P)… (2(2P))…Binary expand $n e_0e_1\alphae_2\alpha2\dots\e_{\…...

Windows系统安装 ffmpeg

下载及解压 ffmpeg官方下载地址&#xff1a;https://ffmpeg.org/download.html 下载好后将其解压至你想保存的位置中。 环境变量设置 打开Windows设置&#xff0c;在搜索框输入&#xff1a;系统高级设置。 新建环境变量&#xff0c;并输入bin目录具体位置。 安装检查 按住 w…...

油猴脚本教程案例【键盘监听】-编写 ChatGPT 快捷键优化

文章目录 1. 元数据namenamespaceversiondescriptionauthormatchgranticon 2. 编写函数.1 函数功能2.1.1. input - 聚焦发言框2.1.2. stop - 取消回答2.1.3. newFunction - 开启新窗口2.1.4. scroll - 回到底部 3. 监听键盘事件3.1 监听X - 开启新对话3.2 监听Z - 取消回答3.3 …...

数据结构 | 查漏补缺

目录 数据的基本单位 冒泡排序 DFS和BFS中文 Prim 比较 中序线索二叉树 顺序栈 链栈 时间复杂度 循环队列 求第K个结点的值 数据的基本单位 数据元素 循环队列sq中&#xff0c;用数组elem[0‥25]存放数据元素&#xff0c;设当前sq->front为20&#xff0c;sq-&g…...

回溯算法练习题

78. 子集 中等 1.9K 相关企业 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#x…...

代码随想录算法训练营 | day60 单调栈 84.柱状图中最大的矩形

刷题 84.柱状图中最大的矩形 题目链接 | 文章讲解 | 视频讲解 题目&#xff1a;给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 1 < heights.len…...

vscode中vue项目报错

当在vscode中写代码时&#xff0c;报错报错报错......... 已经头大&#xff0c;还没写就报错&#xff0c; 这是因为eslint对语法的要求太过严格导致的编译时&#xff0c;出现各种语法格式错误 我们打开vue.config.js&#xff0c;加上这句代码&#xff0c;就OK啦 lintOnSave:…...

「数据结构」二叉树2

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;初阶数据结构 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 文章目录 &#x1f349;前言&#x1f349;链式结构&#x1f349;遍历二叉树&#x1f34c;前序遍历&#x1f34c;中序遍历&#x…...

数据处理系列课程 01:谈谈数据处理在数据分析中的重要性

一、数据分析 可能很多朋友第一次听到这个名词&#xff0c;那么我们先来谈一谈什么是数据分析。 数据分析是指用适当的统计分析方法对收集来的大量数据进行分析&#xff0c;将它们加以汇总和理解&#xff0c;以求最大化地开发数据的功能&#xff0c;发挥数据的作用。数据分析是…...

C++卡码网题目55--右旋字符串

卡码网题目链接 字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k&#xff0c;请编写一个函数&#xff0c;将字符串中的后面 k 个字符移到字符串的前面&#xff0c;实现字符串的右旋转操作。 例如&#xff0c;对于输入字符…...

八股文打卡day8——计算机网络(8)

面试题&#xff1a;什么是强缓存和协商缓存&#xff1f; 我的回答&#xff1a; 强缓存&#xff1a;浏览器不需要发送请求到服务器&#xff0c;直接从浏览器缓存中获取数据。浏览器不需要和服务器进行交互就可以获取数据&#xff0c;这样极大提高了页面访问速度。 协商缓存&am…...

亚马逊推出 Graviton4:具有 536.7 GBps 内存带宽的 96 核 ARM CPU

如今&#xff0c;许多云服务提供商都设计自己的芯片&#xff0c;但亚马逊网络服务 (AWS) 开始领先于竞争对手&#xff0c;目前其子公司 Annapurna Labs 开发的处理器可以与 AMD 和英特尔的处理器竞争。本周&#xff0c;AWS 推出了 Graviton4 SoC&#xff0c;这是一款基于 ARM 的…...

跨域问题的解决

1.什么是跨域&#xff1f; 浏览器从一个域名的网页去请求另外一个域名的资源时&#xff0c;域名、端口或者协议不同都是跨域 2.跨域的解决方案 设置CORS响应头∶后端可以在HTTP响应头中添加相关的CORS标头&#xff0c;允许特定的源&#xff08;域名、协议、端口)访问资源。S…...

Typro+PicGo自动上传图片(图床配置)

文章目录 所需工具主要配置 TyproPicGo自动上传图片&#xff08;图床配置&#xff09; 使用Typro编写 的markdown(md)文件如果存在图片&#xff0c;并且想快速发布博文的话&#xff0c;常使用PiGO工具配置图床服务器来管理图片。 所需工具 TyporaPicGo(依赖Nodejs和插件super…...

uniapp实战 -- 个人信息维护(含选择图片 uni.chooseMedia,上传文件 uni.uploadFile,获取和更新表单数据)

效果预览 相关代码 页面–我的 src\pages\my\my.vue <!-- 个人资料 --><view class"profile" :style"{ paddingTop: safeAreaInsets!.top px }"><!-- 情况1&#xff1a;已登录 --><view class"overview" v-if"membe…...

企业如何建立价值评估体系?

企业绩效评价体系是指由一系列与绩效评价相关的评价制度、评价指标体系、评价方法、评价标准以及评价机构等形成的有机整体。企业的评价系统大致可以分为以下四个层次&#xff1a; 第一、岗位评价系统&#xff0c;主要针对不同岗位之间的评估。例如&#xff0c;企业中一般业务…...

华为安防监控摄像头

华为政企42 华为政企 目录 上一篇华为政企城市一张网研究报告下一篇华为全屋wifi6蜂鸟套装标准...

[node] Node.js 缓冲区Buffer

[node] Node.js 缓冲区Buffer 什么是BufferBuffer 与字符编码Buffer 的方法概览Buffer 的实例Buffer 的创建写入缓冲区从 Buffer 区读取数据将 Buffer 转换为 JSON 对象Buffer 的合并Buffer 的比较Buffer 的覆盖Buffer 的截取--sliceBuffer 的长度writeUIntLEwriteUIntBE 什么是…...