大模型,多模态大模型面试问题【计算图,LLama,交叉熵,SiLU,RLHF】

news2024/12/27 3:03:41

大模型,多模态大模型面试问题【计算图,LLama,交叉熵,SiLU,RLHF】

  • 问题一:讲一讲计算图中pytorch是什么,TensorFlow是什么?
      • 1. PyTorch
      • 2. TensorFlow
      • 区别总结
  • 问题二:Llama网络结构介绍
  • 问题三:llama和bert比的不同
  • 问题四:gpt3.5支持的最长输入是多少?
  • 问题五:为什么分类用交叉熵不用MSE(从梯度的角度想一下)?
  • 问题六:SiLU介绍一下
      • **1. 定义**
      • **2. 特性**
      • **3. 与其他激活函数的比较**
      • **4. 优势**
      • **5. 使用方法**
      • **6. 应用场景**
      • **7. 注意事项**
      • **8. 总结**
  • 问题七:详细介绍一下RLHF。
  • **RLHF(基于人类反馈的强化学习)详解**
    • **1. 什么是 RLHF?**
    • **2. 背景与动机**
    • **3. RLHF 的核心流程**
      • **3.1 初始模型训练**
      • **3.2 收集人类反馈数据**
      • **3.3 训练奖励模型**
      • **3.4 强化学习优化**
    • **4. 关键组件详解**
      • **4.1 奖励模型(Reward Model)**
      • **4.2 强化学习算法**
    • **5. RLHF 的应用案例**
      • **5.1 自然语言处理**
      • **5.2 内容过滤和审查**
    • **6. RLHF 的优势**
    • **7. 挑战与限制**
      • **7.1 数据收集成本**
      • **7.2 奖励模型的偏差**
      • **7.3 技术复杂性**
    • **8. 未来发展方向**
    • **9. 总结**
    • **参考文献**

问题一:讲一讲计算图中pytorch是什么,TensorFlow是什么?

在计算图领域,PyTorch 和 TensorFlow 是两种主要的深度学习框架,分别提供了动态和静态计算图的构建方式,使得用户能够设计和训练复杂的神经网络模型。

1. PyTorch

  • 动态计算图:PyTorch 使用动态图(Dynamic Computational Graph),每次计算时都会重新构建计算图,使得代码灵活且易于调试。动态图的优势在于可以在运行时根据数据的变化动态调整模型结构,适合一些复杂的模型。
  • Pythonic风格:PyTorch 的接口设计贴近 Python,符合 Python 语言的编程习惯,降低了学习门槛。
  • 流行领域:PyTorch 因灵活性和调试友好,受到研究和实验用户的青睐,特别是在计算机视觉和自然语言处理领域。

2. TensorFlow

  • 静态计算图:TensorFlow 默认使用静态计算图(Static Computational Graph),在运行前定义好计算图结构,在训练和推理时重复使用这个图。这种方式适合大规模的生产环境,图优化的潜力更大。
  • 性能优化:由于静态计算图,TensorFlow 能够对图进行更多的优化,支持更高效的内存分配和分布式计算,适合企业级部署。
  • 应用领域:TensorFlow 在产品化、规模化部署的项目中被广泛应用,拥有较成熟的生态和工具,如 TensorFlow Serving、TensorFlow Lite 等。

区别总结

  • 计算图模式:PyTorch 是动态图,TensorFlow 是静态图(2.0以后支持动态图)。
  • 灵活性和调试性:PyTorch 更加灵活、易调试,TensorFlow 在性能和大规模部署上更有优势。
  • 用户群体:PyTorch 更适合科研和实验,TensorFlow 更适合生产和部署。

总之,PyTorch 更注重代码的动态性和可操作性,而 TensorFlow 强调性能优化和部署灵活性。

问题二:Llama网络结构介绍

绝对位置编码的优点是计算速度快等,缺点是拓展长度比较麻烦,且绝对位置并没有什么实际意义。而相对位置编码对学习token之间的关系很有意义,比如距离的很远的两个token之间的关联大概率很小,使用相对位置编码往往能够获得更好的效果。此外拓展长度也更容易,因为不论context size多长,只需关注最长距离以内的输入即可。相对位置编码的缺点是没有绝对位置编码计算速度快。

