Matten:视频生成与Mamba-Attention

news2024/12/23 17:53:11

Matten:视频生成与Mamba-Attention

  • 摘要
  • Introduction
  • Related Work
  • Methodology

Matten: Video Generation with Mamba-Attention

摘要

在本文中,作者介绍了Matten,一种具有Mamba-Attention架构的尖端潜在扩散模型,用于视频生成。在极小的计算成本下,Matten利用空间-时间注意力对局部视频内容进行建模,并使用双向Mamba对全局视频内容进行建模。

作者的全面实验评估表明,Matten在基准性能上与当前的基于Transformer和GAN的模型具有竞争力,实现了更优的FVD得分和效率。

此外,作者观察到作者设计的模型复杂度与视频质量的提升之间存在直接的正相关关系,这表明Matten具有出色的可扩展性。

Introduction

近期在扩散模型方面的进展已经在视频生成方面显示出令人印象深刻的能力。已经观察到,在架构设计上的突破对于这些模型的有效应用至关重要。当代研究主要集中在基于CNN的U-Net架构和基于Transformer的框架上,这两种方法都采用注意力机制来处理视频内容中的时空动态。如图1(a)所示,空间注意力在基于U-Net和基于Transformer的视频生成扩散模型中被广泛使用,它涉及在单帧内的图像标记之间计算自注意力。现有技术通常在时间层内应用局部注意力,如图1(b)所示,其中注意力计算被限制在不同帧中相同位置上。这种方法未能解决捕捉连续帧中不同空间位置间相互关系的关键方面。如图1(c)所示,对于时空分析的一种更有效方法是将不同空间和时间位置的交互进行映射。然而,由于计算注意力的二次复杂度,这种全局注意力方法是计算密集型的,因此需要大量的计算资源。
在这里插入图片描述
在各种领域中,状态空间模型(SSMs)的兴趣日益增长,这主要归功于它们处理长序列数据的能力。

在自然语言处理(NLP)领域,像Mamba模型这样的创新通过在SSM结构中引入动态参数,并构建针对硬件兼容性更好的算法,显著提高了数据推理过程的效率和模型的总体性能。

Mamba框架的实用性已成功扩展到其最初应用之外,证明了其在视觉和多模态应用等领域的有效性。

鉴于处理视频数据的复杂性,作者 Proposal 使用Mamba架构来探索视频内容中的时空交互,如图1(d)所示。然而,值得注意的是,与自注意力层不同,Mamba扫描(本质上不计算标记间的依赖关系)在有效检测局部数据模式方面存在困难,这是[15]指出的局限性。

鉴于Mamba和注意力的优点,作者提出了一种名为Matten的视频生成潜在扩散模型,该模型采用Mamba-Attention架构。具体来说,作者研究了Mamba和注意力机制各种组合对视频生成的影响。作者的研究结果表明,最有效的方法是使用Mamba模块捕捉全局时间关系(图1(d)),同时使用注意力模块捕捉空间和局部时间关系(图1(a)和图1(b))。

作者进行了实验评估,以检查Matten在无条件和有条件视频生成任务中的性能和效果。在所有测试基准中,Matten始终显示出与SOTAs相当的视频生成质量(FVD评分[16])和效率。此外,作者的结果表明Matten是可扩展的,这通过模型复杂性与生成样本质量之间的直接正比关系得到了证明。

总之,作者的贡献如下:

  1. 作者提出了Matten,这是一种集成了Mamba块和注意力操作的新型视频潜在扩散模型,它能够高效且优越地进行视频生成。
  2. 作者设计了四种模型变体,以探索在视频生成中Mamba和注意力的最佳组合。基于这些变体,作者发现采用注意力机制捕捉局部时空细节,并利用Mamba模块捕捉全局信息的途径是最有利的。
  3. 综合评估显示,作者的Matten在计算和参数要求较低的情况下与其他模型取得了相当的性能,并显示出强大的可扩展性。

