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

【NLP 面经 3】

目录

一、Transformer与RNN对比

多头自注意力机制工作原理

相比传统 RNN 在处理长序列文本的优势

应对过拟合的改进方面

二、文本分类任务高维稀疏文本效果不佳

特征工程方面

核函数选择方面

模型参数调整方面

三、NER中,RNN模型效果不佳

模型架构方面

数据处理方面

训练策略方面

四、代码题 —— 字符串反转


Don't you ever hide

                        —— 25.3.29

一、Transformer与RNN对比

        在自然语言处理中,基于 Transformer 架构的模型(如 BERT、GPT 等)得到了广泛应用。请你阐述一下 Transformer 架构中多头自注意力机制(Multi - Head Self - Attention)的工作原理,以及它相比传统循环神经网络(RNN)在处理长序列文本时的优势。另外,假设在实际应用中,你发现基于多头自注意力机制的模型出现了过拟合现象,你会从哪些方面进行改进?

多头自注意力机制工作原理

  1. 自注意力机制基础:自注意力机制旨在计算序列中每个位置与其他所有位置之间的关联程度,以此动态地聚焦于输入序列不同部分。对于输入序列 x=[x1​,x2​,...,xn​],首先通过线性变换将其映射到三个不同的向量空间,得到查询(Query, Q)、键(Key, K)和值(Value, V)。即 Q=WQ​x,K=WK​x,V=WV​x,其中 WQ​、WK​、WV​ 是可学习的权重矩阵。
  2. 注意力分数计算:计算每个位置的注意力分数,通过点积计算查询 Qi​ 与所有键 Kj​ 的相似度,公式为 Attention(Q,K,V)=softmax(dk​​QKT​)V,其中 dk​​ 是为了防止点积结果过大,使得梯度在反向传播时更稳定,dk​ 是 K 的维度。softmax 函数将分数归一化,得到每个位置的注意力权重,代表当前位置与其他位置的关联程度。
  3. 多头自注意力:多头自注意力机制是在上述基础上并行执行多个自注意力头。假设共有 h 个头,每个头都有独立的 WQi​、WKi​、WVi​ 矩阵(i=1,2,...,h)。每个头分别计算得到自己的注意力输出 Zi,然后将这些头的输出拼接起来,再通过一个线性变换得到最终的多头自注意力输出 Z,即 Z=Concat(Z1,Z2,...,Zh)WO,其中 WO 是另一个可学习的权重矩阵。这种多头结构使得模型能够在不同的表示子空间中捕捉不同的语义信息。

相比传统 RNN 在处理长序列文本的优势

  1. 解决梯度消失 / 爆炸问题:RNN 在处理长序列时,由于梯度在反向传播过程中经过多次乘法运算,容易出现梯度消失或梯度爆炸现象,导致难以学习到长距离的依赖关系。而 Transformer 架构基于自注意力机制,不依赖于循环结构,直接计算序列中任意两个位置的关联,避免了梯度消失 / 爆炸问题,能够有效处理长序列文本。
  2. 并行计算能力:RNN 由于其循环结构,每个时间步的计算依赖于前一个时间步的结果,难以并行计算。而 Transformer 的自注意力机制中,每个位置的计算都是独立的,可并行处理整个序列,大大提高了计算效率,尤其在处理长序列时优势明显。
  3. 更好捕捉全局信息:自注意力机制能够直接获取序列中任意位置之间的信息,使得模型在处理长序列时可以更好地捕捉全局信息,而 RNN 只能通过逐步传递信息来处理序列,在处理长序列时对远距离信息的捕捉能力较弱。

应对过拟合的改进方面

  1. 数据层面
    • 数据增强:增加训练数据的多样性,如对文本进行同义词替换、随机插入、随机删除等操作生成更多训练样本,让模型学习到更广泛的语言模式,减少过拟合风险。
    • 数据清洗:仔细检查和清洗训练数据,去除噪声数据和错误标注,避免模型学习到错误信息导致过拟合。
  2. 模型架构层面
    • 减少模型复杂度:适当减少多头自注意力头的数量或降低隐藏层维度,简化模型结构,降低模型的拟合能力,防止过度拟合。但需注意这可能会影响模型对复杂模式的学习能力,需要权衡。
    • 增加正则化层:在模型中添加正则化层,如 Dropout。在多头自注意力层或其他层后应用 Dropout,以一定概率随机丢弃神经元,使得模型不能依赖于某些特定神经元,从而减少过拟合。
  3. 训练策略层面
    • 调整学习率:使用学习率衰减策略,随着训练的进行逐渐降低学习率。开始时较大的学习率能让模型快速收敛到较优解附近,后期较小的学习率可以防止模型在最优解附近波动过大而导致过拟合。
    • 早停策略:监控验证集上的性能指标(如准确率、损失值等),当验证集性能不再提升甚至下降时,停止训练,避免模型在训练集上过拟合。

