(2024,Flag-DiT,文本引导的多模态生成,SR,统一的标记化,RoPE、RMSNorm 和流匹配)Lumina-T2X

Lumina-T2X: Transforming Text into Any Modality, Resolution, and Duration via Flow-based Large Diffusion Transformers

公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)

目录

0. 摘要

2. 方法

2.1 重新审视 RoPE、DiT、SiT、PixArt-α 和 Sora

2.2 Flag-DiT 的架构

2.3 Lumina-T2X 的总体流程

2.4 Lumina-T2X 家族

2.5 Lumina-T2I 的高级应用

3. 实验

6. 局限性与未来工作


0. 摘要

Sora 揭示了扩展扩散 Transformer(DiT)以生成逼真图像和视频的潜力,可以在任意分辨率、宽高比和持续时间上进行操作,但仍然缺乏足够的实现细节。

在这份技术报告中,我们介绍了Lumina-T2X 系列——一系列装备有零初始化注意力的基于流的大型(Flow-based Large) DiT(Flag-DiT),作为一个统一的框架,旨在将噪声转化为图像、视频、多视角 3D 对象和受文本指令条件约束的音频片段。通过对潜在的时空空间进行标记化(tokenizing),并引入诸如 [nextline] 和 [nextframe] 等可学习占位符,Lumina-T2X 无缝地统一了不同模态在各种时空分辨率下的表示。这种统一方法使得可以在单一框架内对不同模态进行训练,并允许在推理过程中灵活生成任何分辨率、宽高比和长度的多模态数据。

RoPE、RMSNorm 和流匹配(flow matching)等高级技术增强了 Flag-DiT 的稳定性、灵活性和可伸缩性,使 Lumina-T2X 模型能够扩展到 7B 参数,并将上下文窗口扩展到 128K token。这对于使用我们的 Lumina-T2I 模型创建超高清图像和使用我们的 Lumina-T2V 模型生成长 720p 视频尤为有益。

值得注意的是,由 5B 参数的 Flag-DiT 驱动的Lumina-T2I,仅需要 600M 参数的朴素 DiT(PixArt-α)训练计算成本的 35%,表明增加参数数量显着加速了生成模型的收敛速度,而不会影响视觉质量。我们进一步的综合分析强调了 Lumina-T2X 在分辨率外推、高分辨率编辑、生成一致的 3D 视图和合成具有无缝过渡的视频方面的初步能力。

代码和一系列检查点将陆续发布: https://github.com/Alpha-VLLM/Lumina-T2X

2. 方法

在这一部分中,我们重新审视了为 Lumina-T2X 奠定基础的初步研究。基于这些见解,我们介绍了核心架构 Flag-DiT 以及整体流程。接下来,我们深入探讨了不同的配置,并讨论了 Lumina-T2X 在包括图像、视频、多视角 3D 对象和语音等各种模态中的应用。讨论随后延伸到了预训练的 Lumina-T2I 在分辨率外推、风格一致生成、高分辨率编辑和组合生成等高级应用。

2.1 重新审视 RoPE、DiT、SiT、PixArt-α 和 Sora

在介绍 Lumina-T2X 之前,我们首先重新审视了几项关于利用 DiT 进行文本到图像和文本到视频生成的里程碑式研究,以及关于大型语言模型(LLM)的开创性研究。

旋转位置嵌入(Rotary Position Embedding,RoPE)。RoPE [136] 是一种可以在自注意力操作中编码相对位置的位置嵌入。它可以被看作是基于位置的乘性偏置 - 给定查询/键向量序列,经过 RoPE 处理后的第 n 个查询和第 m 个键可以表示为:

其中 Θ 是频率矩阵。配备了 RoPE 后,注意力分数的计算可以被视为对标准 Hermitian 内积的实部进行取值:

通过这种方式,可以明确地编码第 m 个和第 n 个 token 之间的相对位置。与绝对位置编码相比,RoPE 提供了平移不变性,这可以增强 LLM 的上下文窗口外推潜力。许多后续技术进一步探索和释放了这一潜力,例如,位置插值 [30]、NTK 感知的缩放 RoPE [3]、Yarn [112]等。