Related Work

Video Generation
视频生成的主要任务在于产生具有高质量视觉和流畅动作的真实视频片段。此前的视频生成工作可以归纳为三种类型。最初,许多研究者专注于将强大的基于GAN的图像生成技术适配于视频创作。然而,基于GAN的方法可能导致模式崩溃,减少多样性和真实性。
图1:使用Mamba和注意力进行时空建模的不同方式。H、W和F分别代表高度、宽度和帧数。红色标记是一个示例 Query ,蓝色标记意味着与 Query 具有信息交互的标记。蓝色的深浅表示信息交互的强度,颜色越深表示交互越直接。Mamba扫描交互具有线性复杂度,基于标记之间的距离相关;而注意力交互在这些建立标记之间是等价的,具有二次复杂度。为了简化,作者只展示了单向Mamba扫描。

此外,某些模型建议通过自回归模型学习数据分布。这些方法通常能产生高质量的视频,并显示出更可靠的收敛性,但受到其巨大的计算需求的限制。最后,视频生成领域的最新进展集中在开发利用扩散模型的系统,这些模型已显示出巨大的潜力。这些方法主要使用基于CNN的U-Net或Transformer作为模型架构。与这些工作不同,作者的方法专注于在视频扩散中探索结合Mamba和注意力的未被充分研究的领域。### Mamba

Mamba,一种新的状态空间模型,因其通用逼近能力和对长序列的高效建模,最近在深度学习中受到了关注,应用领域包括医学成像、图像恢复、图形、自然语言处理和图像生成。借鉴控制系统,并利用HiPPO初始化[41],这些模型(如LSSL[11])解决了长距离依赖问题,但受到计算需求的限制。为了克服这一点,S4和其他结构化状态空间模型引入了各种配置和机制[10],这些已被整合到更大的表示模型中,用于语言和语音任务。Mamba及其迭代版本,如VisionMamba,S4ND[48],和Mamba-ND[49],展示了从双向SSM到局部卷积和多维考虑的计算策略。对于3D成像,T-Mamba[50]利用Mamba处理长距离依赖的强大能力,解决了正畸诊断中的挑战。在视频理解领域,VideoMamba和Video Mamba Suite[52]将Mamba适配到视频领域,并解决了视频数据中普遍存在的局部冗余和全局依赖的挑战。在利用mamba进行扩散应用领域,Zigzag Mamba[53]提高了生成视觉内容的可扩展性和效率。它采用创新的扫描方法解决了空间连续性的关键问题,融合了文本条件特征,并在高分辨率图像和视频数据集上显示了性能的增强。[54]与作者的工作密切相关,在视频扩散的时间层中使用mamba块。与之前主要关注局部时间建模的研究不同,作者的方法Matten独特地设计为涵盖全局时间维度。

Methodology

作者的讨论从第3.1节对潜在空间扩散模型和状态空间模型的简要概述开始。接着在第3.2节深入描述了Matten模型变体。然后在第3.3节探讨了与时间步或类别相关的条件方法。最后,在第3.4节中,作者呈现了对Mamba与注意力机制进行比较的理论分析。
Background
潜在空间扩散模型[55]。对于输入数据样本 a ∈ P data ( z ) a \in P_{\text{data}}(z) aPdata(z),潜在扩散模型(LDMs)首先使用预训练的VAE或VQ-VAE编码器,将数据样本转换为潜在表示 z = E ( a ) z = E(a) z=E(a)。这种转换之后是一个学习阶段,通过扩散和去噪步骤对数据分布进行建模。

在扩散阶段,逐渐向潜在编码中添加噪声,产生一系列逐渐被扰动的潜在状态 z z z,其中附加噪声的强度由时间步长 t ∈ T t \in T tT表示。一个特殊的模型,如U-Net,被用作噪声估计网络,在去噪阶段估计影响潜在表示 z z z的噪声扰动,旨在最小化潜在扩散目标。

