(ICML-2025) RIFLEx:视频扩散Transformer中长度外推的“免费午餐”

article/2025/9/7 15:12:02

RIFLEx:视频扩散Transformer中长度外推的“免费午餐”

paper title:RIFLEx: A Free Lunch for Length Extrapolation in Video Diffusion Transformers

paper是THU发表在ICML 2025的工作

Code:链接

Abstract

近期视频生成的进展使模型能够合成高质量的分钟级视频。然而,生成更长时间的视频并保持时间一致性仍是一大挑战,现有的长度外推方法通常会导致时间重复或运动减缓。在本工作中,我们系统性地分析了位置嵌入中的频率成分作用,并识别出一种主要决定外推行为的“内在频率”。基于这一见解,我们提出了RIFLEx,一种简洁而有效的方法,通过降低内在频率来抑制重复,同时保持运动一致性,无需任何额外修改。RIFLEx是真正意义上的“免费午餐”——在最先进的视频扩散Transformer上实现了完全无训练的高质量2倍长度外推。此外,通过最小量的微调且无需使用长视频,RIFLEx还能进一步提升质量并实现3倍外推。项目主页及代码:https://riflex-video.github.io/

1. Introduction

视频生成的最新进展(Brooks 等,2024;Bao 等,2024;Yang 等,2024;Team,2024b;Kong 等,2024)使模型能够合成高保真且连贯的分钟级视频序列。这一进步的关键在于扩散Transformer的出现(Peebles & Xie,2023;Bao 等,2023),它结合了扩散模型的可扩展性(Sohl-Dickstein 等,2015;Ho 等,2020;Song 等,2021)与Transformer的强大表达能力(Vaswani,2017)。

尽管取得了这些进展,生成更长时间且具有高质量和时间一致性的视频仍是一项根本性挑战。由于计算限制和训练数据规模巨大,现有模型通常以固定的最大序列长度进行训练,限制了内容扩展能力。因此,业界越来越关注长度外推技术,以便模型能够在未经长视频训练的情况下生成新的、时间连贯的内容,使其随时间平滑演化。

然而,现有的外推策略(Chen 等,2023b;bloc97,2023;Peng 等,2023;Lu 等,2024b;Zhuo 等,2024)最初是为文本和图像生成开发的,在应用于视频长度外推时表现失败。

我们的实验表明,这些方法会出现明显的失败模式:时间重复和运动减缓。这些局限表明我们对位置编码在视频外推中作用的理解仍存在根本差距。

为了解决这个问题,我们通过将其他频率分量置零并微调目标视频模型,来隔离单个频率成分。我们发现,高频成分捕捉短期依赖,并引起时间重复,而低频成分编码长期依赖,但导致运动减速。令人惊讶的是,我们在同一模型生成的不同视频中识别出一致的“内在频率”成分,该频率在所有成分中主要决定了外推时的重复模式。

基于这一见解,我们提出了RIFLEx(Reducing Intrinsic Frequency for Length Extrapolation),一个简洁而有效的解决方案,通过降低内在频率以确保其在外推后仍保持在单个周期内。

该方法无需任何额外修改,即可抑制时间重复,同时保持运动一致性。作为附带成果,RIFLEx为现有方法的失败模式提供了合理解释,并自然延伸至图像的空间外推。

在最先进的视频扩散Transformer(包括CogVideoX-5B(Yang 等,2024)和HunyuanVideo(Kong 等,2024))上的大量实验验证了RIFLEx的有效性(见图1)。令人瞩目的是,在2倍外推中,RIFLEx在完全无需训练的条件下实现了高质量且自然的视频生成。而在仅使用2万条原始长度视频进行微调的情况下——所需预训练计算仅为1/50000——生成质量进一步提升,并可实现3倍外推。此外,RIFLEx还可同时应用于空间域,从而同时扩展视频时长和空间分辨率。

图1