在这项工作中,Flag-DiT 将 RoPE 应用于 DiT 的键和查询。值得注意的是,与竞争对手相比,这种简单的技术赋予了 Lumina-T2X 更强的分辨率外推潜力(即,在训练期间看不到的域外分辨率生成图像),如第 3.2 节所示。

DiT、可扩展插值 Transformer(Scalable Interpolant Transformer,SiT)和流匹配(Flow Matching)。 U-Net 在以前的去噪扩散概率模型(DDPM)中一直是扩散的支柱。DiT [110] 探索了使用在潜在补丁上训练的 Transformer 作为U-Net的替代方法,实现了在类别条件 ImageNet 基准测试上的最新 FID 得分,并在训练和推理 FLOP 方面展现出了更高的扩展潜力。此外,SiT [98]利用了随机插值框架(或流匹配)以比 DDPM 更灵活地连接不同的分布。SiT 的广泛消融研究表明,线性连接两个分布、预测速度场和使用随机求解器可以提高具有相同 DiT 架构的样本质量。然而,DiT 和 SiT 在模型规模上受到限制,最多为 6B 参数,并且在扩展时容易出现训练不稳定性。因此,我们借鉴了 LLM 的设计选择,并验证了简单修改可以训练出一个带有 7B 参数的 DiT 混合精度训练。

PixArt-α 和 PixArt Σ。DiT 探索了用于标签条件生成的 Transformer 的潜力。建立在 DiT 之上,PixArt-α [24] 释放了这一潜力,用于基于任意文本说明生成图像。与 SDXL [114] 和 Raphael [159]相比,PixArt-α 显著降低了训练成本,同时保持了高样本质量。通过多阶段渐进训练、DiT 的高效文本到图像条件和精心策划的高审美数据集的使用,实现了这一目标。PixArt-Σ 通过将图像生成分辨率提高到 4K,便于收集 4K 训练图像文本对。

Lumina-T2I 受到 PixArt-α 和 -Σ 的启发,但它包含了几个关键差异。

  • 首先,Lumina-T2I 将 Flag-DiT 与 5B 参数作为骨干,比 PixArt-α 和 -Σ 使用的 0.6B 参数骨干大 8.3 倍。根据第 3.1 节关于类别条件 ImageNet 生成的研究,较大的扩散模型往往比其较小的对应物更快收敛,并且在捕捉高分辨率图像的细节方面表现出色。
  • 其次,与 PixArt-α 和 -Σ 在 ImageNet [38] 和 SAM-HD [80] 图像上进行预训练不同,Lumina-T2I 直接在高审美的合成数据集上进行训练,而不受来自不同领域图像的域差的干扰。
  • 第三,PixArt-α 和 -Σ 擅长生成分辨率与训练阶段相同的图像,而我们的 Lumina-T2I 通过引入RoPE 和 [nextline] 标记,具有分辨率外推能力,能够在训练期间看不到的更低或更高的分辨率生成图像,这在生成和转移各种尺度的图像方面具有显著优势。

Sora。Sora [108] 展示了在文本到视频生成方面的显着改进,可以创建跨不同持续时间、分辨率和长宽比的现实或想象场景的 1 分钟视频。与之相比,Lumina-T2V 也可以在任意长宽比下生成 720p 的视频。尽管在视频长度和质量方面,Lumina-T2V 与 Sora 之间仍然存在明显差距,但来自Lumina-T2V 的视频样本在场景过渡和与复杂文本说明对齐方面展现出了相当大的改进。我们已经发布了所有 Lumina-T2V 的代码,并相信使用更多的计算资源、精心设计的时空视频编码器和精心策划的视频文本对将进一步提高视频质量。

2.2 Flag-DiT 的架构

Lumina-T2X 框架的骨干是基于流的大型 ( Flag-DiT)。我们将介绍 Flag-DiT 的架构,并展示我们的框架的稳定性、灵活性和可扩展性。