简单地说, E ( z ∼ p ( z ) ) , e ∼ N ( 0 , I ) , t ≤ t 0 ( z t , t ) E(z \sim p(z)), e \sim N(0,I), t \leq t_0(zt, t) E(zp(z)),eN(0,I),tt0(zt,t)

此外,扩散模型 g g g通过学习逆向过程协方差进行增强,使用 L l h L_{lh} Llh进行优化,如[6]所述。

在作者的研究中,c日是使用基于Mamba的框架设计的。同时使用 L simple L_{\text{simple}} Lsimple L olb L_{\text{olb}} Lolb来提高模型的有效性和效率。

状态空间Backbone网络。状态空间模型(SSMs)已经通过理论和实证研究被严格验证能够很好地处理长距离依赖,显示出与数据序列长度成线性扩展的能力。传统上,线性状态空间模型表示为以下类型:

h ′ ( t ) = A ( t ) h ( t ) + B ( t ) z ( t ) , g ( t ) = C ( t ) h ( t ) + D ( t ) z ( t ) h'(t) = A(t)h(t) + B(t)z(t),g(t) = C(t)h(t) + D(t)z(t) h(t)=A(t)h(t)+B(t)z(t)g(t)=C(t)h(t)+D(t)z(t)

该模型描述了一个一维输入序列 a ( t ) ∈ R a(t) \in \mathbb{R} a(t)R转换为一个一维输出序列 g y ( t ) ∈ R g_y(t) \in \mathbb{R} gy(t)R的过程,通过一个 N N N维潜在状态序列 h ( t ) ∈ R N h(t) \in \mathbb{R}^N h(t)RN进行调节。状态空间模型特别设计用于在神经序列建模架构中集成这些基本方程的多个层次,允许每一层的参数 A , B , C A,B,C A,B,C D D D通过深度学习损失函数进行优化。 N N N表示状态大小, A ∈ R N × N A \in \mathbb{R}^{N \times N} ARN×N B ∈ R N × 1 B \in \mathbb{R}^{N \times 1} BRN×1 C ∈ R 1 × N C \in \mathbb{R}^{1 \times N} CR1×N,以及 D ∈ R D \in \mathbb{R} DR
将状态空间模型应用于现实世界的深度学习任务时,如方程式2中详细描述的,离散化过程至关重要,它将连续系统参数如 A A A B B B转换为它们的离散等效参数 A A A B B B。这一关键步骤通常采用零阶保持(ZOH)方法,这一技术在学术研究中因其有效性而广为人知。ZOH方法使用时间尺度参数 Δ \Delta Δ来弥合连续和离散参数之间的差距,从而促进理论模型在计算设置中的应用。

A = exp ( A Δ ) , B = ( A Δ ) − 1 ( exp ( A ) − I ) ⋅ A B A = \text{exp}(A\Delta), B=(A\Delta)^{-1}(\text{exp}(A)-I) \cdot AB A=exp(AΔ),B=(AΔ)1(exp(A)I)AB.

使用这些离散化参数,方程式2中概述的模型然后适应使用时间步长 Δ \Delta Δ的离散框架:

h k = A h k − 1 + B x k , y k = C h k + D z k h_k= Ah_{k-1}+Bx_k, y_k= Ch_k + Dz_k hk=Ahk1+Bxkyk=Chk+Dzk.