二、文本分类任务高维稀疏文本效果不佳

        在文本分类任务中,假设你使用支持向量机(SVM)作为分类模型。在处理高维稀疏文本数据时,模型的训练时间很长且分类效果不佳。请从特征工程、核函数选择以及模型参数调整这三个方面分析可能存在的问题,并提出相应的改进措施。

特征工程方面

  • 问题
    • 特征维度过高:文本数据经词袋模型或 TF - IDF 等传统方法处理后,特征维度极高,大量特征可能是稀疏且冗余的。例如,在新闻文本分类中,词汇量巨大,许多低频词对分类贡献极小,但增加了计算复杂度,拖慢训练速度,还可能引入噪声干扰分类效果。
    • 特征相关性未充分考虑:传统特征提取未深入挖掘特征间的相关性,可能导致模型难以学习到有效的分类模式。如在情感分类中,一些词虽然单独出现频率不高,但共同出现时对情感倾向有很强的指示作用,传统方法未利用好这种关系。
    • 缺乏特征选择与降维:未对高维特征进行有效选择与降维,使模型训练负担过重。例如主成分分析(PCA)等降维方法若未合理应用,模型需处理大量无关或弱相关特征,影响训练效率与分类精度。
  • 改进措施
    • 特征选择:采用过滤式方法,如卡方检验、信息增益等,根据特征与类别标签的统计关系,筛选出最具区分性的特征,降低维度同时保留关键信息。在文本情感分类中,通过卡方检验找出与积极或消极情感关联紧密的词汇作为特征。
    • 降维处理:运用 PCA 等线性降维方法,或基于流形学习的非线性降维方法如 Isomap 等,将高维稀疏特征映射到低维空间,保留数据主要结构信息,加快训练速度。例如,在处理海量文本时,PCA 可将特征维度大幅降低,同时保持数据大部分方差信息。
    • 利用特征相关性:使用互信息等方法度量特征间相关性,构建特征组合,挖掘特征协同作用。如在主题分类中,将相关主题词汇组合成新特征,提升模型对主题的识别能力。

核函数选择方面

  • 问题
    • 线性核函数局限性:若选用线性核函数,对于复杂的非线性文本分类问题,无法有效将低维空间数据映射到高维空间以找到最优分类超平面。例如,在文本多类别分类任务中,数据分布复杂,线性核函数难以准确划分类别边界,导致分类效果差。
    • 核函数参数不当:对于非线性核函数,如径向基函数(RBF)核,参数 γ 设置不合理。γ 过大,模型对局部数据敏感,容易过拟合;γ 过小,模型对数据差异不敏感,容易欠拟合。例如,γ 过大时,模型可能过度学习训练数据中的噪声,在测试集上表现不佳。
  • 改进措施
    • 合理选择核函数:对于复杂的文本分类问题,优先尝试非线性核函数,如 RBF 核。RBF 核能将数据映射到高维特征空间,处理复杂的非线性边界。例如在图像标注文本分类中,RBF 核可有效处理图像描述文本与标签间复杂关系。若数据具有一定的线性可分性趋势,多项式核函数也可考虑,它在一定程度上兼顾线性与非线性关系。
    • 参数调优:通过交叉验证方法,如 K 折交叉验证,对核函数参数进行调优。以 RBF 核为例,在一定范围内(如 [0.01, 100])搜索不同的 γ 值,选择使模型在验证集上性能最优的参数。也可使用网格搜索、随机搜索等自动化调参方法,提高调参效率。