基于流的大型 DiT(Flag-DiT)。DiT 正在成为一种具有巨大扩展潜力的流行生成建模方法。它通过从预训练的 VAE [79, 14] 中提取的潜在补丁进行操作,然后利用 transformer [150, 111] 作为去噪骨干,根据不同级别的受时间步长和类别标签限制的噪声潜在补丁,根据 DDPM 的公式 [134, 135, 61, 105] 来预测均值和方差。然而,DiT 的最大参数大小仅限于 600M,远远低于 LLM(例如,PaLM-540B [35, 7]、Grok-1-300B、LLaMa3-400B [145, 146])。此外,DiT 需要全精度训练,这会将 GPU 内存成本和训练速度与混合精度训练相比翻倍 [99]。最后,DiT 的设计选择缺乏生成任意数量图像(即视频或多视图图像)的灵活性,这些图像具有不同的分辨率和长宽比,使用固定的 DDPM 公式。

为了解决 DiT 的上述问题,Flag-DiT 保持了 DiT 的整体框架不变,同时引入了以下修改以改善可扩展性、稳定性和灵活性。

➀ 稳定性。Flag-DiT 建立在 DiT [111] 的基础上,并结合了来自 ViT-22B [36] 和 LLaMa [145, 146] 的修改以提高训练稳定性。具体而言,Flag-DiT 用 RMSNorm [163] 替代了所有 LayerNorm [9],以提高训练稳定性。此外,它在 K、Q 点积注意力计算之前引入了键、查询归一化(KQ-Norm)[36, 56, 96]。引入 KQ-Norm 旨在通过消除注意力 logits 中的极大值来防止损失发散 [36]。这样简单的修改可以防止混合精度训练下的发散损失,并促进更高学习速率的优化。Flag-DiT 的详细计算流程如图 2 所示。

➁ 灵活性。DiT 仅支持带有简单标签条件和固定 DDPM 公式的单个图像的固定分辨率生成。为了解决这些问题,我们首先研究了 DiT 为什么缺乏生成任意分辨率和尺度样本的灵活性。我们发现,这源于一个设计选择: DiT 利用了绝对位置嵌入(absolute positional embedding,APE)[42, 144],并遵循 ViT 将其添加到第一层的潜在 token 中。然而,APE 是为视觉识别任务设计的,很难推广到训练之外的未见分辨率和尺度。受到最近 LLM 展现出的强大的上下文外推能力的启发 [112, 136, 30, 3],我们将 APE 替换为 RoPE [136],它以逐层的方式注入了相对位置信息,如方程 1 和 2 所示。

由于原始的 DiT 只能处理一个固定大小的图像,我们进一步引入了可学习的特殊 token,包括 [nextline] 和 [nextframe] token,将具有不同尺度和持续时间的训练样本转换为统一的一维序列。此外,我们添加 [PAD] token,将 1-D 序列转换为相同长度以获得更好的并行性。这是显著改进训练和推理灵活性的关键修改,支持以任意模态、分辨率、长宽比和持续时间训练或生成样本,从而导致 Lumina-T2X 的最终设计。

接下来,我们将从 DiT 中的 DDPM 设置切换到流匹配公式 [98, 92, 86],为 Flag-DiT 提供了另一种灵活性。众所周知,定义如何将数据损坏到噪声的时间表(schedule)对标准扩散模型的训练和采样都有很大影响。因此,谨慎设计并使用了许多扩散时间表,包括 VE [135]、VP [61] 和 EDM [77]。相比之下,流匹配 [86, 5] 出现作为一种简单的替代方法,它在噪声和数据之间的一条直线上线性插值。更具体地说,给定数据 x ∼ p(x) 和高斯噪声 ϵ ∼ N(0, I),我们定义一个基于插值的前向过程

在 t ∈ [0, 1] 之间定义满足插值的 α_0 = 0,β_0 = 1,α_1 = 1 和 β_1 = 0,其中 x_0 = ϵ,x_1 = x。类似于扩散时间表,这种插值时间表还提供了灵活的 αt 和 βt 的选择。例如,我们可以结合原始的扩散计划,如

来生成 VP 余弦时间表。在我们的框架中,我们采用了在噪声和数据之间进行线性插值的计划,即