这种方法允许将状态空间模型无缝集成到数字平台中。最初为1D序列处理设计的传统Mamba块(如图2所示)并不非常适合需要空间认知的视觉任务。为了解决这一限制,Vision Mamba[13]开发了一种专门针对视觉相关应用的双向Mamba块。这个创新的块通过同时使用前向和后向SSM来处理展平的视觉序列,显著提高了其处理空间感知的能力。
在这里插入图片描述
Mamba采用了一种工作高效的并行扫描,有效地减少了通常与递归计算相关的顺序依赖性。这种优化,结合GPU操作的战略性利用,消除了明确管理扩展状态矩阵的必要性。在作者的研究中,作者探讨了将Mamba架构集成到视频生成框架中,利用其效率和可扩展性。
The Model Variants of Matten
考虑视频片段潜在空间的表示,由 V L ∈ R F × H × W × C V_L \in \mathbb{R}^{F \times H \times W \times C} VLRF×H×W×C表示,其中 F F F指示帧数, H H H是帧的高度, W W W是帧的宽度, C C C是视频潜在配置中每帧的通道数。作者将 V L V_L VL转换为一系列Token,通过分段和Reshape它,表示为 z ∈ R ( n f × T h × T w ) × 4 z \in \mathbb{R}^{(n_f \times T_h \times T_w) \times 4} zR(nf×Th×Tw)×4。在这里, n f × T h × T w n_f \times T_h \times T_w nf×Th×Tw表示Token的总数,每个Token具有维度 d d d
采用类似于Latte的策略,作者分配 n f = F , n h = H / 2 , n w = W / 2 n_f = F, n_h= H/2, n_w=W/2 nf=F,nh=H/2,nw=W/2以有效地构造数据。此外,一个时空位置嵌入,记为 p p p,被合并到Token序列 z z z中。因此,Matten模型的输入变为 z = z + p z = z+p z=z+p,这有助于复杂的模型交互。如图3所示,作者引入了Matten模型的四个不同变体,以增强其在视频处理中的适应性和有效性。
在这里插入图片描述
图2:原始的1D序列Mamba块和2D双向Mamba块。为了简化,省略了归一化和残差部分。
全局序列Mamba块。如图3(a)所示,这个变体指的是在这个时空输入的全序列中执行3DMamba扫描。继VideoMamba [51]之后,作者采用空间优先扫描用于作者的全局序列Mamba块。这种简单的操作已经被证明是高度有效的。它涉及根据空间标记的位置将它们排列,并逐帧地堆叠它们。作者将z Reshape为zu∈ R1×n.f T2趋N.wy×d作为全局序列
Mamba块的输入以捕捉空间优先信息。使用了双向Mamba层。空间和时间Mamba块交错。这种特定变体利用Mamba模块替代基于Transformer的视频生成扩散模型中的传统注意力模块,如[2;56; 57]的研究所指出的。如图3 (b)所示,这个变体的主体称为Matten,配备了两种类型的双向Mamba块:空间双向Mamba块和时序双向Mamba块。空间块旨在捕捉在相同时间索引下标记之间的空间细节,而时序块则负责在相同空间坐标下捕捉不同时间的信息。为了有效地处理空间信息,作者将z重构为z。∈R"f×5xd,这然后作为空间Mamba块的输入。
然后,作者将zReshape为zt ∈RS×nfXd,以供时序Mamba块处理时序信息。
全局序列玛巴块与时空注意力交错。尽管玛巴在长距离建模中展示了高效的性能,但与Transformer中的注意力操作相比,它在较短期序列建模中的优势并不明显[10]。因此,作者开发了一个混合块,如图3 ©所示,它利用了注意机制和玛巴的优势,对长短距离建模进行了整合。每个块由空间注意力计算、时间注意力计算和全局序列玛巴扫描ConCat组成。这种设计使作者的模型能够有效地捕捉视频潜在空间中的全局和局部信息。
全局序列玛巴块与时间注意力交错。