模型参数调整方面

  • 问题
    • 惩罚参数 C 不合理:惩罚参数 C 控制模型对误分类样本的惩罚程度。C 过小,模型对误分类容忍度高,容易欠拟合,不能充分学习数据特征;C 过大,模型过于追求训练集上零误分类,容易过拟合,对测试数据泛化能力差。例如在文本分类中,C 过小时,模型可能对大量错误分类不敏感,导致分类精度低;C 过大时,模型可能过度适应训练集噪声,在新文本上表现不佳。
    • 未充分利用模型特性:SVM 有多种实现方式与优化算法,如 SMO(序列最小优化算法)等。若未根据数据特点选择合适的实现方式与优化算法,可能影响训练效率与分类效果。例如,对于大规模文本数据,未选择高效的分布式优化算法,导致训练时间过长。
  • 改进措施
    • 调优惩罚参数 C:结合交叉验证,在合理范围(如 [0.1, 100])内尝试不同的 C 值,观察模型在验证集上的性能指标(如准确率、F1 值等),选择使指标最优的 C 值。也可采用基于梯度的优化方法,如随机梯度下降,动态调整 C 值,以提高模型性能。
    • 选择合适的实现与优化算法:根据数据规模与特点选择合适的 SVM 实现与优化算法。对于大规模文本数据,使用如 Liblinear 等针对大规模数据优化的库,其采用坐标下降法等高效算法,可显著缩短训练时间。对于小规模但复杂的数据,可选择传统的 SMO 算法精细求解。

三、NER中,RNN模型效果不佳

        在命名实体识别(NER)任务中,你使用基于循环神经网络(RNN)的模型,发现模型对嵌套实体和长文本中的实体识别效果不佳。请从模型架构、数据处理以及训练策略三个方面分析可能存在的原因,并提出改进措施。

模型架构方面

  • 原因
    • RNN 自身局限性:RNN 存在梯度消失或梯度爆炸问题,在处理长序列(如长文本)时,难以有效传递远距离信息,导致对长文本中较远距离的实体信息捕捉能力弱。例如,在一篇长新闻报道中,开头提到的组织实体,在后续长文中再次提及相关信息时,RNN 难以将开头的实体信息有效传递到后续位置进行识别。
    • 缺乏层次化结构:简单的 RNN 模型没有对文本的层次结构进行有效建模。文本通常具有词、句子、段落等不同层次,而 RNN 可能无法区分不同层次信息对实体识别的重要性,对于嵌套实体,无法很好地处理其内部结构关系。例如,对于 “苹果公司发布的 iPhone 产品” 中,“苹果公司” 是一个组织实体,“iPhone” 是产品实体,且 “iPhone” 嵌套在与 “苹果公司” 相关的描述中,RNN 难以有效处理这种嵌套关系。
  • 改进措施
    • 使用 LSTM 或 GRU:LSTM(长短期记忆网络)和 GRU(门控循环单元)通过引入门控机制,一定程度上缓解了梯度消失问题,能更好地捕捉长距离依赖关系。例如,LSTM 的遗忘门、输入门和输出门可以控制信息的流动,使得长文本中的重要信息得以保存和传递,从而提升长文本中实体的识别效果。
    • 构建层次化模型:在词向量层之上,添加句子级别的编码,如使用卷积神经网络(CNN)或注意力机制对句子进行特征提取,再将句子特征输入到 RNN 或其变体中。对于段落级信息,可以在句子级编码的基础上,再次使用注意力机制或池化操作进行整合。这样可以更好地处理文本的层次结构,对于嵌套实体,能够从不同层次分析其关系,提高识别准确率。例如,先通过 CNN 提取句子中词的局部特征,再用 LSTM 处理句子序列,最后通过注意力机制整合段落信息。

数据处理方面

  • 原因
    • 标注不规范:对于嵌套实体,标注方式可能不统一或不清晰,导致模型学习到的信息混乱。例如,不同标注者对于嵌套实体的标注边界定义不同,使得模型在训练时接收到错误或模糊的标注信息,影响对嵌套实体的识别。
    • 数据增强不足:长文本数据相对较少,且在数据增强过程中,未充分考虑长文本的特点和嵌套实体的生成。例如,简单的数据增强方法如随机删除或替换单词,可能破坏长文本的语义结构和实体关系,无法有效增加对长文本和嵌套实体识别有帮助的数据。
  • 改进措施
    • 统一标注标准:制定详细、明确的标注规范,对嵌套实体的标注边界、类型等进行严格定义。组织标注人员进行培训,确保标注的一致性。同时,对已标注的数据进行多轮审核,减少标注错误。例如,规定对于嵌套实体,外层实体和内层实体的标注要有明确的层级关系和边界标识。
    • 针对性数据增强:采用基于规则或模型的方法进行数据增强。对于长文本,可以根据句法结构或语义关系,在不破坏实体关系的前提下,插入、替换或修改一些非关键部分的文本。对于嵌套实体,可以利用模板生成一些包含嵌套实体的句子,并添加到训练数据中。例如,根据 “[组织] 发布的 [产品]” 这样的模板,生成类似 “谷歌公司推出的安卓系统” 等句子用于增强数据。