图1. RIFLEx在2倍时间、空间及时间-空间联合外推上的可视化效果。我们的基础模型为:(a) HunyuanVideo(Kong 等,2024)和 (b-c) CogVideoX-5B(Yang 等,2024),在所有实验中我们未使用比预训练时更长或更大的视频数据。更多演示结果及本文中使用的全部提示语分别列于附录B和补充材料中。

我们的主要贡献总结如下:

  • 我们通过分析现有方法的失败模式,并揭示位置嵌入中各频率成分的作用,系统性地理解了视频长度外推机制。

  • 我们提出了RIFLEx,一个简洁而有效的解决方案,通过合理降低内在频率以缓解重复问题,无需任何额外修改。

  • RIFLEx是真正意义上的“免费午餐”——在最先进的视频扩散Transformer上实现了完全无训练的高质量2倍外推。此外,通过最小微调且无需长视频的条件下,它还能提升生成质量并支持3倍外推。

2. Background

2.1. Video Generation with Diffusion Transformers


给定一个数据分布 p data p_\text{data} pdata,扩散模型(Sohl-Dickstein et al., 2015;Ho et al., 2020;Song et al., 2021)通过一个转移核 q t ∣ 0 ( x t ∣ x 0 ) = N ( α t x 0 , σ t 2 I ) q_{t|0}(x_t | x_0) = \mathcal{N}(\alpha_t x_0, \sigma_t^2 \mathbf{I}) qt∣0(xtx0)=N(αtx0,σt2I),逐步扰动干净数据 x 0 ∼ p data x_0 \sim p_\text{data} x0pdata,即 x t = α t x 0 + σ t ϵ x_t = \alpha_t x_0 + \sigma_t \epsilon xt=αtx0+σtϵ,其中 t ∈ [ 0 , T ] t \in [0, T] t[0,T] α t , σ t \alpha_t, \sigma_t αt,σt 是预定义的噪声计划, ϵ ∼ N ( 0 , I ) \epsilon \sim \mathcal{N}(0, \mathbf{I}) ϵN(0,I) 是高斯噪声。在合理设计 α t , σ t \alpha_t, \sigma_t αt,σt 的情况下, x T x_T xT 的分布是可解析的,例如为标准高斯分布。

生成模型通过将该过程从 t = T t = T t=T 0 0 0 逆转来获得,其动态由 score 函数 ∇ x t log ⁡ q t ( x t ) \nabla_{x_t} \log q_t(x_t) xtlogqt(xt) 表征。score 函数通常由神经网络 s θ ( x t , t ) s_\theta(x_t, t) sθ(xt,t) 参数化,并通过去噪 score 匹配(Vincent, 2011)进行学习:

E t , x 0 , ϵ [ w ( t ) ∥ s θ ( x t , t ) − ∇ x t log ⁡ q t ∣ 0 ( x t ∣ x 0 ) ∥ 2 ] , \mathbb{E}_{t, x_0, \epsilon} [w(t) \| s_\theta(x_t, t) - \nabla_{x_t} \log q_{t|0}(x_t | x_0) \|^2], Et,x0,ϵ[w(t)sθ(xt,t)xtlogqt∣0(xtx0)2],

其中 w ( t ) w(t) w(t) 是一个权重函数。当前对视频数据使用扩散模型的事实标准方法是:首先将视频裁剪为潜在空间的图像帧序列,然后使用基于Transformer的模型执行扩散建模(Peebles & Xie, 2023;Bao et al., 2023)。

2.2. Position Embedding in Diffusion Transformers


位置嵌入是一种固定或可学习的向量值函数 f f f,它将一个 n n n 轴的位置向量 p ∈ N + n p \in \mathbb{N}_+^n pN+n 映射到某个表示空间中。这种位置信息可以通过多种机制融入到Transformer中,例如通过加法操作(Vaswani, 2017;Raffel et al., 2020;Press et al., 2021)或乘法操作(Su et al., 2021)与其他输入或隐藏嵌入进行结合。