全局序列Mamba块中的扫描在空间域上是连续的,但在时间域上是断续的。因此,这个变体移除了空间注意力组件,同时保留了时间注意力块。因此,通过关注图3(d)所示的空间优先扫描增强时间注意力,作者努力提高模型在处理视频数据的动态方面的效率和精确性,从而确保在多样化的视频处理任务中具有鲁棒的性能。
Conditional Way of Timestep or Class
图3:作者引入了四种模型变体,旨在有效地利用视频中的时空动态。为了清晰起见,图中所示的嵌入表示潜在视频的Patch和Reshape结果。
借鉴Latte和DiS提出的框架,作者在两种不同的方法上进行了实验,将时间步或类别信息 c c c嵌入到作者的模型中。第一种方法受到DiS的启发,将 c c c视为标记,作者将这种策略称为_条件标记_。第二种方法采用了类似于自适应标准化(AdaN)的技术,专门为整合到Mamba块中而设计。这涉及到使用MLP层从 c c c计算参数 y c y_c yc β c \beta_c βc,形成操作
AdaN ( f , c ) = cNorm ( f ) + γ c ⋅ f , \text{AdaN}(f,c)= \text{cNorm}(f) + \gamma_c \cdot f, AdaN(f,c)=cNorm(f)+γcf
其中 f f f表示Mamba块中的特征图。此外,这种自适应标准化是在Mamba块的残差连接之前实现的,通过转换
RC s ( f , c ) = a ⋅ f + MambaScans ( AdaN ( f , c ) ) \text{RC}_s(f,c) = a \cdot f + \text{MambaScans}(\text{AdaN}(f,c)) RCs(f,c)=af+MambaScans(AdaN(f,c))
来实现,其中MambaScans表示块内的双向Mamba扫描。作者将这种先进技术称为Mamba自适应标准化(M-AdaN),它无缝地融入类别或时间步信息,以增强模型的响应性和上下文相关性。
Mamba and Attention Analysis
总之,作者提出的块的超参数包括隐藏大小 D D D、扩展状态维度 E E E和SSM维度 N N N。Matten的所有设置在表2中详细列出,涵盖了不同的参数数量和计算成本,以彻底评估可扩展性性能。特别是,在生成 16 × 256 × 256 16 \times 256 \times 256 16×256×256无条件视频时,采用了Patch大小 p = 2 p = 2 p=2,分析了Gflop指标。与[10]一致,作者将所有模型的SSM维度 N N N标准化为16。
在这里插入图片描述
Matten中的SSM块和Transformer架构中的自注意力机制对于有效的上下文建模都是不可或缺的。作者还提供了关于计算效率的详细理论分析。对于给定的序列 X ∈ R 1 × J × D X \in \mathbb{R}^{1 \times J \times D} XR1×J×D(标准设置 E = 2 E=2 E=2),自注意力(SA)、前馈网络(FFN)和SSM操作的计算复杂度分别计算如下:

O ( S A ) = 2 ⋅ J 2 ⋅ D , O ( F F N ) = 4 ⋅ J ⋅ D 2 , O ( S S M ) = 3 ⋅ J ⋅ ( 2 D ) ⋅ N + J ⋅ ( 2 D ) ⋅ N 2 . \begin{align*} O(SA) &= 2 \cdot J^2 \cdot D, \\ O(FFN) &= 4 \cdot J \cdot D^2, \\ O(SSM) &= 3 \cdot J \cdot (2D) \cdot N + J \cdot (2D) \cdot N^2. \end{align*} O(SA)O(FFN)O(SSM)=2J2D,=4JD2,=3J(2D)N+J(2D)N2.

其中, O ( S S M ) O(SSM) O(SSM)涉及与 B B B C C C D D D的计算,而 J ⋅ ( 2 D ) ⋅ N 2 J \cdot (2D) \cdot N^2 J(2D)N2表示与 A A A的计算。这表明自注意力的计算需求与序列长度 J J J成二次方增长,而SSM操作则呈线性增长。值得注意的是,当 N N N通常固定为16时,这种线性可扩展性使得Mamba架构特别适合处理像视频数据中全局关系建模这样的广泛序列。当比较 2 ⋅ J 2 ⋅ D 2 \cdot J^2 \cdot D 2J2D J ⋅ ( 2 D ) ⋅ N 2 J \cdot (2D) \cdot N^2 J(2D)N2这两个项时,很明显,Mamba块在计算效率上优于自注意力,特别是当序列长度 J J J显著超过 N 2 N^2 N2时。对于关注空间和局部时间关系的较短期序列,当计算开销可以管理时,注意力机制提供了计算效率更高的选择,这一点得到了实证结果的支持。

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

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