训练策略方面

  • 原因
    • 损失函数选择不当:传统的交叉熵损失函数在处理嵌套实体和长文本时,可能无法有效反映模型对实体边界和类型的预测准确性。例如,对于嵌套实体,交叉熵损失函数可能同等对待实体内部和外部的预测错误,而实际上实体边界的准确预测更为重要。
    • 训练样本不均衡:长文本数据和包含嵌套实体的数据在训练集中所占比例较小,模型在训练过程中对这些数据的学习不足。例如,训练集中短文本数据占比过大,模型更倾向于学习短文本中的实体识别模式,对长文本和嵌套实体的识别能力提升有限。
  • 改进措施
    • 设计定制化损失函数:结合实体边界和类型的预测需求,设计定制化的损失函数。例如,可以对实体边界的预测错误给予更高的惩罚权重,以引导模型更准确地识别实体边界。同时,考虑使用基于距离的损失函数,如 IoU(交并比)损失,来衡量预测实体与真实实体之间的重叠程度,提高对嵌套实体的识别效果。
    • 样本平衡处理:采用过采样或欠采样的方法平衡训练样本。对于长文本和包含嵌套实体的数据,可以使用 SMOTE(合成少数类过采样技术)等方法进行过采样,生成更多的长文本和嵌套实体样本。或者对短文本数据进行欠采样,减少其在训练集中的比例,使模型能够更充分地学习长文本和嵌套实体的特征。例如,通过 SMOTE 对长文本数据进行扩展,增加模型对长文本中实体识别的学习机会。

四、代码题 —— 字符串反转

给定一个字符串 s,其中包含由空格分隔的单词。要求你反转每个单词中字符的顺序,同时保持单词之间的空格和单词顺序不变。

 

示例 1:
输入:s = "Let's take LeetCode contest"
输出:"s'teL ekat edoCteeL tsetnoc"

 

示例 2:
输入:s = "God Ding"
输出:"doG gniD"

 

提示:

 
  1. 1 <= s.length <= 5 * 10^4
  2. s 包含可打印的 ASCII 字符。
  3. s 不包含任何前导或尾随空格。
  4. s 中至少包含一个单词。
  5. s 中的所有单词都由单个空格分隔。
class Solution:def reverseWords(self, s: str) -> str:# 在此处编写你的代码pass

将输入字符串 s 中每个单词进行反转,然后再将反转后的单词组合成一个新的字符串并返回。

class Solution:def reverseWords(self, s: str) -> str:words = s.split(' ')result = []for word in words:result.append(word[::-1])return ' '.join(result)

相关文章:

【NLP 面经 3】

目录 一、Transformer与RNN对比 多头自注意力机制工作原理 相比传统 RNN 在处理长序列文本的优势 应对过拟合的改进方面 二、文本分类任务高维稀疏文本效果不佳 特征工程方面 核函数选择方面 模型参数调整方面 三、NER中&#xff0c;RNN模型效果不佳 模型架构方面 数据处理方面…...

区间预测 | MATLAB实现QRBiGRU门控循环单元分位数回归时间序列区间预测

区间预测 | MATLAB实现QRBiGRU门控循环单元分位数回归时间序列区间预测 目录 区间预测 | MATLAB实现QRBiGRU门控循环单元分位数回归时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 区间预测 | MATLAB实现QRBiGRU门控循环单元分位数回归时间序列区…...

Github 热点项目 awesome-mcp-servers MCP 服务器合集,3分钟实现AI模型自由操控万物!

【今日推荐】超强AI工具库"awesome-mcp-servers"星数破万&#xff01; ① 百宝箱式服务模块&#xff1a;AI能直接操作浏览器、读文件、连数据库&#xff0c;比如让AI助手自动整理Excel表格&#xff0c;三分钟搞定全天报表&#xff1b; ② 跨领域实战利器&#xff1a;…...

深入理解 YUV 颜色空间:从原理到 Android 视频渲染

在视频处理和图像渲染领域&#xff0c;YUV 颜色空间被广泛用于压缩和传输视频数据。然而&#xff0c;在实际开发过程中&#xff0c;很多开发者会遇到 YUV 颜色偏色 的问题&#xff0c;例如 画面整体偏绿。这通常与 U、V 分量的取值有关。那么&#xff0c;YUV 颜色是如何转换为 …...

Qt中绘制不规则控件

在Qt中绘制不规则控件可通过设置遮罩&#xff08;Mask&#xff09;实现。以下是详细步骤: ‌继承目标控件‌&#xff1a;如QPushButton或QWidget。‌重写resizeEvent‌&#xff1a;当控件大小变化时&#xff0c;更新遮罩形状。‌创建遮罩区域‌&#xff1a;使用QRegion或QPain…...