当我们计算Attention时,RoPE可以变成相对位置编码。

参考Llama网络结构介绍

LLaMA(Large Language Model Meta AI)是Meta(Facebook AI)开发的一个大规模语言模型,专为高效和灵活的生成式任务设计。LLaMA的结构基于Transformer模型,与GPT-3等模型类似,但在优化和训练数据上有不同之处。以下是LLaMA结构的核心特点:

  1. 模型规模与参数分布
    LLaMA模型有不同的参数规模版本(如7B、13B、30B、65B等),适用于多种设备和硬件资源的限制。参数规模越大,模型对知识的掌握和推理能力也越强。

  2. 基于标准Transformer的改进
    LLaMA使用了标准的Transformer架构,包括多层的自注意力和前馈网络层,通过层堆叠来增强语言理解能力。与GPT模型类似,LLaMA使用的架构以高效的自注意力机制处理长序列输入,并进行上下文的建模。

  3. 自回归生成
    LLaMA采用自回归方式生成文本,即逐步生成每个单词的概率分布,通过最大化给定上下文条件下的概率,来产生下一个可能的单词。

  4. 数据集和预训练
    LLaMA在高质量的互联网数据集上进行预训练。不同于GPT-3在大规模互联网数据上的预训练,LLaMA选择了较少但更有代表性的数据,这样在计算资源的使用上更高效。

  5. 优化和训练策略
    Meta在LLaMA的训练中使用了精细化的优化方法,包括混合精度训练(FP16/FP32)和分布式训练框架,以实现更快的收敛速度和资源的有效利用。此举有效降低了训练成本,使得模型更易于扩展。

  6. 高效推理优化
    LLaMA结构中的参数被压缩以提高推理效率,通过如梯度裁剪、权重剪枝等方式减少冗余,提升在推理阶段的响应速度,适合在较低资源硬件上进行推理任务。

这种设计使得LLaMA具备在不同硬件条件下的高效运行能力,并在特定语言任务中展现了较高的表现。

问题三:llama和bert比的不同

LLaMA和BERT在结构设计、训练方式和应用任务上有明显不同。以下是两者的主要区别:

  1. 模型架构设计目标

    • BERT:是一个双向的Transformer模型,主要用于自然语言理解任务,如文本分类、问答和句子对匹配等。它通过Masked Language Modeling (MLM) 任务来学习词汇和上下文的关系。
    • LLaMA:是自回归生成模型,主要用于自然语言生成任务(如文本生成和续写)。LLaMA的目标是最大化生成序列的概率,逐词预测下一个单词,通常适合生成和对话任务。
  2. 训练方式

    • BERT:采用“遮掩词”预训练(MLM),即在训练时随机遮掩部分词汇,模型需要预测这些被遮掩的词。这样BERT可以理解双向上下文关系,因此在填空、推理等理解类任务中表现很好。
    • LLaMA:采用自回归训练,模型仅从左到右依次生成词汇。这样LLaMA在序列生成时可以保持上下文连贯性,更适合生成类任务。
  3. 应用场景

    • BERT:更适合处理自然语言理解类任务(NLP),如情感分析、文本分类、信息检索等。BERT通过理解上下文和挖掘句子间关系,在准确分析文本内容上有优势。
    • LLaMA:更适合自然语言生成(NLG)任务,如文本续写、摘要生成和对话生成等。它以生成自然流畅的长文本为强项。
  4. 双向性 vs 单向性

    • BERT:是双向模型,可以在同一时间关注句子中前后两端的单词,因此上下文理解更全面。
    • LLaMA:是单向模型,仅使用先前的单词生成下一个单词,因此在连贯生成长句子方面更具优势。
  5. 参数规模和效率

    • BERT:一般规模较小,应用在需要快速理解的任务中。
    • LLaMA:有多个参数规模版本(如7B、13B等),更灵活,并优化了推理效率,在大规模生成任务中表现良好。

总结来说,BERT是更适合文本理解的双向模型,而LLaMA则是更适合文本生成的自回归模型。