旋转位置嵌入(RoPE)(Su et al., 2021)已经成为Transformer中的主流方法。RoPE通过在注意力机制中交互两个绝对位置嵌入来编码相对位置信息。具体地,对于由单轴索引的序列(即 n = 1 n=1 n=1),给定输入 x ∈ R d x \in \mathbb{R}^d xRd,其位置为 p ∈ N + p \in \mathbb{N}_+ pN+,RoPE 将其映射到绝对位置编码的嵌入空间 R d ′ \mathbb{R}^{d'} Rd 中,满足 d ′ ≤ d d' \leq d dd,即:

f RoPE ( x , p , θ ) j = [ cos ⁡ p θ j − sin ⁡ p θ j sin ⁡ p θ j cos ⁡ p θ j ] [ x 2 j x 2 j + 1 ] , (1) f_{\text{RoPE}}(x, p, \boldsymbol{\theta})_j = \begin{bmatrix} \cos p\theta_j & -\sin p\theta_j \\ \sin p\theta_j & \cos p\theta_j \end{bmatrix} \begin{bmatrix} x_{2j} \\ x_{2j+1} \end{bmatrix}, \tag{1} fRoPE(x,p,θ)j=[cospθjsinpθjsinpθjcospθj][x2jx2j+1],(1)

其中 θ ∈ R d ′ / 2 \boldsymbol{\theta} \in \mathbb{R}^{d'/2} θRd/2,且 θ j = b − 2 ( j − 1 ) / d ′ \theta_j = b^{-2(j-1)/d'} θj=b2(j1)/d j = 1 , … , d ′ / 2 j = 1, \ldots, d'/2 j=1,,d/2。这里, θ \boldsymbol{\theta} θ 表示RoPE嵌入所有维度的频率, b b b 是一个调整基础频率的超参数。可以验证,两组经过RoPE嵌入的向量之间的点积编码了它们之间的相对位置信息。

在实际应用中,RoPE被应用于注意力机制中的query和key向量中,因此点积操作所得的注意力矩阵能够编码相对位置信息。

多轴RoPE。RoPE可以扩展到多轴位置向量 p ∈ N + n p \in \mathbb{N}_+^n pN+n,其中 n > 1 n > 1 n>1。一种常用的方法是分别对每个轴进行编码。例如,考虑一个视频输入 x ∈ R d x \in \mathbb{R}^d xRd,其具有三维坐标 ( t , h , w ) (t, h, w) (t,h,w),则对应三个轴分别有三个特定参数: θ t , θ h , θ w \boldsymbol{\theta}^t, \boldsymbol{\theta}^h, \boldsymbol{\theta}^w θt,θh,θw。按照公式(1)中定义的单轴RoPE,分别对这三个轴在特征维度上独立应用。最终的多轴RoPE通过将这三个单轴RoPE嵌入拼接在一起得到。

2.3. Length Extrapolation with RoPE


在本节中,我们简要回顾了在文本和图像中采用RoPE进行长度外推的技术。

最直接的方法是位置外推(Position Extrapolation, PE),它在不修改位置编码的情况下扩展输入序列长度,完全依赖于网络的泛化能力和位置编码本身的表达能力。而位置插值(Position Interpolation, PI)(Chen 等,2023b)则通过统一缩小RoPE嵌入中的所有频率来匹配训练时的序列长度。具体而言,新的RoPE频率通过以下公式计算:$
\boldsymbol{\theta}^{\text{PI}} = \boldsymbol{\theta} / s,
$其中 s = L ′ / L s = L' / L s=L/L L L L L ′ L' L 分别是训练和推理时的序列长度。

PE 和 PI 的一个主要局限性在于它们依赖于在目标序列长度上的训练,否则性能会急剧下降。为了解决这一问题,NTK感知缩放RoPE(NTK-Aware Scaled RoPE,简称 NTK)(bloc97, 2023)结合了位置外推和插值的思想。具体地,NTK 对所有维度的基础频率 b b b 进行如下调整:

θ j NTK = ( λ b ) − 2 ( j − 1 ) / d ′ , λ = s d ′ / ( d ′ − 2 ) , j = 1 , … , d ′ / 2 , (2) \theta_j^{\text{NTK}} = (\lambda b)^{-2(j - 1)/d'},\quad \lambda = s^{d' / (d' - 2)},\quad j = 1, \ldots, d'/2, \tag{2} θjNTK=(λb)2(j1)/d,λ=sd/(d2),j=1,,d/2,(2)

其中 s = L ′ / L s = L' / L s=L/L。NTK 对高频率等效地应用 PE,对低频率等效地应用 PI,从而实现无训练外推。(bloc97, 2023;Zhuo et al., 2024)

YaRN(Peng et al., 2023)引入了更精细的基础频率调整策略。它首先根据在训练长度上经过的周期数将所有频率分为三组,该周期数定义为:

r j = ( 2 π ) − 1 L θ j . r_j = (2\pi)^{-1}L \theta_j. rj=(2π)1Lθj.

给定两个预设阈值 α \alpha α β \beta β,满足 d ′ / 2 ≤ α < β ≤ r 1 d'/2 \leq \alpha < \beta \leq r_1 d/2α<βr1,YaRN 按如下方式调整 RoPE 频率:

θ j YaRN = γ ( r j ) θ j + ( 1 − γ ( r j ) ) θ j s , j = 1 , … , d ′ / 2 , (3) \theta_j^{\text{YaRN}} = \gamma(r_j)\theta_j + (1 - \gamma(r_j))\frac{\theta_j}{s},\quad j = 1, \ldots, d'/2, \tag{3} θjYaRN=γ(rj)θj+(1γ(rj))sθj,j=1,,d/2,(3)

其中:

γ ( r j ) = { 1 , if  r j > β , 0 , if  r j < α , r j − α β − α , otherwise . \gamma(r_j) = \begin{cases} 1, & \text{if } r_j > \beta, \\ 0, & \text{if } r_j < \alpha, \\ \frac{r_j - \alpha}{\beta - \alpha}, & \text{otherwise}. \end{cases} γ(rj)= 1,0,βαrjα,if rj>β,if rj<α,otherwise.

在实践中,YaRN 相比 NTK 表现出更好的无训练外推能力,并且在目标长度上用相对较少的微调预算也能取得优异性能(Peng et al., 2023)。

图像扩散Transformer中的长度外推。图像扩散Transformer在RoPE相关方面具有两个关键特性:(1) 图像数据表示为一个具有高度和宽度轴的序列;(2) 采用迭代式扩散采样过程。这些特性决定了图像扩散模型中适用的长度外推技术。对于多轴序列,RoPE会独立地应用于每个轴,使得类似NTK和YaRN的长度外推技术可以分别用于高度轴和宽度轴,此类变体被称为Vision NTKVision YaRN(Lu et al., 2024b)。在采样阶段,不同的RoPE调整可以在不同的扩散时间步上应用。例如,时间感知缩放RoPE(Time-aware Scaled RoPE, TASR)(Zhuo et al., 2024)在较大的时间步上使用PI以保留全局结构,同时在较小时间步使用NTK以提升视觉质量。

3. Method

我们的目标是全面理解并解决视频长度外推问题。我们首先指出现有方法中引人注目的失败模式,分析位置嵌入中不同频率成分的作用,并识别出一种“内在频率”。基于此,我们提出了一个简洁的外推解决方案:降低该内在频率。作为附带成果,我们的方法不仅为现有视频外推方法的失败提供了理论解释,还为图像中的空间外推提供了可借鉴的思路。

3.1. Failure Patterns of Existing Methods


图2

图2. 现有方法在视频与图像生成中进行2倍外推的可视化效果。基础模型为 CogVideoX-5B(Yang 等,2024)和 Lumina-Next(Zhuo 等,2024),分别训练用于生成最多49帧的视频和最高1K分辨率的图像。现有方法在视频外推中会导致时间重复或动作减缓,在图像外推中则会出现空间重复或内容模糊的问题。更多结果与细节请参见附录C。

尽管“外推”这一术语在不同领域被广泛使用,但它在视频生成中的作用与文本和图像领域有着根本性区别。在视频生成中,目标是创造新的、时间连贯的内容,使其随时间平滑演化。而在文本外推中,主要是扩展上下文窗口;图像外推则通常是补充高分辨率细节,而非生成具有意义的新内容。

因此,为文本和图像设计的外推策略在视频长度外推中表现失败,并展现出一些有趣的失败模式,如图2所示。为了更好理解这些模式,我们还对图像的空间外推进行了对照实验,揭示了其与视频外推的相似性。

PE(位置外推)直接将位置编码延伸至训练范围之外,会导致时间上的重复,使得生成视频出现循环,而非自然推进(图2a)。在图像生成中也出现类似现象,表现为空间内容重复,而非生成新内容。

相比之下,PI(Chen 等,2023b)将位置编码压缩到训练范围之内,在时间上拉长帧间间隔,从而导致慢动作(图2b)。虽然这种方法保留了结构连贯性,但缺乏时间上的新颖性。在图像生成中,这种方式通常会导致图像细节模糊,而不是新增内容(图2e)。

如图2c所示,NTK(bloc97, 2023)同样会引发时间重复,无法生成有意义的动作进展。在图像生成中,它则表现为空间内容重复(图2f)。尽管其他方法(Peng 等,2023;Lu 等,2024b;Zhuo 等,2024)在实现细节上与 NTK 不同,但它们几乎无一例外地会出现这两类失败模式之一或两者兼有:要么是动作减速,要么是内容重复(详见附录C的进一步分析)。

除了揭示这些局限性外,我们的研究也为理解位置嵌入如何从根本上塑造时间运动提供了直观认识,并为接下来的频率成分深入分析提供了动机。

3.2. Frequency Component Analysis in RoPE


我们从分析 RoPE(Su et al., 2021)中各个频率成分的作用开始。我们遵循第 2.2 节中的记号,但聚焦于时间轴,并为简洁起见省略下标 t t t。我们通过将其余频率置零并微调目标模型(Yang et al., 2024)的训练长度,使其适应修改后的 RoPE,从而实现特定频率成分的隔离。

这一分析带来了两个关键洞见:

首先,不同的频率成分 θ j \theta_j θj 捕捉不同尺度上的时间依赖关系,其尺度由周期决定:

N j = 2 π θ j . (4) N_j = \frac{2\pi}{\theta_j}. \tag{4} Nj=θj2π.(4)

如图3所示,当帧间距超过 N j N_j Nj 时,余弦函数的周期性使位置编码(进而生成的视频内容)产生重复。对于训练长度 L L L,重复次数可以量化为:

r j = L N j = L θ j 2 π . (5) r_j = \frac{L}{N_j} = \frac{L\theta_j}{2\pi}. \tag{5} rj=NjL=2πLθj.(5)

图3显示,当高频成分 r j = 2 r_j = 2 rj=2 时,视频在训练长度内完成两个周期,在 2 × 2\times 2× 外推中完成四个周期。相比之下,低频成分如 r j = 0.5 r_j = 0.5 rj=0.5 即使在外推中也保持在一个周期内。

其次,频率成分会影响视频生成中感知到的运动速度。这种影响与位置编码在连续帧之间的变化率相关,例如第 p p p 帧与第 p + 1 p+1 p+1 帧之间:

Δ j = cos ⁡ ( ( p + 1 ) θ j ) − cos ⁡ ( p θ j ) . (6) \Delta_j = \cos((p+1)\theta_j) - \cos(p\theta_j). \tag{6} Δj=cos((p+1)θj)cos(pθj).(6)

较高的频率(即更大的 θ j \theta_j θj)通常带来更大的 Δ j \Delta_j Δj,使得模型对快速运动更加敏感。

相反,较低频率成分在相邻帧间导致的位置编码变化最小,更偏向于慢动作动态,这与图3中的结果一致。

由于每个频率成分都有其周期 N j N_j Nj,一个关键问题随之而来:哪个频率主要决定了外推中观察到的重复模式?

我们将**内在频率成分(intrinsic frequency component)**定义为其周期 N j N_j Nj 最接近首次观察到的视频重复帧数 N N N 的成分,因为它主导整体行为:

k = arg ⁡ min ⁡ j ∣ N j − N ∣ . (7) k = \arg\min_j |N_j - N|. \tag{7} k=argjminNjN∣.(7)

令人惊讶的是,这一内在频率在同一模型生成的不同视频中保持一致,尽管 N N N 有轻微变化。例如,CogVideoX-5B(Yang et al., 2024)对应的 k = 2 k=2 k=2,HunyuanVideo(Kong et al., 2024)对应 k = 4 k=4 k=4,详见附录E。

在极少数情况下,如果模型在不同视频中表现出不一致的内在频率,我们建议将所有此类频率都视作“内在”。我们的初步实验进一步验证了这一假设,表明将所有低频成分纳入我们的方法后,仍能保持强大的性能,详见附录E。

图3

图3. 频率成分及其在视频生成中作用的可视化。高频成分捕捉快速运动和短期依赖,容易引发时间重复;而低频成分编码长期依赖,表现为慢动作。

3.3. Reducing Intrinsic Frequency: A Minimal Solution


设想一个视频扩散Transformer在长度为 L L L 的序列上进行训练。我们的目标是通过扩展因子 s s s(我们假设 s s s 足够大,以满足 N k < L s N_k < Ls Nk<Ls。否则,通过 PE 生成长视频是微不足道的。
),生成长度为 s L sL sL 的视频。

基于前面的发现,我们提出一个自然且简洁的解决方案:RIFLEx(Reducing Intrinsic Frequency for Length Extrapolation)。RIFLEx 通过降低内在频率,使其在外推后仍处于一个周期内:

N k ′ ≥ L s ⇒ θ k ′ ≤ 2 π L s . (8) N_k' \geq Ls \Rightarrow \theta_k' \leq \frac{2\pi}{Ls}. \tag{8} NkLsθkLs2π.(8)

通过设置 θ k ′ = 2 π L s \theta_k' = \frac{2\pi}{Ls} θk=Ls2π,我们实现了最小修改。对其他频率的消融实验(附录E)确认,仅调整内在频率即可:调整高频成分会破坏快速运动,而改变低频成分几乎没有影响。我们在算法1中正式给出RIFLEx的定义。

我们进一步探讨RIFLEx是否需要微调。令人惊讶的是,在进行 2 × 2\times 2× 外推时,RIFLEx 能够在无需训练的情况下生成高质量视频,如图4所示。即使仅用 20,000 个原始长度的视频和预训练计算量的 1/50,000 进行微调,也能显著提升动态表现和视觉质量。

对于 3 × 3\times 3× 外推,内在频率的偏移变得过大,导致无训练版 RIFLEx 失败。然而,微调过程仍然有效,如图4所示。

图4

图4. 探索微调的必要性。在 2× 外推中,RIFLEx 无需微调即可生成高质量视频。而在 3× 外推中,由于内在频率偏移较大,需要通过微调来提升动态效果和视觉质量。

算法1

3.4. Principled Explanation for Existing Methods


我们的研究结果为第3.1节中观察到的失败模式提供了理论上的解释。PE 和 NTK(bloc97, 2023;Lu 等,2024b)中出现的重复现象,源于它们的内在频率成分违反了公式(8)中的“非重复条件”。因此,生成的视频内容会循环播放,而不是自然推进。PI(Chen 等,2023b)和 YaRN(Peng 等,2023)通过对高频成分进行插值来实现外推,而这些高频成分对于快速运动至关重要。由于在这些方法中被 s s s 除,频率被压缩,从而无法产生快速运动,导致慢动作。TASR(Zhuo 等,2024)结合了上述两类方法,最终导致时间重复与动作缓慢的混合现象。更多细节与实验结果见附录C。


http://www.hkcw.cn/article/mrHnSARdcw.shtml

相关文章

树莓派超全系列教程文档--(52)如何启用VNC功能

如何启用VNC功能 使用 VNC 共享屏幕启用 VNC 服务器以图形方式启用 VNC 服务器在命令行上启用 VNC 服务器 连接到 VNC 服务器 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 VNC 共享屏幕 有时&#xff0c;使用设备进行物理操作并不方便。…

TDengine 运维——巡检工具(安装工具)

背景 TDengine 的安装包自带安装脚本&#xff0c;但无法基于集群进行自动化安装部署&#xff0c;本文档旨在说明如何使用安装工具进行 TDengine 的集群式安装部署。 安装工具支持功能 安装方式详细说明单节点安装部署单节点环境安装部署 TDengine集群安装部署集群环境安装部…

Qt Creator调用Python代码

Qt Creator下调用Python代码 在Qt编写的上位机,现在可能经常用到Python相关的代码。本篇记录Qt Creator中调用Python的一种方法。 Python使用的版本为 3.9.10,(安装参考:Python3.9的安装和配置) Qt 使用的版本为5.14.2,(Qt的安装可以参考网上的安装案例:Qt 5.14安装…

政策+技术双轮驱动:MiC建筑如何成为“好房子”建设的破局之道

在建筑行业不断追求创新与可持续发展的今天&#xff0c;模块化集成建筑&#xff08;Modular Integrated Construction&#xff0c;简称MiC&#xff09;正逐渐崭露头角&#xff0c;成为推动行业转型升级的重要力量。近日&#xff0c;全国政协常委、人口资源环境委员会副主任&…

Python Day37

Task&#xff1a; 1.过拟合的判断&#xff1a;测试集和训练集同步打印指标 2.模型的保存和加载 a.仅保存权重 b.保存权重和模型 c.保存全部信息checkpoint&#xff0c;还包含训练状态 3.早停策略 1. 过拟合的判断&#xff1a;测试集和训练集同步打印指标 过拟合是指模型在训…

2025年全国青少年信息素养大赛 scratch图形化编程挑战赛 小低组初赛 内部集训模拟题解析

2025年信息素养大赛初赛scratch模拟题解析 博主推荐 所有考级比赛学习相关资料合集【推荐收藏】 scratch资料 Scratch3.0系列视频课程资料零基础学习scratch3.0【入门教学 免费】零基础学习scratch3.0【视频教程 114节 免费】 历届蓝桥杯scratch国赛真题解析历届蓝桥杯scr…

Linux环境基础开发工具->gcc/g++

引入&#xff1a;gcc/g是什么&#xff1f; 在上篇博客我们知道&#xff0c;vim是一个编辑器&#xff0c;vim负责的是代码的编辑&#xff1b;而gcc/g是一个编译器&#xff0c;负责的就是代码的编译&#xff01;gcc负责C语言代码的编译&#xff0c;而g负责c代码的编译&#xff0…

云原生与DevOps融合实践:加速企业数字化转型的加速器

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 一、引言&#xff1a;为什么“云原生DevOps”是当下最强组合&#xff1f; 在传统软件交付模式逐步被淘汰的当下&#xff0c;越来…

孙颖莎王曼昱出战WTT美国站女双 拉斯维加斯再携手

2025年WTT美国大满贯将于7月3日至13日在拉斯维加斯奥尔良体育馆及美高梅大酒店会议中心举行。孙颖莎和王曼昱将搭档出战女双正赛。在不久前结束的多哈世乒赛女单决赛中,孙颖莎以4比3的大比分险胜王曼昱,成功卫冕。责任编辑:zx0176

基于51单片机和8X8点阵屏、独立按键的射击消除类小游戏

目录 系列文章目录前言一、效果展示二、原理分析三、各模块代码1、8X8点阵屏2、独立按键3、定时器04、定时器1 四、主函数总结 系列文章目录 前言 使用的是普中A2开发板。 【单片机】STC89C52RC 【频率】12T11.0592MHz 【外设】8X8点阵屏、独立按键 效果查看/操作演示&#x…

ubuntu22.04安装docker

1. 准备工作 更新系统软件包索引 sudo apt update2. 卸载旧版本 Docker&#xff08;可选&#xff09; 清理旧版 Docker 及相关依赖 sudo apt-get remove docker docker-engine docker.io containerd runc3. 设置 Docker 仓库 安装依赖工具 (apt-transport-https, ca-certi…

burpsuit抓包完整示例

1.确保浏览器&#xff08;这里使用的是火狐浏览器&#xff09;和burpsuit配置完整&#xff08;有需要留言&#xff09;&#xff0c;配置完整包括jdk安装&#xff0c;配置环境变量&#xff0c;下载burp,下载并导入证书&#xff0c;ip端口一致&#xff0c;代理能正常打开。 2.注意…

其他 | 边缘端应用的轻量级优化调研

1.调研目标 由于边缘计算场景的性能受限&#xff0c;无法提供与常规服务器相同或略低的环境&#xff0c;因此对我们的上层业务应用有着较高的资源要求。 目前我们的应用程序基于 Oracle JDK&#xff08;开发者端&#xff09;与 OpenJDK&#xff08;生产环境&#xff09;进行开…

Shell 脚本常用命令笔记

一、系统配置命令 1. 主机名设置 文件方式 修改文件&#xff1a;vim /etc/hostname&#xff0c;写入新主机名&#xff08;如czg.easylee.org&#xff09;。生效方式&#xff1a;需重新打开 Shell 或重启系统。 命令方式 即时生效命令&#xff1a;hostnamectl set-hostname 新…

不规则瀑布流布局拖拽重排序

因为业务&#xff0c;所以需要用flutter去实现一种不规则图形的瀑布流&#xff0c;但是同时需要支持拖拽并重新排序。效果类似如下。 查询过现有的插件&#xff0c;要么是仅支持同样大小的组件进行排序&#xff0c;要么就是动画效果不是很满意&#xff0c;有点死板&#xff0c;…

线程de安全性备忘

文章仅供学习参考 线程安全的本质定义 public class Counter {private int value 0; // 共享资源// 线程安全方法public synchronized void increment() {value; // 原子操作} }原子性&#xff08;Atomicity&#xff09;&#xff1a;操作不可分割&#xff08;如 synchroniz…

进行性核上性麻痹健康护理全指南:从症状管理到生活照护

进行性核上性麻痹&#xff08;PSP&#xff09;是一种罕见的神经退行性疾病&#xff0c;主要影响运动、平衡及眼球运动功能&#xff0c;常表现为步态不稳、吞咽困难、眼球上视受限、情绪改变等。由于目前尚无根治方法&#xff0c;科学的健康护理对延缓病情进展、提升患者生活质量…

[智能算法]蚁群算法原理与TSP问题示例

目录 ​编辑 一、生物行为启发的智能优化算法 1.1 自然界的群体智能现象 1.2 人工蚁群算法核心思想 二、算法在组合优化中的应用演进 2.1 经典TSP问题建模 2.2 算法流程优化 三、TSP问题实战:Python实现与可视化 3.1 算法核心类设计 3.2 参数敏感性实验 3.3 可视化…

安卓学习笔记-数据存储

阅读说明 本文是基于上一篇文章《安卓学习笔记-声明式UI》的后续。上篇文章实现了UI层以及业务逻辑层ViewModel的解耦。本篇关注的是数据存储层与业务逻辑层的解耦。 补充知识StateFlow 在 MVVM 架构中如何使用 Kotlin 协程的 StateFlow 来管理和暴露 UI 状态。 private va…

cutlass学习教程

一 接口 1.1 内存类 1.1.1 DeviceAllocation 1 位置 2 内置函数 &#xff08;a&#xff09;reset /// Deletes the managed object and resets capacity to zero void reset() {capacity 0;smart_ptr.reset(); } &#xff08;b&#xff09;get /// Returns a pointer to t…