这个公式表明了在数据和噪声之间的均匀转换,速度恒定。相应的时间相关速度场由

给出,其中 ˙α 和 ˙β 分别表示 α 和 β 的时间导数。这个时间相关速度场 v:[0, 1]×R^d → R^d 定义了一个名为 Flow ODE 的常微分方程

我们用 ϕt(x) 表示具有初始条件 ϕ0(x) = x 的 Flow ODE 的解。通过从 t = 0 到 t = 1 求解这个 Flow ODE,我们可以使用近似的速度场 vθ(xt, t) 将噪声转换为数据样本。在训练过程中,流匹配目标直接回归目标速度

这被称为条件流匹配损失 [86],与扩散模型中的噪声预测或分数预测损失类似。 除了简单的标签条件生成,Flag-DiT 还可以灵活支持任意的文本指令,并使用零初始化的注意力 [165, 45, 164, 10]。如图 2(b) 所示,Flag-DiT-T2I,Flag-DiT 的一种变体,利用潜在图像 token 的查询来聚合来自文本嵌入的键和值的信息。然后我们提出了一个零初始化的门控机制,逐渐将条件信息注入到 token 序列中。最终的注意力输出被表述为 

其中 ˜I_q 和 ˜I_k 代表将公式 1 中定义的 RoPE 应用于图像查询和值,dk 是查询和键的维度,α 表示在门控跨注意力中零初始化的可学习参数。在实验过程中,我们发现零初始化的注意力会引发稀疏门控,可以在各层和各头部关闭 90% 的文本嵌入条件。这表明未来有设计更高效的文本到图像 (T2I) 模型的潜力。

借助上述改进,我们的 Flag-DiT 支持在统一流匹配范式下任意分辨率生成多张图像,并且具有任意条件。

➂ 可扩展性:在缓解 DiT 的训练稳定性并增加对基于文本指令的任意分辨率的支持灵活性之后,我们实验证明,通过更大的参数和更多的训练样本,Flag-DiT 可以扩展。具体来说,我们探索了在标签条件的 ImageNet 生成基准上,将参数规模从 600M 扩展到 7B。不同参数规模的 Flag-DiT 的详细配置在附录 B 中讨论。与普通 DiT 相比,Flag-DiT 可以在混合精度配置下稳定训练,并实现快速收敛。如实验部分所示,在验证了 Flag-DiT 模型的可扩展性后,我们将 token 长度扩展到 4K,并将数据集从标签条件的 100 万 ImageNet 扩展到更具挑战性的 1700 万高分辨率图像-文本对。我们进一步成功验证了 Flag-DiT 可以支持长达 128 帧的视频生成,相当于 128K token。由于 Flag-DiT 是一个纯基于 transformer 的架构,它可以借鉴为大型语言模型(LLM)设计的经验证的并行策略 [132, 121, 169, 88, 87, 89, 72],包括 FSDP[169] 和序列并行 [88, 87, 89, 72],以支持大参数规模和更长序列。因此,我们可以得出结论,Flag-DiT 是一个在模型参数、序列长度和数据集规模方面可扩展的生成模型。 

2.3 Lumina-T2X 的总体流程

如图 3 所示,Lumina-T2X 的训练流程包括四个主要部分,下面将进行描述。

不同模态的逐帧编码。在我们的框架中统一不同模态的关键成分是将图像、视频、多视图图像和语音谱图视为长度为 T 的帧序列。然后我们可以利用模态特定的编码器,将这些输入转换为形状为 [H, W, T, C] 的潜在帧。具体而言,对于图像 (T = 1)、视频 (T = numframes) 和多视图图像 (T = numviews),我们使用 SD 1.5 VAE 独立编码每个图像帧到潜在空间,并将所有潜在帧连接在一起,而语音谱图则保持不变,采用恒等映射。我们的方法建立了一个支持多样模态的通用数据表示,使我们的 Flag-DiT 能够有效建模。