问题四:gpt3.5支持的最长输入是多少?

GPT-3.5支持的最长输入长度为4096个token,大约相当于3000-3500个单词,具体数量视文本的词汇和结构而定。

另外,OpenAI还推出了更高容量的GPT-4模型,有两个版本:

  • GPT-4-8k:支持最多 8192个token
  • GPT-4-32k:支持最多 32768个token

这些较大的上下文窗口更适合长文档处理、复杂对话和信息检索任务。

问题五:为什么分类用交叉熵不用MSE(从梯度的角度想一下)?

在分类任务中,我们通常使用交叉熵损失函数而不是均方误差(MSE),这与梯度的性质密切相关。下面从梯度的角度解释原因。

1. 均方误差(MSE)在分类中的问题:

对于二分类问题,假设模型的输出经过Sigmoid激活函数,得到预测值 y ^ = σ ( z ) \hat{y} = \sigma(z) y^=σ(z),其中 z z z 是网络的线性输出。

使用 MSE 损失函数:
L MSE = 1 2 ( y ^ − y ) 2 L_{\text{MSE}} = \frac{1}{2} (\hat{y} - y)^2 LMSE=21(y^y)2

计算损失对 z z z 的梯度:
∂ L MSE ∂ z = ( y ^ − y ) ⋅ ∂ y ^ ∂ z = ( y ^ − y ) ⋅ y ^ ( 1 − y ^ ) \frac{\partial L_{\text{MSE}}}{\partial z} = (\hat{y} - y) \cdot \frac{\partial \hat{y}}{\partial z} = (\hat{y} - y) \cdot \hat{y}(1 - \hat{y}) zLMSE=(y^y)zy^=(y^y)y^(1y^)

注意到梯度中有 y ^ ( 1 − y ^ ) \hat{y}(1 - \hat{y}) y^(1y^) 项。当 y ^ \hat{y} y^ 接近 0 或 1(即 z z z 的绝对值较大)时, y ^ ( 1 − y ^ ) \hat{y}(1 - \hat{y}) y^(1y^) 将非常小,导致梯度消失。这会使得模型学习变得非常缓慢,因为参数更新的步长变得极小。

2. 交叉熵在分类中的优势:

使用二元交叉熵损失函数:
L CE = − [ y ln ⁡ ( y ^ ) + ( 1 − y ) ln ⁡ ( 1 − y ^ ) ] L_{\text{CE}} = - [ y \ln(\hat{y}) + (1 - y) \ln(1 - \hat{y}) ] LCE=[yln(y^)+(1y)ln(1y^)]

计算损失对 z z z 的梯度:
∂ L CE ∂ z = y ^ − y \frac{\partial L_{\text{CE}}}{\partial z} = \hat{y} - y zLCE=y^y

这里,梯度仅仅是预测值与真实值的差,没有 y ^ ( 1 − y ^ ) \hat{y}(1 - \hat{y}) y^(1y^) 项。这意味着即使在 y ^ \hat{y} y^ 接近 0 或 1 时,梯度仍然保持较大,不会出现梯度消失的问题。

3. 梯度对比与影响:

  • MSE 梯度: 包含 y ^ ( 1 − y ^ ) \hat{y}(1 - \hat{y}) y^(1y^),在输出饱和时梯度趋近于零。
  • 交叉熵梯度: 仅为 y ^ − y \hat{y} - y y^y,在整个激活函数输出范围内都能保持有效的梯度。

4. 结论:

从梯度的角度来看,交叉熵损失函数在分类任务中提供了更稳定和有效的梯度信号,避免了由于激活函数饱和导致的梯度消失问题。这使得模型能够更快速、更可靠地学习,从而在分类任务中取得更好的性能。

因此,我们在分类任务中更倾向于使用交叉熵损失函数,而不是均方误差。

问题六:SiLU介绍一下

SILU(Sigmoid-Weighted Linear Unit)激活函数

在机器学习,特别是深度学习中,激活函数是神经网络的重要组成部分。SILU(Sigmoid-Weighted Linear Unit),也称为 SiLU,是一种新兴的激活函数,旨在提高神经网络的性能。


1. 定义

