【AI】NLP
不定期更新,建议关注收藏点赞。
目录
- transformer
- 大语言模型
- Google Gemma
- 疫情网民情绪识别
- 整体框架
baseline构建
模型调参、模型优化、其他模型
数据trick、指标优化、magic feature
数据增强、伪标签、迁移学习
模型融合 - sklearn中TFIDF参数详解
频率阈值可以去掉高于max和低于min的特征
l2正则化 - 如何fine-tune微调BERT用于文本分类
有一片论文可以找一下 how to fine-tune BERT for text classification?以下只是几个点,详见paper
fine-tuning strategies
further pre-training 要求机器好、用时长
multi-task fine-tuning
长文本阶段处理(长文本截断对BERT不友好)
不同层的特质 不同层表征意义不一样 哪一层是效果最好的
学习率(小的学习率)
transformer
几乎所有NLP都是基于这个基础上。
BERT
大语言模型
Google Gemma
30:00
疫情网民情绪识别
- 思路分析
linux系统需要把数据转换成utf-8读取
- 多模态情感分析->转化成 文本情感分析->文本分类
机器学习方法:词袋模型TFIDF(baseline,基于字还是词)Ngram范围、分类模型LR、SVM、XGBoost、等
深度学习方法:CNN,RNN,Transformer,早停、学习率衰减、Embedding向量dropout,双层双向RNN即Bi-LSTM Bi-GRU,Text CNN、Text RNN、Text Capsule等
迁移学习方法:BERT、XLNET、ALBERT等
预训练模型 bert albert xlnet robert,BERT-WWM
不同层级相加、平均、concat
batch,epoch
对抗训练 环境包的版本要注意
BERT+Word2Vec/Glove
- 标签分布不平衡,1和-1占比较小
- 发布时间关于样本数量和样本标签的分布、正文长度分布
文本长度也要注意设置多少能覆盖90%的文本、北大开源分词包pkuseg
- 数据集中有图片和视频信息的分布,图片张数的分布、视频分布及语义信息
- 代码
把训练集和测试集的文本编码成bert的三条序列,填充成固定的文本长度,并保存起来,标签类型编码改成0-2,利用transformer包构建bert模型导入,五折交叉验证训练模型,有两种结果,一种是概率相加取平均,另一种是每一折结果取出来做投票
batch_size=32还是64要与显卡的内存32g 还是64g对应上
改进思路:模型优化、修改损失函数、对抗训练
- 数据增强
-
- 为什么要进行文本增强?常见的场景是少样本、分类任务中样本分布不均衡、半监督训练场景、提高模型鲁棒性。
解决方法:半监督学习算法UDA用在无标签样本上、回译back translation、随机词替换、非核心词替换、基于上下文信息的文本增强
方法的原理:1)保持语义不变,变换文本表达。2)按照某种策略对原文局部调整EDA easy data augmentation,如同义词替换SR 、随机删除RD、随机插入RI、随机交换RS、非核心词替换
- 为什么要进行文本增强?常见的场景是少样本、分类任务中样本分布不均衡、半监督训练场景、提高模型鲁棒性。
URA原理
不足之处:只进行了词替换,没提到删除、交换等。
基于上下文信息的文本增强,首先需要一个训练好的语言模型LM,对于需要增强的原始文本,随机去掉文中的一个词或字,取决于语言模型支持字还是词(取决于语言模型支持字还是词),将文本剩余部分输入语言模型,选择语言模型所预测的top k个词去替换掉原文对应的词,以形成新的k条文本。
利用语言生成模型进行文本生成 如GPT
工业界或比赛界用得最多的方式:回译,测试时也可以增强,对一条测试样本可以进行构造多条增强样本,得到预测结果,和原来的结果进行加权融合 TTA、embedding技术,FastText+Glove pre-trained、伪标签(将测试集得到的结果和训练集合到一起再喂进去)、
-
- 回译:利用翻译模型不停翻译成其他语种最后再翻译回来
-
迁移学习
通过减少源域到目标域的分布差异进行知识迁移,从而实现数据标注工作。
传统机器学习和深度学习,训练集和测试集同分布。
迁移学习中的“域”:某个时刻某个特定的领域,比如书本评论和电视剧评论,本身分为source domain & target domain,并不要求二者数据分布一致。
迁移学习中的“任务”:比如情感分析和实体识别就是两个不同的任务,source domain & target domain任务也不一定一致。
分为几种,归纳式迁移学习inductive transfer learning(目标任务不同但相关,无论源域和目标域的数据域是否相同)、直推式迁移学习transductive(目标任务相同,但目标数据域中没有或少量可获得带标记的数据,然而在源数据域中有许多可获得带标记的数据) 、无监督迁移学习(源域目标域都没有带标签的数据,关注与目标任务上的聚类、降维和密度估计)。
单步迁移学习和多步迁移学习。比如源域图片、目标域文字,需要做多步迁移,找一个中间域,划分为单步迁移。单步又分为同构DA、异构DA,它们区别在于数据空间是否一致。
domain adaptation,其中feature adaptation很重要:源域和目标域共享同样的特征,提取到共同空间。 -
特征工程
-
模型调参
参数初始化很重要,很多时候是这里的问题。
Glorot条件:优秀的初始化应该使各层激活值和状态梯度的方差在传播过程中的方差保持一致。
初始化方法下面推荐3种。
- Xavier
- He
- normal
根据3σ原则,概率得到几乎只会出现在(μ-3σ,μ+3σ)之间
技巧:
shuffle,
batch normalization BN用于图像处理, layer normalization LN用于文本处理 ,
梯度裁剪:限制最大梯度,对超过阈值的梯度进行规约,使优化算法更加稳定,
dropout 防止过拟合 一般设置为0.5,adam优化器:小数据集尝试sgd(慢但是效果好),大数据集先用adam,快收敛的时候换sgd,
学习率用sgd的化考虑从1或0.1开始
激活函数 tanh或relu比sigmoid更优
sigmoid在-4到4的区间才会有较大的梯度,之外梯度接近0,很容易造成梯度消失问题,输入0均值,sigmoid输出后非0均值
其他超参数 如focal loss参数,这个不是在所有场景下都有效
全连接层,如果输入和输出大小一致,建议用highway network替换
highway network
- 模型融合
哪些模型可以拿来融合?同样参数但模型训练的不同阶段即不同迭代次数的模型、同样参数不同的初始化方式、半监督加入的数据量、不同的模型(如bert系列 bert albert xlnet bert-wwm roberta 都是基于transformer结构的预训练语言模型 统称为bert家族)、融合特征工程
文本输入的截断方式:三种,pre-truncate,post-truncate,middle-truncate(head+tail)
bert 是一种基于transformer encoder构建的预训练语言模型,通过masked language model MLM +Next sentence prediction NSP两个任务在大规模语料上训练得到的;开源的bert分为base 和large,模型大小不同。
bert-wwm 模型结构和bert完全一样,只是在MLM训练任务上做了小的改进,bert在做MLM采用的是token级别的mask,而bert-wwm采用词级别的mask。
roberta是bert优化版,只是在数据量和训练方式上做改进,更大的数据量更好的训练方式训练的更久,去除了NSP任务有损模型性能,MLM换成dynamic masking LM, 更大的batchsize及其他超参数的调优。
XLNet对bert做了较大的改动,二者在模型结构和训练方式上都有不小的差异。
Bert的MLM在预训练时有mask标签,但使用时没有,导致训练和使用出现不一致;MLM不属于autoregressive LM不能做生成类任务,XLNet采用PML permutation language model避免mask标签的使用,且可以做生成任务。Bert使用的transformer结构对文本长度有限制,XLNet使用升级版的transformer-XL
Albert是bert的瘦身版本,更简单的模型,更少的数据,得到更好的结果。通过两个方面减少模型参数量,对vocabulary embedding进行矩阵分解,将原来的矩阵VxE分解成两个矩阵VxH和HxE(H<<E),跨层参数共享可以避免参数量随网络深度增加而增加。
这些模型在不同数据集上有差异,需要试一下才知道哪个好。总体而言,XLNet,roberta,Bert-wwm会比bert效果略好,large比base好,albert也有多个版本,tiny版本好很多。更多情况下会被一起使用,最后做ensemble.
NLP:BERT, TextRNN, TextCapsule
分类问题采用投票方法,回归问题采用平均、加权平均,权值按模型效果进行排名。交叉验证也是一个方式,把每一折数据固定下来,看效果,也是按加权平均。
stacking的方式
- 面试题
这个项目有什么难点?针对这个怎么优化的
预训练模型BERT和word2vex+textRNN based encoder哪个效果好
BERT在per train 时候和word2vec有什么异同点
bert的token怎么分词的
bert如何获得词意和句意
为什么bert有3个嵌入层,它们如何实现的
bert在Per train阶段的损失函数
为什么fine-tune有效?学习到针对特定任务的特征,学到了深层次的语义信息。
1.word2vec与Elmo模型在语义学习上差异是什么?
2.Batch Normalization与Layer Normalization区别?bert中为什么用后者?
3.熟悉GELU激活函数,与RELU差异。
4.实际操作,Semi-Supervised DA方法;
5.对比实施模型融合的相关方法。
1.有哪些文本增强方法?你用过哪些文本增强方法
2.BERT有哪些调参方法?你是如何调参的?Transformer的原理?
3. 尝试模型调参(比如BERT和word2vec构建词向量)
4. 了解一种文本增强方法
5. 代码实现文本增强(比如回译技术)
涉及论文:
Understanding the diffificulty of training deep feedforward neural networks
Delving Deep into Rectififiers:
Surpassing Human-Level Performance on ImageNet Classifification
Highway Networks
论文下载地址:
https://arxiv.org/abs/1502.01852
http://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf
https://arxiv.org/abs/1505.00387
作业名称(详解):面试问题及比赛实战。
1.跑通其它的预训练模型
2.尝试多模型的融合,实现stacking方式
3.尝试加入特征进行模型学习
4.熟悉几种常用的参数初始化方法及其原理(看paper)
5.熟悉adam原理(看paper)
- Bert
有两个预训练任务,MLM masked language model(在每一轮迭代中随机选择15%的词隐藏,目标是通过它们的上下文来预测这个单词,操作是取这些词对应的最后一个隐单元向量后接一个softmax来预测这个词,80%采用masked,10%随机选择其他词填充,10%使用原词,这个平衡了masked和fine-tune)、Next Sentence Prediction(预测第二个句子是否可以自然的接在第一个句子后面,是一个二分类问题,用于理解句子间的关系)
是一个12层的网络,学到位置信息,多头attention公式见上图右边,I是原始输入,输出key,value,query。
相关文章:
【AI】NLP
不定期更新,建议关注收藏点赞。 目录 transformer大语言模型Google Gemma疫情网民情绪识别 整体框架 baseline构建 模型调参、模型优化、其他模型 数据trick、指标优化、magic feature 数据增强、伪标签、迁移学习 模型融合sklearn中TFIDF参数详解 频率阈值可以去掉…...
ENSP学习day10
NAT地址转换技术(一) NAT(Network Address Translation)地址转换技术是一种在计算机网络中常用的技术,在数据包从一个网络传输到另一个网络时,会对数据包中的源IP地址和目的IP地址进行修改的过程。这种技术…...
文件上传绕过的小点总结(4)
9.末尾点删除处理缺陷 给出源码: $file_name trim($_FILES[upload_file][name]); $file_name deldot($file_name);//删除文件名末尾的点 $file_ext strrchr($file_name, .); $file_ext strtolower($file_ext); //转换为小写 $file_ext str_ireplace(::$DATA,…...
实战-MySQL5.7升级8.0遇到的四个问题
近期几个项目的MySQL由5.7升级到8.0,升级过程中遇到四个问题,记录下来分享一下: 第一个问题详见之前的文章: MySQL 5.7升级8.0报异常:处理新增关键字 第二个问题详见之前的文章: MySQL 5.7升级8.0报异常…...
卷积神经网络的原理、实现及变体
卷积神经网络convolutional neural network,CNN 是为处理图像数据而生的网络,主要由卷积层(填充和步幅)、池化层(汇聚层)、全连接层组成。 卷积 虽然卷积层得名于卷积(convolution)…...
java 线程创建Executors 和 ThreadPoolExecutor 和 CompletableFuture 三者 区别
Executors是一个线程池的工具类,而ThreadPoolExecutor是Executor接口的一个实现,是线程池的核心类。 Executors提供了多种快速创建线程池的方法,而ThreadPoolExecutor则提供了更高的自定义和控制能力。 Executors是一个工具类࿰…...
Redisson 实现分布式锁简单解析
目录 Redisson 实现分布式锁业务方法:加锁逻辑LockUtil 工具类锁余额方法:工具类代码枚举代码 RedisUtil 工具类tryLock 方法及重载【分布式锁具体实现】Supplier 函数式接口调用分析 Redisson 实现分布式锁 业务方法: 如图,简单…...
Python条件处理,新手入门到精通
Python条件处理,新手入门到精通 对话实录 **小白**:(崩溃)我写了if x 1:,为什么Python会报错? **专家**:(推眼镜)**是赋值,才是比较**!想判断相…...
详细比较StringRedisTemplate和RedisTemplate的区别及使用方法,及解决融合使用方法
前言 感觉StringRedisTemplate和RedisTemplate非常的相识,到底有什么区别和联系呢?点开idea,打开其依赖关系,可以看出只需使用maven依赖包spring-boot-starter-data-redis,然后在service中注入StringRedisTemplate或者…...
开源模型应用落地-语音转文本-whisper模型-AIGC应用探索(五)
一、前言 在上一节中,学习了如何使用vLLM来部署Whisper-large-v3-turbo模型。不过,在实际使用时,模型一次只能处理30秒的音频。今天,将结合实际业务,介绍如何处理一段完整的音频,并生成相应的字幕文件。 相…...
python每日十题(10)
在Python语言中,源文件的扩展名(后缀名)一般使用.py。 保留字,也称关键字,是指被编程语言内部定义并保留使用的标识符。Python 3.x有35个关键字,分别为:and,as,assert&am…...
安装和部署Tomcat并在idea创建web文件
一、背景 实验任务为安装Tomcat并创建web文件 为提高安装效率并且通俗易懂,免得大量文字浪费时间,这里我们采用图片加文字的方式来给大家讲解这个安装教程。 二、安装过程 首先第一步一定要注意你是否下载了JDK,如果你是像我一样下载一个…...
【Linux】Ubuntu 24.04 LTS 安装 OpenJDK 8
目录 通过 apt-get 直接安装 JDK 1. 更新 apt 软件源 2. 检查 JDK 是否已安装 3. 安装OpenJDK 4. 检查 JDK 是否成功安装 5. 设置 JAVA_HOME 环境变量 找到需要设置的 Java 路径 使用文本编辑器打开/etc/environment文件 添加 Java 安装路径 应用更改和验证配置 通过…...
图灵300题-21~40-笔记002
图灵300题 图灵面试题视频:https://www.bilibili.com/video/BV17z421B7rB?spm_id_from333.788.videopod.episodes&vd_sourcebe7914db0accdc2315623a7ad0709b85&p20。 本文是学习笔记,如果需要面试没有时间阅读原博文,可以快速浏览笔…...
蓝桥杯--bfs专题第二个题目(leetcode103二叉树)
文章目录 1.题目概述2.思路分析3.代码分析 1.题目概述 这个题目是关于二叉树的锯齿形的遍历:这个锯齿形是什么意思呢?简单的通俗的解释,就是S型的,例如下面的这个示例里面的二叉树: 第一行从左到右:但是只…...
React 知识回顾(HOC、合成事件、Fiber)
HOC 嗯,用户问的是HOC是什么以及它能用来做什么。我需要先理解HOC的基本概念,然后整理它的用途。根据搜索结果,HOC是React中的高阶组件,用来复用逻辑。网页1提到HOC是一个函数,接收组件返回新组件,属于设计…...
s1: Simple test-time scaling 【论文阅读笔记】
s1: Simple test-time scaling 关于test-time scaling 这个概念其实是相对 train scaling而言的。train scalling 指的是增加训练数据,增加训练flops等等,投入更多资源在train上。test-time scaling,其实现在简化点的理解,就是 …...
基于 Milvus 和 BiomedBERT 的医学文献智能搜索系统
前言 随着医学研究的不断深入,文献数量呈爆炸式增长,如何快速从海量文献中提取关键信息成为一大挑战。最近,我基于 Milvus 向量数据库和 BiomedBERT 嵌入模型,开发了一个智能搜索系统,支持语义搜索和关键词匹配&#…...
ASP.NET Web的 Razor Pages应用,配置热重载,解决.NET Core MVC 页面在更改后不刷新
Razor Pages应用,修改页面查看修改效果,如果没有热重载,改一句话跑一次,这个活就没法干了。 1、VS2022中的NuGet中安装RuntimeCompilation Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 需要配套你的.net sdk版本&#x…...
MySQL 对text类型字段添加索引
对于 MySQL 中的 text 类型字段,可以通过以下步骤向其添加索引: 创建辅助字段:创建一个辅助字段,将该字段的一部分数据转移到辅助字段中。例如,可以创建一个 varchar 类型的字段来存储 text 字段的前缀。 添加索引&am…...
深入解析SQL2API平台:数据交互革新者
在数字化转型持续深入的当下,企业对数据的高效利用与管理的需求愈发迫切。SQL2API平台应运而生,成为助力企业突破数据交互困境的有力工具,特别是它由麦聪软件基于DaaS(数据即服务)产品创新衍生而来,备受业界…...
@Autowired 和 @Resource 注解的区别
前言 Autowired 和 Resource 是 Spring 中用于依赖注入的注解,但两者在实现机制和使用方式上有显著差异。 主要区别 1.来源不同 Autowired:由 Spring 框架提供(org.springframework.beans.factory.annotation),与 S…...
稳定运行的以ElasticSearch数据库为数据源和目标的ETL性能变差时提高性能方法和步骤
在使用 Elasticsearch 作为数据源和目标的 ETL(Extract, Transform, Load)过程中,性能逐渐变差的原因可能有很多,比如查询效率下降、集群负载过高、资源配置不合理等。 性能的提升通常需要从多个方面入手,尤其是在处理…...
游戏引擎学习第182天
回顾和今天的计划 昨天的进展令人惊喜,原本的调试系统已经被一个新的系统完全替换,新系统不仅能完成原有的所有功能,还能捕获完整的调试信息,包括时间戳等关键数据。这次的替换非常顺利,效果很好。 今天的重点是在此基…...
EJS缓存解决多页面相同闪动问题
基于 EJS 的模板引擎特性及其缓存机制,以下是关于缓存相同模块的详细解答: 一、EJS 缓存机制的核心能力 模板编译缓存 EJS 默认会将编译后的模板函数缓存在内存中,当相同模板文件被多次渲染时,会直接复用已编译的模板函数&#x…...
【MySQL】mysql日志文件
目录 日志文件特征 错误日志(Error log ) 常规查询日志(General query log ) 慢速查询日志(Slow query log ) 审计日志(Audit log ) 二进制日志(Binary log &#…...
【C++】STL性能优化实战
STL性能优化实战 STL (Standard Template Library) 是 C 标准库的核心部分,提供了各种容器、算法和迭代器。虽然 STL 提供了强大的功能,但不恰当的使用可能导致性能问题。下面我将详细介绍 STL 性能优化的实战技巧,并通过具体案例说明。 1.…...
Playwright + MCP:用AI对话重新定义浏览器自动化,效率提升300%!
一、引言:自动化测试的“瓶颈”与MCP的革新 传统自动化测试依赖开发者手动编写脚本,不仅耗时且容易因页面动态变化失效。例如,一个简单的登录流程可能需要开发者手动定位元素、处理等待逻辑,甚至反复调试超时问题。而MCP…...
12-scala样例类(Case Classes)
例类(Case classes)和普通类差不多,只有几点关键差别,接下来的介绍将会涵盖这些差别。样例类非常适合用于不可变的数据。 定义一个样例类 一个最简单的样例类定义由关键字case class,类名,参数列表&#…...
WPF 与 C# 开发深度剖析
一、引言 在当今的软件开发领域,Windows 平台依旧占据着重要的地位。而 WPF(Windows Presentation Foundation)作为微软推出的一款强大的用户界面(UI)框架,为开发者提供了丰富的功能和灵活的设计方式&…...
【工具使用-编译器】VScode(Ubuntu)使用
1. VScode的快捷键 快捷键功能说明Ctrl+Shift+P / F1显示命令面板Ctrl+P快速打开文件Ctrl+Shift+N新建窗口Ctrl+Shift+W关闭窗口Ctrl+,打开设置Ctrl+K Ctrl+S打开快捷键设置Ctrl+X剪切行(无选中时剪切整行)Ctrl+C复制行(无选中时复制整行)Alt+↑ / Alt+↓向上/向下移动行Sh…...
C# SerialPort 使用详解
总目录 前言 在工业控制、物联网、嵌入式开发等领域,串口通信(Serial Port Communication)是连接串行设备(如条码扫描器、GPS接收器等)与计算机的重要手段。C# 提供了内置的 SerialPort 类,简化了串口开发…...
数据结构--二叉排序树
一、二叉排序树的定义 二叉排序树,又称二叉查找树。 性质: 左子树结点值<根结点值<右子树结点值(进行中序遍历,可以得到一个递增的有序序列) 二、查找操作 利用二叉排序树的性质,如果树空,…...
FPGA的直方图均衡
文章目录 一、直方图均衡二、代码实现三、仿真 一、直方图均衡 直方图均衡(Histogram Equalization)是一种用于增强图像对比度的图像处理技术。它通过重新分配图像像素的灰度值,使得图像的灰度直方图在整个灰度范围内均匀分布,从而…...
使用Python将视频转化为gif
使用Python将视频转化为gif 一、前言二、准备三、测试 一、前言 最近想把喜欢的视频片段作成gif,就试着用Python做了下,感觉效果还行,这里做个记录。 二、准备 先下载安装对应的库,命令如下: pip install moviepy …...
基于javaweb的SpringBoot雪具商城系统设计与实现系统(源码+文档+部署讲解)
技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、…...
Harbor镜像仓库迁移与高可用集群搭建HTTPS实现实战指南
实验环境 Ubuntu22.04操作系统 registry节点 10.0.0.91 master节点 10.0.0.92 backup节点 10.0.0.93 在企业信息化建设的不同演进阶段,私有镜像仓库的选型策略存在显著差异。近期主导完成某企业级容器镜像仓库升级项目,成功实现Docker Registry至Ha…...
redis--JavaSpring客户端
目录 一、引言 二、配置 三、相关操作 四、总结 一、引言 本篇文章会将redis与spring项目进行结合,看看再spring项目中,redis是如何使用的 二、配置 三、相关操作 四、总结 在spring项目中的使用和在基础项目上的使用有差异,但是差异并不大…...
JavaWeb3
聚合函数:把某一列的数据计算。count,max,min,avg,sum select count(id) from wife;-- 统计个数,不计算null,统计常量表示个数 select count(*) from wife; select min(id) from wife; select avg(age) from wife; 分组查询 select name,c…...
SAP-ABAP:SAP数据集成全场景技术指南(BAPI、RFC、IDOC、BATCHJOB、ODATA、WEBSERVICE):从实时交互到批量处理
SAP数据集成全场景技术指南:从实时交互到批量处理 #mermaid-svg-hpPMerJYUerla0BJ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-hpPMerJYUerla0BJ .error-icon{fill:#552222;}#mermaid-svg-hpPMerJYUerla0BJ .er…...
QT笔记----QCheckBox
文章目录 概要1、QCheckBox 的基本概念2、单个QCheckBox3、多个QCheckBox同时应用3.1、实现效果3.2、实现Demo 概要 在 Qt 应用程序开发中,QCheckBox 是一个常用的用户界面元素,它允许用户在两种状态(选中和未选中)之间进行切换&a…...
试试智能体工作流,自动化搞定运维故障排查
APO 1.5.0版本全新推出的智能体工作流功能,让运维经验不再零散!只需将日常的运维操作和故障排查经验转化为标准化流程,就能一键复用,效率翻倍,从此告别重复劳动,把时间留给更有价值的创新工作。更贴心的是&…...
3.24[Q]Linux
我正在学习Linux,Linux设备管理是怎样的?详细解释,越细节越好 我正在学习Linux,在Linux设备管理中,什么是char device?以及block,usb device?详细解释,越细节越好 我正在学习Linux࿰…...
深度学习——图像相似度评价指标
这里写目录标题 PSNR(Peak Signal-to-Noise Ratio,峰值信噪比)定义公式代码 SSIMMS-SSIM (Multi Scale Structural Similarity Index Measure,多尺度结构相似性)CSS (Contrast-Structure Similarity 对比结构相似度)MA…...
CentOS安装sshpass工具-自动化SSH密码认证
sshpass是一个在Linux环境下用于自动化SSH密码认证的工具。 一、功能特点 自动化SSH登录:sshpass允许用户在命令行中直接传递密码,从而无需在SSH连接时手动输入密码。这对于自动化脚本和批处理任务非常有用,因为它可以在非交互式环境下完成…...
js 中 如何获取数组的交集【面试题】
一、数组元素为基本类型:Number、String、等基本类型时 1、使用 Set 和 filter(适用于两个数组) const intersection (arr1, arr2) > {const set new Set(arr2);return [...new Set(arr1)].filter(item > set.has(item)); };将第二…...
value-key 的作用
在 el-autocomplete 组件中,value-key 是一个非常重要的属性,它用于指定选项对象中作为值的字段名。当选项列表是一个包含多个属性的对象数组时,value-key 能帮助组件明确哪个属性是实际要使用的值。比如,选项列表为 [{id: 01, na…...
Spring MVC:从历史演变到实战入门
1. Java Web的发展历史与MVC模式 1.1 Model I与Model II的演进 Model I(JSPJavaBean) 作为早期Java Web开发的主流模式,其核心架构如下: graph LR A[客户端] --> B[JSP页面] B --> C{业务逻辑} C --> D[JavaBean] D -…...
Matlab设置表table的表头
用到matlab的table很好用。经常涉及放入数据,读取数据,下面总结常用的知识点。 1. 把不同数据类型放到同一个表中 想把时间类型和数值类型放到统一table中。困扰的点是,我已经知道了表头名称, 如何批量的为表头命名,…...
预测蓝桥杯16届嵌入式省赛客观题
以下是15道蓝桥杯嵌入式省赛客观题预测,每道题均包含**选项列表**、**答案**和**解析**,格式清晰便于快速查阅: 一、预测1 ### **一、STM32G4硬件基础与外设配置** 1. **STM32G431RBT6的Flash和RAM容量分别为?** **选项**&a…...