使用多样化文本编码器进行文本编码。对于文本条件生成,我们使用预训练的语言模型对文本提示进行编码。具体而言,我们结合了多种不同大小的多样化文本编码器,包括 CLIP、LLaMA、SPHINX 和 Phone 编码器,以满足各种需求和模态,优化文本条件。我们在我们的模型库中提供了使用上述不同文本编码器训练的系列 Lumina-T2X 模型,如图 17 所示。

输入和目标构建。如第 2.2 节所述,潜在帧首先使用 2 × 2 补丁(patch)展平成 1 维序列,然后添加 [nextline] 和 [nextframe] token 作为标识符。Lumina-T2X 采用流匹配中的线性插值时间表来构建输入和目标,遵循公式 4 和 6 的简单性和灵活性。受扩散模型 [77] 和基于流模型 [44] 的观察启发,中间时间步(intermediate timesteps)对它们都很关键,我们在训练期间采用时间重采样策略,从对数正态分布中采样时间步。具体而言,我们首先从正态分布 N(0, 1) 中采样一个时间步,并使用逻辑函数将其映射到 [0, 1] 以强调中间时间步的学习。

网络架构和损失。我们使用 Flag-DiT 作为去噪主干。每个 Flag-DiT 块的详细架构如图 2 所示。给定噪声输入,Flag-DiT 块通过调制机制注入加上全局文本嵌入的扩散时间步,并通过使用第 2.2 节中提到的公式 9 的零初始化注意力进一步整合文本条件。我们在每个注意力和 MLP 块的开始添加 RMSNorm 以防止绝对值失控引起数值不稳定。最后,我们使用公式 8 中的条件流匹配损失计算预测速度 ˆvθ 与真实速度

之间的回归损失。

2.4 Lumina-T2X 家族

在本节中,我们介绍 Lumina-T2X 家族,包括 Lumina-T2I、Lumina-T2V、Lumina-T2MV 和 Lumina-T2Speech。对于每种模态,Lumina-T2X 都是独立训练的,配置多样,针对不同场景进行了优化,例如不同的文本编码器、VAE 潜在空间和参数大小。详细配置见附录 B。Lumina-T2I 是我们 Lumina-T2X 系统的关键组件,我们利用 T2I 任务作为测试平台来验证第 3.2 节中讨论的每个组件的有效性。值得注意的是,我们最先进的 Lumina-T2I 模型采用了 5B Flag-DiT、7B LLaMa 文本编码器和 SDXL 潜在空间,展示了卓越的视觉质量和精确的文本到图像对齐。然后,我们可以将探索的架构、超参数和其他训练细节扩展到视频、多视图和语音生成。由于视频和 3D 对象的多视图通常包含多达 100 万 token,Lumina-T2V 和 Lumina-T2MV 采用 2B Flag-DiT、CLIP-L/G 文本编码器和 SD-1.5 潜在空间。尽管这种配置略微降低了视觉质量,但它在处理长序列和图像视频联合潜在空间之间提供了有效的平衡。受之前方法 [62, 24] 的启发,Lumina-T2I、Lumina-T2V 和 Lumina-T2MV 采用了多阶段训练方法,从低分辨率、短持续时间数据开始,到高分辨率、长持续时间数据结束。这种渐进训练策略显著提高了 Lumina-T2X 的收敛速度。对于 Lumina-T2Speech,由于谱图的特征空间与图像显示完全不同的分布,我们直接对谱图进行 token 化而不使用 VAE 编码器,并训练一个随机初始化的 Flag-DiT,以语音编码器为条件进行 T2Speech 生成。

2.5 Lumina-T2I 的高级应用

除了其基本的文本到图像生成能力外,文本到图像的 Lumina-T2I 还支持更复杂的视觉创作,并作为基础模型产生创新的视觉效果。这包括分辨率外推、一致的风格生成、高分辨率图像编辑和合成生成——所有这些都无需调整。与之前使用不同方法解决这些任务的方法不同,Lumina-T2I 可以通过 token 操作统一处理这些问题,如图 4 所示。