SILU 激活函数的数学表达式为:

SiLU ( x ) = x ⋅ σ ( x ) \text{SiLU}(x) = x \cdot \sigma(x) SiLU(x)=xσ(x)

其中, σ ( x ) \sigma(x) σ(x) 是 Sigmoid 函数:

σ ( x ) = 1 1 + e − x \sigma(x) = \frac{1}{1 + e^{-x}} σ(x)=1+ex1

因此,SiLU 等于输入 x x x 乘以其 Sigmoid 激活值。


2. 特性

  • 平滑性: SiLU 是连续可导的平滑函数,有助于梯度传播和优化过程。
  • 非线性: 通过引入非线性,有助于神经网络学习复杂的模式。
  • 自门控机制: 输入 x x x 同时影响幅值和激活状态,实现了自适应的门控效果。
  • 输出范围: x x x 趋近于负无穷大时, SiLU ( x ) \text{SiLU}(x) SiLU(x) 接近 0;当 x x x 趋近于正无穷大时, SiLU ( x ) \text{SiLU}(x) SiLU(x) 接近 x x x

3. 与其他激活函数的比较

  • 与 ReLU: ReLU(Rectified Linear Unit)在 x < 0 x < 0 x<0 时输出为 0,而 SiLU 在 x < 0 x < 0 x<0 时仍有小的负输出,避免了 ReLU 的“死亡神经元”问题。
  • 与 Swish: Swish 激活函数形式为 Swish ( x ) = x ⋅ σ ( β x ) \text{Swish}(x) = x \cdot \sigma(\beta x) Swish(x)=xσ(βx)。当 β = 1 \beta = 1 β=1 时,Swish 就是 SiLU。因此,SiLU 可以看作是 Swish 的特殊情况。LLaMA没有使用ReLU,而是使用了SwiGLU,有时也被称为SiLU。
  • 与其他激活函数: 相比 ELU、Leaky ReLU 等,SiLU 提供了更平滑的曲线,有助于模型的泛化能力。
    在这里插入图片描述

4. 优势

  • 提升模型性能: 实验表明,在某些任务中,使用 SiLU 可以提高模型的准确率和收敛速度。
  • 稳定的梯度: 平滑的性质使梯度更新更稳定,减少了梯度消失或爆炸的风险。
  • 自适应性: 自门控机制使激活函数能够根据输入动态调整,有利于捕获复杂的模式。

5. 使用方法

在深度学习框架中,如 PyTorch 和 TensorFlow,都支持 SiLU 激活函数。

在 PyTorch 中:

import torch.nn.functional as F

# 在前向传播中使用 SiLU
def forward(self, x):
    x = F.silu(x)
    return x

在 TensorFlow 中:

import tensorflow as tf

# 在构建模型时使用 SiLU
x = tf.keras.layers.Activation('swish')(x)

6. 应用场景

  • 计算机视觉: 在图像分类和目标检测任务中,SiLU 可提高模型的识别能力。
  • 自然语言处理: 在序列建模和文本生成任务中,使用 SiLU 有助于捕获复杂的语言模式。
  • 强化学习: 在策略网络和价值网络中,SiLU 可提供更稳定的训练过程。

7. 注意事项

  • 计算成本: 由于涉及到指数计算,SiLU 的计算量略高于 ReLU,需要在资源受限的环境中权衡。
  • 实验验证: 虽然 SiLU 有诸多优势,但在实际应用中,最好通过实验验证其效果是否优于其他激活函数。

8. 总结

SILU(SiLU)激活函数结合了线性和非线性特性,提供了平滑且自适应的激活机制。其独特的优势使其在深度学习的各种任务中展现出良好的性能,是值得关注和尝试的激活函数。

问题七:详细介绍一下RLHF。

RLHF(基于人类反馈的强化学习)详解


1. 什么是 RLHF?

RLHF(Reinforcement Learning from Human Feedback),即基于人类反馈的强化学习,是一种结合强化学习和人类反馈的信息来训练机器学习模型的方法。其核心思想是利用人类的偏好和反馈来指导模型的训练,使其生成更符合人类期望的输出。


2. 背景与动机