相关文章

数据结构(一)绪论

2024年5月11日 一稿 数据元素+数据项 逻辑结构 集合 线性结构 树形结构 </

商家转账到零钱开通揭秘,微信支付商户如何玩转分销返佣现金营销

在数字支付日益普及的今天&#xff0c;微信支付凭借其便捷、安全的特性&#xff0c;成为了众多商户的首选支付工具。而微信支付商户平台上的“商家转账到零钱”功能&#xff0c;更是为商户们打开了一扇全新的营销大门。今天&#xff0c;我们就来一起揭秘这个功能聊聊如何快速开…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-15.5讲 GPIO中断实验-通用中断驱动编写

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

Android 几种系统升级方式详解

目录 ◆ 概述 ● 几种启动模式 ● MISC分区 ● CACHE分区 ● 几种系统升级方式 ◆ Recovery升级 ● 升级包构成&#xff0c;签名&#xff0c;制作 ● 升级脚本 ● 升级过程 ◆ OTA升级 ● 升级包构成&#xff0c;制作 ● 升级脚本 ● 升级过程 ◆ fastboot升级 ◆ ADB升级 几…

成为一名算法工程师需要掌握哪些技术栈

成为算法工程师需要学习的编程技能主要包括以下几个方面&#xff1a; Python&#xff1a;Python是算法工程师最常使用的编程语言之一。它拥有简洁易读的语法和丰富的库&#xff0c;如NumPy、Pandas、SciPy、Matplotlib等&#xff0c;这些库为数据处理、科学计算和可视化提供了…

C++的数据结构(二)

一、链表的基本概念 链表&#xff08;Linked List&#xff09;是一种物理存储单元上非连续的、非顺序的线性数据结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列节点&#xff08;链表中每一个元素称为节点&#xff09;组成&#xff0c;节点…

飞利浦|西圣开放式耳机怎么选?爆款机型深度对比!

现在&#xff0c;开放式耳机以其独特的非入耳设计&#xff0c;成为了市场上的新宠。开放式耳机在佩戴上不仅能让我们长时间享受舒适的体验&#xff0c;更告别了入耳式耳机会导致的耳闷头昏的烦恼。但是现在&#xff0c;面对市场上琳琅满目的品牌和型号&#xff0c;许多消费者感…

vue3属性透传(透传 Attributes),支持多个根节点,且可以在JavaScript 中访问透传 Attributes

支持多个根节点&#xff0c;且可以在JavaScript 中访问透传 Attributes Index.vue: <script setup> import { ref, onMounted } from vue import Child from ./Child.vue import ./index.cssconst handleClick () > {console.log(1) }onMounted(() > {}) </s…

静态IP设置:小白必看攻略

在现代网络环境中&#xff0c;IP地址是连接互联网的基石。它就像网络世界中的门牌号&#xff0c;让数据能够在庞大的网络海洋中准确找到目标。其中&#xff0c;静态IP地址由于其固定不变的特性&#xff0c;在某些特殊应用场景下尤为重要。那么&#xff0c;如何设置静态IP地址呢…

Ubuntu18.04设置SSH密钥登录

我们一般使用 VSCode 、MobaXterm、PuTTY等 SSH 客户端来远程管理 Linux 服务器。但是&#xff0c;一般的密码方式登录&#xff0c;容易有密码被暴力破解的问题。所以&#xff0c;一般我们会将 SSH 的端口设置为默认的 22 以外的端口&#xff0c;或者禁用 root 账户登录。但是即…

json-server 模拟接口服务