无需微调的分辨率外推(Extrapolation)。由于计算需求的指数级增长和数据的稀缺性,现有的文本到图像 (T2I) 模型通常仅限于 1K 分辨率。因此,对低成本和高分辨率外推方法有显著需求【55, 43, 33】。RoPE 的平移不变性增强了 Lumina-T2X 的分辨率外推潜力,使其能够在域外分辨率下生成图像。受先前艺术实践的启发,我们采用了三种技术来释放 Lumina-T2X 在测试时分辨率外推的潜力:

  • NTK-aware scaled RoPE【3】,通过重新缩放 RoPE 的旋转基数,实现低频分量的逐渐(gradual)位置插值;
  • 时间偏移(Time Shifting)【44】,重新安排时间步,以确保不同分辨率的去噪过程中信噪比一致;
  • 比例注意力(Proportional Attention)【75】,重新缩放注意力得分,以确保在各种序列长度下注意力熵的稳定性。

分辨率外推的可视化见图 7,关于上述技术的详细实现见附录 A.1。除了生成大尺寸图像,我们还观察到这种分辨率外推甚至可以提高生成图像的质量,犹如免费午餐(参见第 3.2 节)。

风格一致生成。基于 transformer 的扩散模型架构使 Lumina-T2I 自然适用于自注意力操作应用,如风格一致生成。一个代表性方法是共享注意力【58】,可以在不对模型进行特定调优的情况下生成风格对齐的批次(batch)图像。具体而言,它将批次中的第一张图像作为锚点/参考图像,允许批次中其他图像的查询在自注意力操作期间访问第一张图像的键和值。这种信息泄露有效促进了批次图像之间的一致风格。通常,可以通过在自注意力之前连接第一张图像的键和值与其他图像的键和值来实现。然而,在 DiT 中,需要注意的是,来自两张图像的键包含重复的位置信息,这会破坏模型对空间结构的感知。因此,我们需要确保键/值共享发生在 RoPE 之前,这可以看作是将参考图像序列附加到目标图像序列。

组合生成。组合或多概念文本到图像生成【74, 12, 162】要求模型在单个图像的不同区域生成多个对象,我们的基于 transformer 的框架无缝支持这一点。用户可以定义 N 个不同的提示和 N 个边界框作为相应提示的掩码。我们的关键见解是,在采样期间限制每个提示的跨注意力操作在相应的区域内。具体而言,在每个时间步,我们使用每个掩码裁剪噪声数据 xt,并将得到的子区域重新整形成子区域批次 {x^1_t, x^2_t, ... , x^N_t},对应于提示批次 {y^1, y^2, ... , y^N}。然后,我们使用这个子区域批次和提示批次计算交叉注意力,并将输出操作回完整的数据样本。我们只将此操作应用于交叉注意力层,以确保文本信息被注入不同区域,同时保持自注意力层不变,以确保最终图像的连贯性和和谐性。我们还将全局文本条件设置为完整提示的嵌入,即所有提示的串联,以增强全局连贯性。

高分辨率编辑。除了高分辨率生成之外,我们的 Lumina-T2I 还可以执行图像编辑【57, 18】,特别是针对高分辨率图像。考虑到不同编辑类型的不同特征,我们首先将图像编辑分为两大类,即风格编辑和主体编辑。风格编辑旨在改变或增强整体视觉风格,如颜色、环境和纹理,而不修改图像的主要对象,而主体编辑则旨在修改主要对象的内容,如添加、替换和删除,而不影响整体视觉风格。然后,我们利用一个简单而有效的方法在 Lumina-T2I 框架内实现这种图像编辑。具体而言,给定输入图像,我们首先使用 VAE 编码器将其编码到潜在空间,并将图像潜在变量与噪声插值,得到时间 λ 的中间噪声潜在变量。然后,我们可以使用所需提示作为文本条件,求解从 λ 到 1.0 的Flow ODE,以进行编辑。由于我们模型的强大生成能力,它可以忠实地执行理想的编辑,同时保留高分辨率的原始细节。然而,在风格编辑中,我们发现均值和方差与图像风格高度相关。因此,上述方法仍然会由于插值噪声数据保留原始图像风格的均值和方差而遭受风格泄露。为消除原始图像风格的影响,我们对输入图像进行逐通道归一化,将其转化为零均值和单位方差。