传统的机器学习模型通常依赖于预先标注的数据进行训练。然而,在许多复杂的任务中,例如自然语言生成、对话系统和内容过滤等,难以获得高质量的标注数据,或者标注成本过高。此外,模型可能会学到与人类期望不一致的行为。

RLHF 的引入旨在解决以下问题:

  • 提高模型输出的质量和可靠性:通过人类反馈,模型能够更好地理解什么是“好的”输出。
  • 减少有害或不恰当内容的生成:在人类反馈的指导下,模型可以避免生成不符合道德或法律规范的内容。
  • 增强模型的可控性:人类可以通过反馈直接影响模型的行为,使其朝着期望的方向发展。

3. RLHF 的核心流程

RLHF 的训练过程通常包括以下几个步骤:

3.1 初始模型训练

首先,使用传统的有监督学习方法,利用已有的数据对模型进行初始训练。这一步旨在让模型具备基本的任务能力,例如生成语法正确的句子。

3.2 收集人类反馈数据

在人类反馈阶段,需要:

  • 构建对比数据集:让模型生成多个候选输出(如回复或文本段落)。
  • 人类评估:人类评估者对这些候选输出进行比较,选择他们认为更好的一个。

3.3 训练奖励模型

利用收集的人类偏好数据,训练一个奖励模型,该模型能够根据输入和输出对模型的行为进行打分,反映人类的偏好。

3.4 强化学习优化

使用强化学习算法(如 Proximal Policy Optimization,PPO),在奖励模型的指导下,对初始模型进行进一步优化。目标是最大化模型在奖励模型下的期望回报。


4. 关键组件详解

4.1 奖励模型(Reward Model)

  • 作用:模拟人类对模型输出的偏好,给出一个评分,指导模型优化。
  • 训练方法:利用人类反馈的比较数据,训练一个模型,使其能够预测人类更偏好的输出。

4.2 强化学习算法

  • PPO(近端策略优化):一种常用的强化学习算法,适用于大规模模型的训练,具有稳定性和高效性。
  • 目标函数:通过最大化奖励模型给出的评分,优化模型的参数。

5. RLHF 的应用案例

5.1 自然语言处理

  • 对话系统:如 OpenAI 的 ChatGPT,通过 RLHF,让模型生成更符合人类期望的回复。
  • 机器翻译:利用人类反馈,提高翻译的准确性和流畅性。

5.2 内容过滤和审查

  • 有害内容检测:模型通过人类反馈,学习识别并避免生成不当内容。
  • 个性化推荐:根据用户的反馈,调整推荐系统的输出,更符合用户喜好。

6. RLHF 的优势

  • 提高模型输出质量:直接利用人类的偏好,生成更符合预期的结果。
  • 减少不当行为:通过人类反馈,模型可以避免生成有害或不恰当的内容。
  • 增强可解释性:奖励模型的引入,使得模型的优化目标更透明。

7. 挑战与限制

7.1 数据收集成本

  • 人力资源需求高:需要大量的人类评估者参与数据收集,成本较高。

7.2 奖励模型的偏差

  • 主观性:人类的偏好具有主观性,可能引入偏差。
  • 泛化能力:奖励模型可能在未见过的数据上表现不佳,影响模型优化。

7.3 技术复杂性

  • 训练难度:结合强化学习和监督学习,训练过程复杂,需解决稳定性和效率问题。

8. 未来发展方向

  • 自动化反馈机制:研究如何利用用户行为数据,减少对显式人类反馈的依赖。
  • 多模态 RLHF:将 RLHF 扩展到图像、音频等多模态任务中。
  • 公平性和道德性:加强对模型偏差的监控,确保模型输出符合伦理规范。

9. 总结

RLHF(基于人类反馈的强化学习)是一种有效的模型优化方法,通过融合人类的偏好信息,显著提高了模型的性能和可控性。尽管面临一些挑战,但随着技术的进步和应用的拓展,RLHF 在人工智能领域具有广阔的前景。