前端开发经常需要模拟接口请求&#xff0c;可以通过 json-server 实现。 1. 安装 json-server 在前端项目的终端命令行中执行 npm i json-server2. 创建数据源 在项目中新建文件 db.json &#xff0c;与 package.json 同级&#xff0c;内容为模拟的数据 注意 json 文件对格式…

40道 Nginx 高频面试题

Nginx 是一款轻量级的 Web 服务器、反向代理服务器&#xff0c;由于它的内存占用少&#xff0c;启动极快&#xff0c;高并发能力强&#xff0c;在互联网项目中广泛应用。那么关于 Nginx 的核心面试题有哪些呢&#xff1f;今天给大家整理了40道Nginx 高频面试题&#xff0c;最近…

Java 常见集合类

集合的整体框架 Java 的集合&#xff0c;也可以叫做容器&#xff0c;根据集合的整体框架可以看出&#xff0c;主要是两大集合接口&#xff1a;第一个是 Collection 接口&#xff0c;主要用来存放单一的元素对象&#xff1b;另一个是 Map 接口&#xff0c;主要用于存储键值对。…

使用AudioCraft(MusicGen)生成音乐

AudioCraft 是一个 PyTorch 库,用于音频生成的深度学习研究。AudioCraft 包含两个先进的AI生成模型:AudioGen和MusicGen,它们共同致力于生成高质量的音频内容。 MusicGen是一个简单且可控的音乐生成模型。它利用Meta提供的20K小时授权音乐进行训练,能够根据文本描述或已有…

1_1. Linux简介

1_1. Linux简介 文章目录 1_1. Linux简介1. 我们用linux来干嘛2. 计算机组成3. 操作系统4. Linux哲学思想5. Linux目录6. Linux分区类型 1. 我们用linux来干嘛 1. 大家都知道linux是一个操作系统&#xff0c;它是一个基础的软件&#xff0c;操作系统是硬件与应用程序的中间层。…

JS中的arguments是什么?

arguments是当我们不确定有多少个参数传递时&#xff0c;就可以使用argument来获取。在js中&#xff0c;arguments实际上就是当前函数的一个内置对象&#xff0c;存储了我们传递的所有实参。arguents的展示形式就是一个伪数组&#xff0c;所以我们可以对它进行遍历。 我们先来…

使用J-Link Commander / JFlash 烧写固件程序(以STM32F103C8T6为例)

使用JFlash 烧写流程 运行JFlash, 点击Project Settings 配置Jlink为SWD方式,选择连接设备为STM32F103C8T6, 点击确定. 选择要烧录的Bin文件 设置bin文件烧录地址, 点击OK(地址要在0x08000000-0x0800FFFF范围内) Note : STM32F103C8T6 Flash大小为 64KB&#xff0c; 地址范围…

Windows只能安装在GPT磁盘上

转换磁盘分区形式 步骤1. 先按照正常流程使用Windows系统安装光盘或系统U盘引导计算机。 步骤2. 在Windows安装程序中点击“开始安装”&#xff0c;然后按ShiftF10打开命令提示符。 步骤3. 依次输入以下命令&#xff0c;并在每一行命令后按一次Enter键执行。 步骤4. 等待转换…

[Linux][网络][数据链路层][一][以太网][局域网原理]详细讲解

目录 0.对比理解"数据链路层"和网络层1.以太网1.认识以太网2.以太网帧格式3.认识MAC地址4.以太网帧格式如何封装/解包&#xff1f;5.以太网帧格式如何分用&#xff1f; 2.重谈局域网通信原理0.如何形象的理解&#xff1f;1.理解局域网通信2.在发送数据的时候&#xf…

连接和使用vCenter Server嵌入式vPostgres数据库

vCenter Server 早期支持内嵌(embedded)和外部(external)数据库,内嵌数据库就是vPostgres,基于VMware Postgres数据库(PostgreSQL数据库),外部数据库用的多的是Oracle数据库和SQL Server数据库。因为早期使用内嵌的PostgreSQL数据库只能用于小型环境,比如仅支持几十台…