3. 实验

6. 局限性与未来工作

统一框架但独立训练。由于不同模态的数据量不平衡和多样的潜在空间分布,目前版本的 Lumina-T2X 是分别训练以应对图像、视频、3D对象多视角和语音的生成。因此,在未利用 2D 图像的预训练权重的情况下,Lumina-T2V 和 Lumina-T2MV在时间或视角一致生成方面取得了初步结果,但与其对应方法相比,样本质量较低。目前,我们提出 Lumina-T2X 作为跨任意模态扩展模型的统一框架。未来,我们将进一步探索图像、视频、多视角和音频的联合训练,以实现更好的生成质量和快速收敛。

快速收敛但数据覆盖不足。尽管大模型规模使 Lumina-T2X 能够以快速收敛实现与其对应方法相媲美的生成能力,但所收集数据对多样数据谱的覆盖不足仍然是一个限制。这导致了对真实物理世界复杂模式和细微差别的不完整学习,可能导致模型在现实场景中的表现不够稳健。因此,Lumina-T2X 也面临当前生成模型的常见问题,如难以生成详细的人体结构(如手)或在复杂场景中出现人工噪声和背景模糊,从而生成不够真实的图像。我们相信,更高质量的现实世界数据,结合 Lumina-T2X 强大的收敛能力,将是解决这一问题的有效方案。

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

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

相关文章

使用Streamlit和MistralAI创建AI聊天机器人应用

大家好,创建交互式和用户友好型的应用程序通常需要复杂的框架和耗时的开发过程。Streamlit是一个Python库,它简化了以数据为重点的网络应用程序的创建过程,使开发人员和数据科学家能够快速将他们的想法转化为交互式仪表盘和原型。本文将介绍使…

『 Linux 』文件系统

文章目录 磁盘构造磁盘抽象化 磁盘的寻址方式磁盘控制器磁盘数据传输文件系统Inode数据块(Data Blocks)超级块(SuperBlock)块组描述符(Group Descriptor) 磁盘构造 磁盘内部构造由磁头臂,磁头,主轴,盘片,盘面,磁道,柱面,扇区构成; 磁头臂:控制磁头的移动,可以精确地…

vs2019 QT UI 添加新成员或者控件代码不提示问题解决方法

右键点击头文件,添加ui的头文件 添加现有项 找到uic目录的头文件 打开ui,QtWidgetsApplication2.ui,进行测试 修改一个名字: 重点: 设置一个布局: 点击生成解决方案: 以后每次添加控件后,记得点击保存 这样…

flink 作业报日志类冲突的解决方案

文章目录 背景思考初步解决方案深入思考下终极解决方案总结 背景 实时作业在页面提交任务后,报NoSuchMethodException 方法,看了下是关于log4j的,首先是作业升级了很多依赖的版本,其次flink 也升级 到了1.19版本 思考 打的Jar有…

CSS选择器的常见用法

大家好,本期博客整理了前端语言 CSS 中选择器的入门级常见用法,希望能对大家有所帮助 CSS 选择器的主要功能就是选中⻚⾯指定的标签元素,选中了元素,才可以设置元素的属性。 那么,css选择器有哪几种呢? 以…

全面理解渗透测试

揭秘网络安全的秘密武器:全面理解渗透测试 在数字化时代,网络安全已成为人们关注的焦点。网络攻击和数据泄露事件频发,给个人、企业和国家带来了巨大的损失。为了应对这一挑战,渗透测试作为一种重要的网络安全评估手段&#xff0…

Docker-----emqx部署

emqx通过Docker容器化部署流程 1.创建持久化挂载目录 mkdir -p /home/emqx/etc ------挂载emqx的配置文件目录 mkdir -p /home/emqx/data ------挂载emqx的存储目录 mkdir -p /home/emqx/log ------挂载emqx的日志目录 [root home]# mkdir -p /home/emqx/etc [root home]# mkd…

【Redis】 使用Java操作Redis的客户端