参考文献

  • Christiano, P., Leike, J., Brown, T., et al. (2017). Deep Reinforcement Learning from Human Preferences.
  • OpenAI. (2022). ChatGPT: Optimizing Language Models for Dialogue.
  • Ziegler, D., Stiennon, N., Wu, J., et al. (2019). Fine-Tuning Language Models from Human Preferences.

创作不易,观众老爷们请留步… 动起可爱的小手,点个赞再走呗 (๑◕ܫ←๑)
欢迎大家关注笔者,你的关注是我持续更博的最大动力


原创文章,转载告知,盗版必究



在这里插入图片描述


在这里插入图片描述
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2228667.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

learnopencv系列一:使用神经网络进行特征匹配(LoFTR、XFeat、OmniGlue)、视频稳定化、构建Chrome Dino游戏机器人

文章目录 一、使用神经网络进行特征匹配1.1 什么是图像特征&#xff1f;1.2 特征匹配的应用场景——为什么在2024年还要进行特征匹配&#xff1f;1.3 特征匹配——经典方法与深度学习1.3.1 经典特征匹配1.3.2 深度学习特征匹配1.3.3 XFeat1.3.3.1 网络结构1.3.3.2 局部特征提取…

MySQL 数据出海之数据同步方案

优质博文&#xff1a;IT-BLOG-CN 数据库出海流程 【1】业务出海&#xff1a;1&#xff09;数据库出海&#xff1b;2&#xff09;应用出海&#xff1b;3&#xff09;流量分发&#xff1b; 【2】数据库出海&#xff1a;涉及业务方、信安、DBA和框架组。 数据库出海&#xff0c…

Elasticsearch 安装教程:驾驭数据海洋的星际导航仪

目录 一、准备工作1. ES的下载 二、安装步骤三、注意事项四、启动报错1. org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root2. max virtual memory areas vm.max_map_count [65530] is too low, increase to at l…

RK3568平台开发系列讲解(I2C篇)I2C 上拉电阻

🚀返回专栏总目录 文章目录 一、接上拉电阻的作用二、I2C 上拉电阻阻值计算沉淀、分享、成长,让自己和他人都能有所收获!😄 I2C 的硬件连接如下图所示: 可以看到在 SDA 数据线和 SCL 时钟线上都需要接一个上拉电阻? 一、接上拉电阻的作用 SDA 数据线和 SCL 时钟线上接…

使用AIM对SAP PO核心指标的自动化巡检监控

一、背景 由于SAP PO系统维护成本较高&#xff0c;各类型异常报错等都需要人员进行时刻监控和响应&#xff0c;遂由AIM平台进行自动化巡检SAP PO的各指标&#xff0c;然后告警通知用户&#xff0c;节省维护成本和提高工作效率 二、核心指标监控 SAP PO失败消息 适用于S…

Golang | Leetcode Golang题解之第521题最长特殊序列I

题目&#xff1a; 题解&#xff1a; func findLUSlength(a, b string) int {if a ! b {return max(len(a), len(b))}return -1 }func max(a, b int) int {if b > a {return b}return a }

C语言:动态内存管理【上】

一. malloc C语言提供了一个动态内存开辟的函数&#xff1a; 1 void* malloc (size_t size);这个函数向内存申请一块连续可用的空间&#xff0c;并返回指向这块空间的指针。 &#xff0e;如果开辟成功&#xff0c;则返回一个指向开辟好空间的指针。 &#xff0e;如果开辟失败…

10.24.2024刷华为OD C题型(四) -- 对象list按照多个属性排序

文章目录 最长连续子序列AI面板识别语法知识记录 最长连续子序列 https://www.nowcoder.com/discuss/592408743019589632 if __name__ "__main__":# 获取用户输入# numbers int(input().split(,))# str_arr input().split(,)arr [int(num) for num in input(…

ubuntu 24 (wayland)如何实现无显示器远程桌面

ubuntu 24默认采用的是wayland而非x11&#xff0c;查过文档vnc对wayland的支持不是很好&#xff0c;折腾了好久&#xff0c;弄了一个如下的方案供参考&#xff1a; 硬件条件 需要一个显卡欺骗器或者可以接HDMI口作为视频信号源输出的设备。 将ubuntu的主机的HDMI输出接到该硬…