开源线下大数据平台的数据如何上云

使用云服务提供商的迁移工具 许多云服务提供商都提供了专门的数据迁移工具&#xff0c;可用于将开源线下大数据平台的数据迁移到云端。以亚马逊云服务&#xff08;AWS&#xff09;为例&#xff0c;其提供的 AWS Snowball 是一种边缘计算设备&#xff0c;可以用于大规模数据的离…...

【doris】Apache Doris简介

目录 1. 概述2. 技术特点2.1 高性能查询2.2 实时数据导入2.3 易于使用2.4 高可扩展性2.5 数据模型2.6 容错性 3. 适用场景4. 部署与架构4.1 部署方式4.2 架构特点 5. 优势 1. 概述 1.Apache Doris&#xff08;原名Palo&#xff09;最早诞生于百度广告报表业务&#xff0c;2017…...

在MFC中使用Qt(六):深入了解QMfcApp

前言 此前系列文章回顾&#xff1a; 在MFC中使用Qt&#xff08;一&#xff09;&#xff1a;玩腻了MFC&#xff0c;试试在MFC中使用Qt&#xff01;&#xff08;手动配置编译Qt&#xff09; 在MFC中使用Qt&#xff08;二&#xff09;&#xff1a;实现Qt文件的自动编译流程 在M…...

JWT在线解密/JWT在线解码 - 加菲工具

JWT在线解密/JWT在线解码 首先进入加菲工具 选择 “JWT 在线解密/解码” https://www.orcc.top 或者直接进入JWT 在线解密/解码 https://www.orcc.top/tools/jwt 进入功能页面 使用 输入对应的jwt内容&#xff0c;点击解码按钮即可...

【机器学习】——机器学习思考总结

摘要 这篇文章深入探讨了机器学习中的数据相关问题&#xff0c;重点分析了神经网络&#xff08;DNN&#xff09;的学习机制&#xff0c;包括层级特征提取、非线性激活函数、反向传播和梯度下降等关键机制。同时&#xff0c;文章还讨论了数据集大小的标准、机器学习训练数据量的…...

高效定位 Go 应用问题:Go 可观测性功能深度解析

作者&#xff1a;古琦 背景 自 2024 年 6 月 26 日&#xff0c;阿里云 ARMS 团队正式推出面向 Go 应用的可观测性监控功能以来&#xff0c;我们与程序语言及编译器团队携手并进&#xff0c;持续深耕技术优化与功能拓展。这一创新性的解决方案旨在为开发者提供更为全面、深入且…...

emWin图片旋转

图片取模&#xff1a; //emwin6.16 //正常绘制 hMem0 GUI_MEMDEV_Create(0, 0, bmPHPH.XSize, bmPHPH.YSize); hMem1 GUI_MEMDEV_Create(0, 0, bmPHPH.XSize, bmPHPH.YSize); //正常绘制 hMem0 GUI_MEMDEV_CreateFixed32 (0,0, bmPHPH.XSize, bmPHPH.YSize); hMem1 GUI_M…...

CSS 父类元素的伪类 选择器

父元素的 :hover 状态可以影响子元素的样式。当父元素处于 :hover 状态时&#xff0c;可以通过 CSS 的选择器为子元素设置样式。 .parent:hover .child 这种选择器叫做 后代选择器&#xff08;Descendant Selector&#xff09; &#xff0c;结合了 :hover 伪类。它的作用是&…...

【Spring Boot 与 Spring Cloud 深度 Mape 之三】服务注册与发现:Nacos 核心实战与原理浅析

【Spring Boot 与 Spring Cloud 深度 Mape 之三】服务注册与发现&#xff1a;Nacos 核心实战与原理浅析 #SpringCloudAlibaba #Nacos #服务注册 #服务发现 #服务治理 #微服务 #SpringBoot #Java 系列衔接&#xff1a;在前两篇 [【深度 Mape 之一】 和 [【深度 Mape 之二】] 中…...

JS实现动态点图酷炫效果

实现目标 分析问题 整个图主要是用canvas实现&#xff0c;其中难点是将线的长度控制在一定范围内、并且透明度随长度变化。 前置知识 canvas绘制点、线、三角形、弧形 // 点ctx.moveTo(this.x, this.y);ctx.arc(this.x, this.y, this.r,0, 2 * Math.PI, false);ctx.fillStyle …...

使用ModbusRTU读取松下测高仪的高度