文章目录 🍃前言🌴项目的创建🎋引入依赖🌳配置端⼝转发🌲更改 Redis 配置文件🎄连接 Redis Server⭕总结 🍃前言 我们使用 Java 操作 Redis 客户端时我们需要进行以下操作。 注意:J…

Linux上部署和安装MinIO

🍁 作者:知识浅谈,CSDN签约讲师,CSDN博客专家,华为云云享专家,阿里云专家博主 📌 擅长领域:全栈工程师、爬虫、ACM算法,大数据,深度学习 💒 公众号…

2024年6月1日 (周六) 叶子游戏新闻

Embracer探讨单机游戏大作涨价超过70美元的可能性在Embracer集团等待公布新公司名称的同时,他们对游戏大作的价格上涨做出了评论。几年来,游戏大作的价格已经达到了70美元的门槛。Embracer集团的CEO Lars Wingefors在采访中表示,电子游戏行业…

vulnhub靶场之FunBox-10

一.环境搭建 1.靶场描述 As always, its a very easy box for beginners. This works better on VitualBox rather than VMware 2.靶场下载 Funbox: Under Construction! ~ VulnHub 3.靶场启动 靶场IP地址我们不知道,但是网段我们知道是192.168.2.0/24 二.信息…

stack学习

std::stack 类是一种容器适配器,它给予程序员栈的功能——特别是 FILO(先进后出)数据结构。该类模板用处为底层容器的包装器——只提供特定函数集合。栈从被称作栈顶的容器尾部推弹元素。 operator 赋值给容器适配器 (公开成员函数) 元素访问…

Base64码转换

title: Base64码转换 date: 2024-06-01 20:30:28 tags: vue3 后端图片前端显示乱码 现象 后端传来一个图片,前端能够接收,但是console.log()后发现图片变成了乱码,但是检查后台又发现能够正常的收到了这张图片。 处理方法 笔者有尝试将图…

Java关键字详解

文章目录 什么是关键字?数据类型(10个)byte、char、boolean、short、int、float、long、double、void、enum 流程控制(12个)if、else、do、while、for 、switch、case、assertbreak(跳出循环)co…

STM32(八):独立看门狗 (标准库函数)

前言 上一篇文章介绍了STM32单片机中的USART串口通信,这篇文章我们来介绍一下如何用STM32单片机中的独立看门狗来实现检测按键点灯的程序。 一、实验原理 单片机系统会由于受到外界的干扰,而造成程序执行紊乱,系统无法正常运行。为了防止这…

STL:stack和queue

文章目录 stack的介绍和使用stack的介绍stack的使用stack的模拟实现 queue的介绍和使用queue的介绍queue的使用queue的模拟实现 priority_queue的介绍和使用priority_queue的介绍priority_queue的使用优先级队列的模拟实现 deque的介绍deque的结构deque的缺陷为什么选择deque作…

Django ORM魔法:用Python代码召唤数据库之灵!

探索Django ORM的神奇世界,学习如何用Python代码代替复杂的SQL语句,召唤数据库之灵,让数据管理变得轻松又有趣。从基础概念到高级技巧,阿佑带你一步步成为Django ORM的魔法师,让你的应用开发速度飞起来! 文…

golang线程池ants-四种使用方法

目录 1、ants介绍 2、使用方式汇总 3、各种使用方式详解 3.1 默认池 3.2 普通模式 3.3 带参函数 3.4 多池多协程 4、总结 1、ants介绍 众所周知,goroutine相比于线程来说,更加轻量、资源占用更少、无线程上下文切换等优势,但是也不能…

前端Vue小兔鲜儿电商项目实战Day06

一、本地购物车 - 列表购物车 1. 基础内容渲染 ①准备模板 - src/views/cartList/index.vue <script setup> const cartList [] </script><template><div class"xtx-cart-page"><div class"container m-top-20"><div…

vs2019 无法打开QT的UI文件

/* * --------------------------- Microsoft Visual StudioQt5.15.2\5.15.2\msvc2019_64 --------------------------- D:\QT_Project_vs\QtWidgetsApplication1\QtWidgetsApplication1\QtWidgetsApplication1.ui 无法打开文件。 --------------------------- 确定 -------…