MATLAB FDATool工具箱入门教程

在数字信号处理领域&#xff0c;滤波器设计是一项基础且关键的任务。MATLAB提供了一个强大的工具——FDATool&#xff08;Filter Design and Analysis Tool&#xff09;&#xff0c;它可以帮助用户轻松设计和分析各种数字滤波器。 本文将带领大家深入了解FDATool&#xff0c;让…

JUC并发编程面试题总结

文章目录 1、创建线程的三种方式2、线程的状态3、线程的上下文切换4、run和start的区别5、sleep和wait区别6、虚假唤醒&#xff0c;精确唤醒7、两阶段终止模式8、多线程下的线程安全问题9、如何解决线程安全问题10、synchornized的原理11、锁升级的机制12、锁消除13、批量重偏向…

<HarmonyOS第一课>给应用添加通知和提醒的习题

无形无名者&#xff0c;万物之宗也。 虽今古不同&#xff0c;时移俗易&#xff0c;故莫不由乎此&#xff0c;以成其治者也。 故可执古之道&#xff0c;以御今之有。 上古虽远&#xff0c;其道存焉&#xff0c;故虽在今&#xff0c;可以知古始也。 天命人, 刷无聊剧本… 本文来…

RabbitMQ 高级特性——事务

文章目录 前言事务配置事务管理器加上Transactional注解 前言 前面我们学习了 RabbitMQ 的延迟队列&#xff0c;通过延迟队列可以实现生产者生产的消息不是立即被消费者消费。那么这篇文章我们将来学习 RabbitMQ 的事务。 事务 RabbitMQ 是基于 AMQP 协议实现的&#xff0c;…

如何查看电脑支持的最大内存数?

① 按一下键盘的win R 键&#xff0c;输入&#xff1a;cmd 然后&#xff0c;点击【确定】&#xff08;或者按一下回车&#xff09; 在黑色窗口输入&#xff1a;wmic memphysical get maxcapacity 如下位置显示为&#xff1a;33554432 然后把这个数字&#xff1a;33554432 连…

二十二、MySQL 8.0 主从复制原理分析与实战

文章目录 一、复制&#xff08;Replication&#xff09;1、什么是复制2、复制的方式3、复制的数据同步类型3.1、异步复制3.2、半同步复制3.3、设计理念&#xff1a;复制状态机——几乎所有的分布式存储都是这么复制数据的 4、基于binlog位点同步的主从复制原理4.1、异步复制示例…

SpringBoot 下的Excel文件损坏与内容乱码问题

序言 随着打包部署的方式的改变&#xff0c;原本正常运行的代码可能带来一些新的问题&#xff0c;比如我们现在使用SpringBoot 的方式生成Jar包直接运行&#xff0c;就会对我们再在Resource下的Excel文件产生影响&#xff0c;导入与预期不符的情况发生cuiyaonan2000163.com 比…

微信小程序生成二维码

目前是在开发小程序端 --> 微信小程序。然后接到需求&#xff1a;根据 form 表单填写内容生成二维码&#xff08;第一版&#xff1a;表单目前需要客户进行自己输入&#xff0c;然后点击生成按钮实时生成二维码&#xff0c;不需要向后端请求&#xff0c;不存如数据库&#xf…

【论文阅读笔记】VLP: A Survey on Vision-language Pre-training

目录 前言2 特征提取&#xff08;Feature extraction&#xff09;2.1.1 图象特征提取OD-based Region feature / RoIFreeze the pre-trained object detectorsGrid features&#xff08;网格特征&#xff09;CNN-GFsEnd-to-End Training&#xff08;端到端训练&#xff09;ViT-…

【科研绘图】3DMAX管状图表生成插件TubeChart使用方法

3DMAX管状图表生成插件TubeChart&#xff0c;一款用于制作3D管状图表的工具。可以自定义切片的数量以及随机或指定切片颜色。 【版本要求】 3dMax 2008及更高版本 【安装方法】 TubeChart插件无需安装&#xff0c;使用时直接拖动插件脚本文件到3dMax视口中打开即可&#xff0…

CSS浮雕效果

效果图&#xff1a; HTML源码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Documen…