使用C#通过Modbus RTU读取松下测高仪高度 1. 准备工作 1.1 硬件连接 确保松下测高仪支持Modbus RTU协议(需查阅设备手册确认)。通过RS-485或RS-232接口连接设备与计算机,可能需要USB转串口适配器。确认通信参数(波特率、数据位、停止位、奇偶校验),常见设置为:9600波特…...

SQL Server从安装到入门一文掌握应用能力。

本篇文章主要讲解,SQL Server的安装教程及入门使用的基础知识,通过本篇文章你可以快速掌握SQL Server的建库、建表、增加、查询、删除、修改等基本数据库操作能力。 作者:任聪聪 日期:2025年3月31日 一、SQL Server 介绍: SQL Server 是微软旗下的一款主流且优质的数据库…...

Ubuntu上给AndroidStudio创建桌面图标

最近使用了Ubuntu开发了&#xff0c;默认的android studio没有桌面图标&#xff0c;还是很不方便&#xff0c;每次都要cd到bin目录启动studio.sh。 步骤1&#xff1a;cd /usr/share/applications linux系统里面&#xff0c;所有的应用启动入口都在 /usr/share/applications …...

HarmonyOS:ComposeTitleBar 组件自学指南

在日常的鸿蒙应用开发工作中&#xff0c;我们常常会面临构建美观且功能实用的用户界面的挑战。而标题栏作为应用界面的重要组成部分&#xff0c;它不仅承载着展示页面关键信息的重任&#xff0c;还能为用户提供便捷的操作入口。最近在参与的一个项目里&#xff0c;我就深深体会…...

C# System.Net.Dns 使用详解

总目录 前言 在网络编程中&#xff0c;域名系统&#xff08;DNS&#xff09;是互联网的核心组成部分之一&#xff0c;它将人类可读的域名转换为机器可用的IP地址。在.NET框架中&#xff0c;System.Net.Dns类提供了一组静态方法&#xff0c;用于执行与DNS相关的操作。本文将详细…...

Spring-事务属性

1.隔离属性 数据库对于隔离属性的支持 隔离属性的值MySQLOracle ISOLATION.READ_COMMITTED √ √ ISOLATION.REPEATABLE_READ√ISOLATION.SERIALIZABLE√√ Oracle不支持REPEATABLE_READ值 如何解决不可重复度 采用的多版本比对的方式 解决不可重复读 默认隔离属性 ISO…...

“上云入端” 浪潮云剑指组织智能化落地“最后一公里”

进入2025年&#xff0c;行业智能体正在成为数实融合的核心路径。2025年初DeepSeek开源大模型的横空出世&#xff0c;通过算法优化与架构创新&#xff0c;显著降低算力需求与部署成本&#xff0c;推动大模型向端侧和边缘侧延伸。其开源策略打破技术垄断&#xff0c;结合边缘计算…...

Docker 的实质作用是什么

Docker 的实质作用是什么 目录 Docker 的实质作用是什么**1. Docker 的实质作用****2. 为什么使用 Docker?****(1)解决环境一致性问题****(2)提升资源利用率****(3)简化部署与扩展****(4)加速开发与协作****3. 举例说明****总结**Docker 的实质是容器化平台,核心作用…...

WEB安全--文件上传漏洞--白名单绕过

一、MIME类型&#xff08;Content-Type&#xff09;绕过 原理&#xff1a;在我们不能绕过白名单后缀限制时&#xff0c;如果后端检测的是文件类型&#xff08;数据包中的Content-Type字段&#xff09;&#xff0c;那我们可以利用合法类型替换 示例&#xff1a;在上传,php后缀…...

Mac 本地化部署 dify

Macbook 本地化部署 dify 目录 Macbook 本地化部署 dify安装dockerdocker下载地址 安装dify下载dify到本地github可能遇到的问题: github打开超时在本地解压dify.zip文件本地化部署docker部署可能遇到的问题: 部署超时登录体验 dify 安装docker docker下载地址 根据电脑芯片选…...

MySQL和navicat日常使用记录

navicat界面上之前跟localhost连接的数据库可以直接点开了 这里有excel导入的地方 然后添加文件&#xff0c;选则文件是哪个&#xff0c;勾选excel的表是哪个&#xff0c;根据实际情况定义一些附加选项&#xff0c;注意时间格式&#xff0c;下一步下一步&#xff0c;然后选择主…...

linux进程信号 ─── linux第27课

在 Linux 系统中&#xff0c;信号&#xff08;Signals&#xff09; 是一种进程间通信&#xff08;IPC&#xff09;机制&#xff0c;用于通知进程发生了某种事件或请求进程执行特定操作。 你怎么能识别信号呢&#xff1f;识别信号是内置的&#xff0c;进程识别信号&#xff0c;是…...

云安全之k8s未授权漏洞总结

一、k8s介绍 全称是 kubernetes&#xff0c;是谷歌在2014年推出的一种开源容器编排系统&#xff0c;后来捐赠给了云原生计算基金会&#xff08;CNCF&#xff09;。因将k后面的8个字母进行缩写后&#xff0c;被广泛简称为K8s。随着容器技术的发展&#xff0c;面临着容器数量庞大…...

博客学术汇测试报告

Author&#xff1a;MTingle major:人工智能 Build your hopes like a tower! 目录 一.项目简介 二.开发技术 三.测试用例设计 四.自动化测试代码 common包 博客编辑 博客列表 登录页面 未登录测试 主函数 五.性能测试 六.测试总结 一.项目简介 该项目是一款基于 S…...

揭秘:父子组件之间的传递

基础知识 组件与组件之间有三大方面的知识点&#xff1a; 子组件通过props defineProps&#xff08;{}&#xff09;接收父组件传递到参数和方法&#xff1b;子组件可以通过定义 emit 事件&#xff0c;向父组件发送事件&#xff1b;父组件调用子组件通过defineExpose 导出的方法…...

leetcode 169.Majority Element

这道题虽然简单&#xff0c;但适合用来练习各种解法。《剑指offer》5.2节 面试题29与此题一样&#xff0c;并且给出了leetcode官方题解未给出的快速选择的解法。 方法一、用哈希表解决 class Solution { public:int majorityElement(vector<int>& nums) {unordered…...

魔改chromium——基础环境搭建

谷歌chromium环境要求详细文档 软件和环境要求&#xff0c;必须安装&#xff0c;硬性要求 系统环境&#xff1a;Windows 10&#xff0c;内存最小8GB&#xff0c;推荐16GB&#xff0c;NTFS格式磁盘最少100GB空间Git版本&#xff1a;安装最新版本即可&#xff0c;Git桌面端下载…...

[网络_1] 因特网 | 三种交换 | 拥塞 | 差错 | 流量控制

目录 一、网络、互连网与因特网 二、因特网发展 三、因特网的组成与功能 四、计算机网络的分类 五、因特网的标准化与意义 一、三种传输方式&#xff1a;电路交换 vs 报文交换 vs 分组交换 1. 电路交换&#xff08;Circuit Switching&#xff09;——像“打电话” 2. 报…...

android 何如查找内网设备 IP

前沿 最近在与嵌入式设备打交道,需要对设备进行配网。发现 UpnP 服务不稳定,经常收不到设备的信息。就想着能不能通过内网查找到 IP 后,直接与设备通信,不停的请求设备信息。 1.Android 端通过 UDP 组播(Multicast)查找设备 如果嵌入式设备支持 UDP 组播,Android 端可…...

Oracle数据库数据编程SQL<3.5 PL/SQL 存储过程(Procedure)>

存储过程(Stored Procedure)是 Oracle 数据库中一组预编译的 PL/SQL 语句集合&#xff0c;存储在数据库中并可通过名称调用执行。它们是企业级数据库应用开发的核心组件。 目录 一、存储过程基础 1. 存储过程特点 2. 创建基本语法 3. 存储过程优点 4. 简单示例 二、没有…...

六级词汇量积累day13

commend 表扬 exhaust 耗尽&#xff0c;用尽 weary 疲惫的&#xff0c;劳累的 fatigue 疲惫&#xff0c;劳累 obese 臃肿的&#xff0c;肥胖的 adopt 采纳&#xff0c;收养 adapt 适应 accomplish 完成&#xff0c;实现 accomplishment 成就 achieve 实现&#xff0c;完成 achi…...

蓝桥杯15届JAVA_A组

将所有1x1转化为2x2 即1x1的方块➗4 然后计算平方数 记得-1 2 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter;public class Main{static BufferedReader in new BufferedReader(new In…...

OpenCV图像输入输出模块imgcodecs(imwrite函数的用法)

《OpenCV计算机视觉开发实践&#xff1a;基于Python&#xff08;人工智能技术丛书&#xff09;》(朱文伟&#xff0c;李建英)【摘要 书评 试读】- 京东图书 3.2.3 imwrite保存图片 函数imwrite可以用来输出图像到文件&#xff0c;其声明如下&#xff1a; imwrite(filename,…...

win 远程 ubuntu 服务器 安装图形界面

远程结果&#xff1a;无法使用docker环境使用此方法 注意要写IP和:数字 在 ubuntu 服务器上安装如下&#xff1a; # 安装 sudo apt-get install tightvncserver # 卸载 sudo apt purge tightvncserver sudo apt autoremove#安装缺失的字体包&#xff1a; sudo apt update s…...

地下管线三维建模软件工具MagicPipe3D V3.6.1

经纬管网建模系统MagicPipe3D&#xff0c;基于二维矢量管线管点数据本地离线参数化构建地下管网三维模型&#xff08;包括管道、接头、附属设施等&#xff09;&#xff0c;输出标准3DTiles、Obj模型等格式&#xff0c;支持Cesium、Unreal、Unity、Osg等引擎加载进行三维可视化、…...

vue子组件生命周期的执行顺序

在 Vue 中&#xff0c;子组件的生命周期钩子函数的执行顺序受父组件的影响&#xff0c;通常遵循**“先创建子组件&#xff0c;后创建父组件&#xff1b;先销毁父组件&#xff0c;后销毁子组件”**的原则。 1. 组件创建&#xff08;挂载&#xff09;阶段 当父组件挂载时&#x…...

【含文档+PPT+源码】基于微信小程序的在线考试与选课教学辅助系统

项目介绍 本课程演示的是一款基于微信小程序的在线考试与选课教学辅助系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含&#xff1a;项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行本套系统…...

树莓派超全系列文档--(17)树莓派配置显示器

树莓派配置显示器 显示支持 HDMI 显示器设置分辨率和旋转手动设置分辨率和旋转确定显示设备名称设置自定义分辨率设置自定义旋转 控制台分辨率和旋转 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 显示 要配置 Raspberry Pi 使用非默认显示模式…...

python将pdf文件转为图片,如果pdf文件包含多页,将转化的多个图片通过垂直或者水平合并成一张图片

要将PDF文件转换为图片&#xff0c;并将多页PDF垂直合并成一张图片&#xff0c;可以使用PyMuPDF&#xff08;也称为fitz&#xff09;库来读取PDF文件&#xff0c;并使用Pillow库来处理和合并图片。以下是一个示例代码&#xff0c;展示了如何实现这个功能&#xff1a; 首先&…...

JVM基础原理

JVM是一个虚拟化的计算机&#xff0c;它可以执行Java字节码文件&#xff08;.class文件&#xff09;&#xff0c;实现Java程序跨平台的特性。JVM负责将Java程序的字节码翻译成具体操作系统的机器码&#xff0c;从而能够在不同的平台上运行。JVM的核心原理涉及以下几个重要方面 …...

Miniforge3高效管理 Python环境:2025年最新实践指南

Miniforge3 高效管理 Python 环境:2025 年最新实践指南 在现代开发中,灵活高效地管理 Python 环境至关重要。Miniforge3 作为一款轻量级 Conda 管理工具,不仅默认采用更新更快的 conda-forge 软件源,还对 ARM 架构(例如 Apple M1/M2/M3)有着出色的适配性。相比于传统的 …...

31天Python入门——第17天:初识面向对象

你好&#xff0c;我是安然无虞。 文章目录 面向对象编程1. 什么是面向对象2. 类(class)3. 类的实例关于self 4. 对象的初始化5. __str__6. 类之间的关系继承关系组合关系 7. 补充练习 面向对象编程 1. 什么是面向对象 面向对象编程是一种编程思想,它将现实世界的概念和关系映…...

困于环中的机器人

************* c topic: 1041. 困于环中的机器人 - 力扣&#xff08;LeetCode&#xff09; ************* Inspect the topic first. And it looks really familiar with another robot topic. 657. 机器人能否返回原点 - 力扣&#xff08;LeetCode&#xff09;https://lee…...

阿里 FunASR 开源中文语音识别大模型应用示例(准确率比faster-whisper高)

文章目录 Github官网简介模型安装非流式应用示例流式应用示例 Github https://github.com/modelscope/FunASR 官网 https://www.funasr.com/#/ 简介 FunASR是一个基础语音识别工具包&#xff0c;提供多种功能&#xff0c;包括语音识别&#xff08;ASR&#xff09;、语音端…...

spring boot前后端开发上传文件时报413(Request Entity Too Large)错误的可能原因及解决方案

可能原因及解决方案 1. Spring Boot默认文件大小限制 原因&#xff1a;Spring Boot默认单文件最大为1MB&#xff0c;总请求体限制为10MB。解决方案&#xff1a; 在application.properties中配置&#xff1a;spring.servlet.multipart.max-file-size10MB # 单文件最大 spring…...