从单模态到多模态:深度生成模型的演进历程

在人工智能领域,生成模型的发展一直是研究热点。从最早的自编码器到如今的多模态扩散模型,这一技术路线不断突破,为创意内容生成、数据增强和表示学习等领域带来革命性变化。本文将详细介绍几种关键生成模型的技术原理和演进路径,展示从单模态到多模态的技术发展历程。

生成模型简介

1. GAN(生成对抗网络,2014年6月)

在这里插入图片描述

背景

由Ian Goodfellow等人提出,旨在通过对抗训练生成逼真数据。其核心思想是通过生成器与判别器的博弈,使生成器逐渐逼近真实数据分布。

原理

  • 生成器(Generator):将随机噪声 z z z映射到数据空间,生成样本 G ( z ) G(z) G(z)
  • 判别器(Discriminator):判断输入样本是否来自真实数据分布,输出概率 D ( x ) D(x) D(x)
  • 对抗目标:生成器最大化判别器的判断错误,判别器最小化分类误差:
    min ⁡ G max ⁡ D E x ∼ p d a t a ( x ) [ log ⁡ D ( x ) ] + E z ∼ p z ( z ) [ log ⁡ ( 1 − D ( G ( z ) ) ) ] \min_G \max_D \mathbb{E}_{x\sim p_{data}(x)}[\log D(x)] + \mathbb{E}_{z\sim p_z(z)}[\log(1 - D(G(z)))] GminDmaxExpdata(x)[logD(x)]+Ezpz(z)[log(1D(G(z)))]

网络结构

  • 生成器:多层全连接或卷积网络,输出与真实数据相同维度的样本。
  • 判别器:类似分类器,通常为全连接或卷积网络,输出二分类概率。

优缺点

  • 优点
    • 生成样本质量高,支持多样化生成(如高分辨率图像)。
    • 支持条件生成(如CGAN)。
  • 缺点
    • 训练不稳定(模式崩溃、梯度消失)。
    • 难以评估收敛性,需平衡生成器与判别器的训练速度。

应用场景

  • 图像生成(如DeepFakes)、风格迁移(如CycleGAN)、超分辨率重建

2. AE(自编码器,1986年)

在这里插入图片描述

背景

经典无监督学习模型,由编码器和解码器组成,目标是学习数据的紧凑表示并重构原始数据。

原理

  • 编码器:将输入 x x x压缩为低维潜在向量 z = E ( x ) z = E(x) z=E(x)
  • 解码器:从 z z z重构 x ′ x' x,最小化重构误差:
    L = ∣ ∣ x − D ( E ( x ) ) ∣ ∣ 2 \mathcal{L} = ||x - D(E(x))||^2 L=∣∣xD(E(x))2

网络结构

  • 编码器:全连接或卷积层,逐步降低维度。
  • 解码器:反卷积或全连接层,恢复原始数据维度。

优缺点

  • 优点
    • 简单高效,适合降维和去噪。
    • 可用于特征提取(如图像压缩)。
  • 缺点
    • 潜在空间无明确结构,生成样本模糊。
    • 不支持直接采样生成新样本。

应用场景

  • 数据压缩(如图像压缩)、特征提取去噪(如图像修复)。

3. VAE(变分自编码器,2013年12月)

在这里插入图片描述

背景

基于贝叶斯概率框架,通过变分推断学习潜在变量分布,解决AE的潜在空间不连续问题。

原理

  • 编码器:输出潜在变量分布参数 μ , σ \mu, \sigma μ,σ,即 q ϕ ( z ∣ x ) q_\phi(z|x) qϕ(zx)
  • 解码器:从 z ∼ N ( μ , σ 2 ) z \sim \mathcal{N}(\mu, \sigma^2) zN(μ,σ2)生成样本。
  • 损失函数:重构损失(Reconstruction Loss) + KL散度(正则化):
    L = E q ϕ ( z ∣ x ) [ log ⁡ p θ ( x ∣ z ) ] − KL ( q ϕ ( z ∣ x ) ∣ ∣ p ( z ) ) \mathcal{L} = \mathbb{E}_{q_\phi(z|x)}[\log p_\theta(x|z)] - \text{KL}(q_\phi(z|x) || p(z)) L=Eqϕ(zx)[logpθ(xz)]KL(qϕ(zx)∣∣p(z))

网络结构

  • 编码器:输出均值和方差的两个向量。
  • 重参数化技巧 z = μ + ϵ ⋅ σ z = \mu + \epsilon \cdot \sigma z=μ+ϵσ, ϵ ∼ N ( 0 , I ) \epsilon \sim \mathcal{N}(0, I) ϵN(0,I)

优缺点

  • 优点
    • 潜在空间连续且结构化,支持插值和采样。
    • 可解释性强,适合生成多样化样本。
  • 缺点
    • 生成样本模糊(KL散度惩罚过强)。
    • 重构质量可能下降(如图像边缘模糊)。

应用场景

  • 图像生成语义嵌入数据增强(如生成相似但不同的样本)。

4. VQ-VAE(矢量量化变分自编码器,2017年12月)

在这里插入图片描述

背景

为解决VAE生成模糊问题,引入离散潜在空间,结合自编码器与矢量量化技术。

原理

  • 编码器:输出连续潜在向量。
  • 矢量量化层:将连续向量映射到最近邻离散码本向量 e k e_k ek
  • 解码器:从离散向量重构数据。
  • 损失函数:重构损失 + 矢量量化误差(编码器与码本的差异)。

网络结构

  • 码本:预先定义的离散向量集合。
  • 离散化步骤 z q = arg ⁡ min ⁡ e k ∣ ∣ z e − e k ∣ ∣ 2 z_q = \arg\min_{e_k} ||z_e - e_k||^2 zq=argminek∣∣zeek2

优缺点

  • 优点
    • 生成样本清晰,避免后验坍塌。
    • 离散空间支持高效检索(如文本生成)。
  • 缺点
    • 离散化可能降低潜在空间的连续性。
    • 训练复杂度增加(需优化码本)。

应用场景

  • 图像生成(如DALL·E)、音频合成(如语音编码)、文本生成(如离散化语言模型)。

5. Diffusion Model(扩散模型,2015年3月)

在这里插入图片描述

背景

受物理扩散过程启发,通过逐步添加噪声再逆向去噪生成数据。
在这里插入图片描述

原理

  • 正向扩散过程
    x t = 1 − β t x t − 1 + β t ϵ t − 1 , ϵ t − 1 ∼ N ( 0 , I ) x_t = \sqrt{1-\beta_t}x_{t-1} + \sqrt{\beta_t}\epsilon_{t-1}, \quad \epsilon_{t-1} \sim \mathcal{N}(0,I) xt=1βt xt1+βt ϵt1,ϵt1N(0,I)
    其中, β t \beta_t βt为噪声调度参数,逐步将数据 x 0 x_0 x0变为噪声 x T x_T xT
  • 逆向生成过程
    学习模型 p θ ( x t − 1 ∣ x t ) p_\theta(x_{t-1}|x_t) pθ(xt1xt)从噪声恢复数据。

数学基础

  • 正向过程:马尔可夫链,每一步添加高斯噪声。
  • 逆向过程:通过深度网络预测噪声 ϵ t \epsilon_t ϵt,逐步去噪:
    x t − 1 = 1 α t ( x t − 1 − α t ϵ θ ( x t , t ) ) x_{t-1} = \frac{1}{\sqrt{\alpha_t}}\left(x_t - \sqrt{1-\alpha_t}\epsilon_\theta(x_t,t)\right) xt1=αt 1(xt1αt ϵθ(xt,t))
    其中, α t = 1 − β t \alpha_t = 1-\beta_t αt=1βt

网络结构

  • 去噪网络:通常为U-Net,预测当前步的噪声 ϵ t \epsilon_t ϵt
  • 时间嵌入:扩散步数 t t t作为输入,指导去噪。

优缺点

  • 优点
    • 生成质量高,支持条件生成(如文本到图像)。
    • 理论基础扎实,避免模式崩溃。
  • 缺点
    • 训练与推理速度慢(需多步迭代,如1000步)。
    • 计算资源需求高(内存和显存占用大)。

应用场景

  • 高分辨率图像生成(如Stable Diffusion)、超分辨率图像修复

6. DDPM(去噪扩散概率模型,2020年6月)

在这里插入图片描述

背景

Diffusion Model的里程碑实现,通过马尔可夫链和噪声调度参数优化训练。

原理

  • 噪声预测:模型直接预测添加的噪声 ϵ t \epsilon_t ϵt
    ϵ θ ( x t , t ) ≈ ϵ \epsilon_\theta(x_t, t) \approx \epsilon ϵθ(xt,t)ϵ
  • 去噪公式
    x t − 1 = 1 α t ( x t − 1 − α t ϵ θ ( x t , t ) ) x_{t-1} = \frac{1}{\sqrt{\alpha_t}}\left(x_t - \sqrt{1-\alpha_t}\epsilon_\theta(x_t,t)\right) xt1=αt 1(xt1αt ϵθ(xt,t))

网络结构

  • U-Net:编码器-解码器结构,处理多尺度特征。
  • 时间嵌入:扩散步数 t t t经正弦嵌入后输入网络。

优缺点

  • 优点
    • 理论严谨,支持灵活调度噪声参数。
    • 生成质量接近真实数据分布。
  • 缺点
    • 采样步骤多(通常需1000步),计算成本高。
    • 需要大量训练数据。

应用场景

  • 图像生成(如DDPM的变体)、文本到图像(如DALLE-2)、视频生成

7. Diffusion Models Beat GANs(2021年5月)

背景

通过改进扩散模型架构(如引入注意力机制),在ImageNet等数据集上超越GAN的生成质量与多样性。

关键改进

  • 层次化扩散过程:分阶段处理不同尺度特征。
  • 条件生成:结合文本或标签条件,增强可控性。
  • 注意力机制:增强跨区域特征关联(如Transformer模块)。

原理

  • 多尺度扩散:在不同分辨率下执行扩散过程,提升细节质量。
  • 混合模型:结合扩散模型与GAN的判别器进行联合训练。

优缺点

  • 优点
    • 生成多样性与保真度并存,无模式崩溃。
    • 支持复杂条件生成(如文本描述生成图像)。
  • 缺点
    • 计算资源需求高,训练复杂度大。
    • 需要大量标注数据。

应用场景

  • 高质量图像生成风格迁移艺术创作

8. DALLE-2(2022年4月)

在这里插入图片描述

背景

结合文本到图像生成与扩散模型,通过CLIP对齐文本与视觉特征。

原理

  • 文本编码器:将文本映射为CLIP的嵌入向量。
  • 扩散解码器:在潜在空间(如VQ-VAE的码本)中执行扩散,逐步去噪生成图像。

网络结构

  • 文本编码器:基于Transformer的编码器,输出文本嵌入。
  • 扩散模型:在潜在空间中执行,使用U-Net预测噪声。
  • CLIP对齐:通过对比学习对齐文本和图像的嵌入空间。

优缺点

  • 优点
    • 文本-图像对齐度高,支持复杂描述(如“一只戴帽子的熊猫在跳舞”)。
    • 生成多样性与质量平衡。
  • 缺点
    • 依赖预训练CLIP模型,计算成本高。
    • 需要大量文本-图像配对数据。

应用场景

  • 文本生成图像(如MidJourney)、艺术创作内容生成(如广告设计)。

9. Latent Diffusion Model(潜在扩散模型,2022年7月)

在这里插入图片描述

背景

在潜在空间(如VQ-VAE的离散码本)中执行扩散过程,大幅减少计算量。

原理

  • 潜在空间扩散:在低维潜在空间(如 z ∈ R d z \in \mathbb{R}^d zRd)中进行扩散,而非像素空间。
  • 解码器:将潜在空间的生成结果映射回像素空间。

网络结构

  • 编码器-解码器:如VQ-VAE或AutoEncoder,将图像压缩到潜在空间。
  • 扩散过程:在潜在空间中执行,使用U-Net预测噪声。

优缺点

  • 优点
    • 推理速度加快(维度降低,如从 256 × 256 256 \times 256 256×256像素到 32 × 32 32 \times 32 32×32潜在码本)。
    • 生成质量与原始模型相当。
  • 缺点
    • 依赖潜在空间编码器的质量。
    • 需要额外训练编码器-解码器。

应用场景

  • 高效图像生成(如Stable Diffusion)、编辑工具(如图像修复)。

10. UNet(2015年)

在这里插入图片描述

背景

由Olaf Ronneberger提出,最初用于医学图像分割,现广泛用于扩散模型的去噪网络。

原理

  • 编码器(收缩路径):卷积层提取特征,池化降低分辨率。
  • 解码器(扩张路径):反卷积恢复分辨率,跳跃连接融合多尺度特征。

网络结构

  • 跳跃连接:编码器层与解码器对应层的特征拼接。
  • 时间嵌入:扩散模型中需输入当前步数 t t t,通过正弦嵌入扩展维度。
  • 注意力机制:部分改进版UNet(如U-Net++)引入注意力模块。

优缺点

  • 优点
    • 多尺度特征融合,适配复杂任务(如医学图像的细节重建)。
    • 模块化设计,易于扩展。
  • 缺点
    • 参数量较大,计算成本高。
    • 需要大量标注数据训练。

应用场景

  • 医学图像分割(如肿瘤检测)、扩散模型去噪(如DDPM、Stable Diffusion)、语义分割

11. DDIM(去噪扩散隐式模型,2020年10月)

背景

由Jonathan Ho等人提出的扩散模型改进版本,通过设计非马尔可夫链加速采样过程,显著提高扩散模型的推理效率。

原理

  • 隐式采样:打破马尔可夫链约束,允许直接从 x t x_t xt x t − s x_{t-s} xts的跳跃:
    x t − s = α t − s ( x t − 1 − α t ϵ θ ( x t , t ) α t ) + 1 − α t − s ϵ θ ( x t , t ) x_{t-s} = \sqrt{\alpha_{t-s}}\left(\frac{x_t - \sqrt{1-\alpha_t}\epsilon_\theta(x_t,t)}{\sqrt{\alpha_t}}\right) + \sqrt{1-\alpha_{t-s}}\epsilon_\theta(x_t,t) xts=αts (αt xt1αt ϵθ(xt,t))+1αts ϵθ(xt,t)
  • 确定性推理:可选择确定性路径(无随机性),实现可控生成:
    x t − 1 = α t − 1 ( x t − 1 − α t ϵ θ ( x t , t ) α t ) + 1 − α t − 1 ϵ θ ( x t , t ) x_{t-1} = \sqrt{\alpha_{t-1}}\left(\frac{x_t - \sqrt{1-\alpha_t}\epsilon_\theta(x_t,t)}{\sqrt{\alpha_t}}\right) + \sqrt{1-\alpha_{t-1}}\epsilon_\theta(x_t,t) xt1=αt1 (αt xt1αt ϵθ(xt,t))+1αt1 ϵθ(xt,t)

网络结构

  • 与DDPM相同,使用U-Net预测噪声。
  • 通过调度采样步数,如从1000步减少到10-50步。

优缺点

  • 优点
    • 大幅提高采样速度(可达10-100倍)。
    • 支持确定性采样,便于插值和编辑。
  • 缺点
    • 质量略低于完整步数的DDPM。
    • 参数调整复杂,需平衡速度与质量。

应用场景

  • 实时图像生成交互式编辑工具快速原型设计

12. Transformer-based Generative Models(基于Transformer的生成模型,2021年后)

在这里插入图片描述

背景

将Transformer架构应用于生成模型,如VQGAN+CLIP、Imagen等,结合自注意力机制的长距离依赖建模优势。

原理

  • 自回归生成:类似GPT模型,逐元素生成序列。
  • 扩散Transformer:将扩散模型的U-Net替换为Transformer架构。
  • 双向注意力:通过交叉注意力机制融合文本与图像特征。

网络结构

  • Vision Transformer (ViT):将图像分割为patch处理。
  • 交叉注意力层:融合文本特征指导图像生成。
  • 位置编码:维持序列的空间信息。

优缺点

  • 优点
    • 长距离依赖建模能力强,适合复杂场景。
    • 与大语言模型架构一致,便于多模态融合。
  • 缺点
    • 计算复杂度高,尤其是自注意力机制( O ( n 2 ) O(n^2) O(n2))。
    • 需要大量训练数据和计算资源。

应用场景

  • 高质量图像生成(如Parti、Imagen)、视频生成(如Make-A-Video)、多模态生成

13. ControlNet(2023年2月)

在这里插入图片描述

背景

由Lvmin Zhang等人提出的条件控制框架,为扩散模型增加精确的空间控制能力,实现结构化生成。

原理

  • 零卷积:使用参数初始化为零的卷积层,逐步学习条件控制信号。
  • 条件分支:额外的神经网络分支处理控制信号(如边缘、姿势等)。
  • 特征融合:在U-Net的各层级融合条件特征。

网络结构

  • 主干网络:预训练的稳定扩散模型(freeze)。
  • 控制分支:与主干网络相同结构,但专注于条件信号处理。
  • 特征适配器:将条件特征映射到主干网络相容的空间。

优缺点

  • 优点
    • 精确的空间控制,支持多种条件(线稿、姿势、深度等)。
    • 保留原始模型生成能力,仅增强控制层面。
  • 缺点
    • 需要特定条件数据训练。
    • 额外内存占用,增加计算负担。

应用场景

  • 精确图像编辑(如姿势引导)、草图转图像风格迁移与保持结构

总结对比表

模型核心思想优势与局限典型应用
GAN对抗训练高质量生成,但训练不稳定图像生成、风格迁移
AE/VAE/VQ-VAE潜在空间建模结构化表示,但生成模糊数据压缩、图像修复
Diffusion Model逐步去噪生成高保真,但速度慢文本到图像、超分辨率
DALLE-2文本-图像对齐复杂描述生成,依赖CLIP文本生成图像
Latent Diffusion潜在空间加速高效生成,依赖编码器质量快速图像生成工具
UNet多尺度特征融合细节保留,计算成本高医学分割、扩散模型核心
DDIM非马尔可夫链加速采样快,但质量略低实时生成、快速原型设计
Transformer自注意力机制多模态建模强,但计算复杂高质量图像生成、视频生成
ControlNet条件控制精确控制,但需要额外资源姿势引导、草图转图像

未来方向

  • 效率优化:如隐式扩散模型(DDIM)加速采样,或结合神经渲染技术。
  • 多模态融合:结合文本、音频等生成复杂内容(如DALLE-2的扩展)。
  • 可控生成:通过条件输入(如文本、属性)精细控制生成结果。

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

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

相关文章

【系统架构设计师】嵌入式微处理器

目录 1. 说明2. 微处理器(MPU)3. 微控制器(MCU)4. 信号处理器(DSP)5. 图形处理器(GPU)6. 片上系统(SoC)7. 例题7.1 例题1 1. 说明 1.嵌入式微处理器主要用于处理相关任务。2.由于嵌入式系统通常都在室外使用,可能处于不同环境,因此,选择处理…

Cursor Free VIP 重置进程错误,轻松恢复使用!

快速修复 Cursor Free VIP 重置进程错误,轻松恢复使用! 在使用 Cursor Free VIP 的过程中,突然遭遇 “重置进程错误” 是不是让你手忙脚乱?当屏幕弹出 “文件未找到: C:\Users\用户\AppData\Local\Programs\Cursor\resources\app…

dolphinscheduler实现(oracle-hdfs-doris)数据ETL

dolphinscheduler执行 完整脚本(自行替换相关变量)配置文件conf配置文件解析脚本转base64脚本 完整脚本(自行替换相关变量) user_olsh conf/getInfo.sh Oracle user conf/databases.conf password_olsh conf/getInfo.sh Oracle password conf/databases.conf dblink_olsh conf…

小小矩阵设计

在电气设计图中,矩阵设计的接线方法是通过结构化布局实现多灵活链接的技术,常用于信号切换、配电调压或更加复杂的控制场景。 今天聊一种在电气图纸中用到的一种简单矩阵接法,一眼就看明白,很大程度简化了程序控制点和继电器的使用…

【音视频】FFmpeg解封装

解封装 复用器,比如MP4/FLV 解复用器,MP4/FLV 封装格式相关函数 avformat_alloc_context(); 负责申请一个AVFormatContext结构的内存,并进行简单初始化avformat_free_context(); 释放该结构里的所有东西以及该结构本身avformat_close_input();关闭解复…

1️⃣5️⃣three.js_GUI辅助调试器

15、GUI辅助调试器 3D虚拟工厂在线体验 GUI辅助调试器将原本需要修改代码调整参数并刷新页面的操作,简化为直接在GUI中实时调整,实现所见即所得的效果。 导入GUI 库 //引入GUI辅助调试器 import { GUI } from three/addons/libs/lil-gui.module.min.js…

Redis 的指令执行方式:Pipeline、事务与 Lua 脚本的对比

Pipeline 客户端将多条命令打包发送,服务器顺序执行并一次性返回所有结果。可以减少网络往返延迟(RTT)以提升吞吐量。 需要注意的是,Pipeline 中的命令按顺序执行,但中间可能被其他客户端的命令打断。 典型场景&…

Linux下的网络管理配置

一、 IPv4原理 IPv4(Internet Protocol version 4),采用32位地址。IPv4地址通常用点分十进制表示,如 192.168.1.10。 IPv4网络通信基于数据包交换原理,当一台主机要向另一台主机发送数据时,会将数据分割成…

基于Python(Django)+SQLite实现(Web)校园助手

校园助手 本校园助手采用 B/S 架构。并已将其部署到服务器上。在网址上输入 db.uplei.com 即可访问。 使用说明 可使用如下账号体验: 学生界面: 账号1:123 密码1:123 账户2:201805301348 密码2:1 # --------------…

unity动态骨骼架设+常用参数分享(包含部分穿模解决方案)

Unity骨骼物理模拟插件Dynamic Bone Dynamic Bone 可用于对角色的骨骼(bones)或者铰链系统(joints)施加物理效果。 物理效果可以使得游戏角色的头发、衣服、胸部或者是其他的任何部位,都可以以近似真实的状态运动。 …

科技天眼守望农田:珈和卫星遥感监测赋能智慧农业,护航粮食安全新未来

农情监测与粮食安全密切相关,以往农作物的长势、环境、病虫害、灾情等相关数据和图像信息都是靠物联网硬件及县、镇、村等人力来完成,不仅要耗费大量人力、物力,而且数据时效性、准确性较差。珈和科技开发建设农情遥感监测系统,运…

【TeamFlow】4.2 Yew库详细介绍

Yew 是一个用于构建高效、交互式前端 Web 应用程序的现代 Rust 框架,它借鉴了 React 和 Elm 等框架的设计理念,同时充分利用 Rust 的语言特性。 核心特性 基于组件的架构 Yew 采用组件化开发模式,类似于 React: 组件是可重用的 UI 构建块 …

毕设 - 数字孪生智慧农场(vue+高德地图)项目分享

感兴趣的同学可以私信我或者在下方添加我的qq 在线地址: 数字孪生智慧农场

深入理解 VMware 虚拟机网络模式:为虚拟化管理铺平道路

随着云计算和虚拟化技术的快速发展,VMware作为行业领军者,在企业的IT基础设施中扮演着越来越重要的角色。无论是开发、测试还是生产环境,虚拟机(VM)都成为了我们不可或缺的工具。在VMware中,网络是虚拟机能…

安恒安全渗透面试题

《网安面试指南》https://mp.weixin.qq.com/s/RIVYDmxI9g_TgGrpbdDKtA?token1860256701&langzh_CN 5000篇网安资料库https://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247486065&idx2&snb30ade8200e842743339d428f414475e&chksmc0e4732df793fa3bf39…

代码随想录算法训练营第五十三天 | 105.有向图的完全可达性 106.岛屿的周长

105.有向图的完全可达性 题目链接:101. 孤岛的总面积 文章讲解:代码随想录 视频讲解:图论:岛屿问题再出新花样 | 深搜优先搜索 | 卡码网:101.孤岛总面积_哔哩哔哩_bilibili 思路: 1.确认递归函数&…

蓝桥杯 18.分考场

分考场 原题目链接 题目描述 有 n 个人参加某项特殊考试。 为了公平,要求任何两个认识的人不能分在同一个考场。 你的任务是求出最少需要分几个考场才能满足这个条件。 输入描述 第一行:一个整数 n,表示参加考试的人数(1 ≤…

分布式光纤测温技术让森林火灾预警快人一步

2025年春季,多地接连发生森林火灾,累计过火面积超 3万公顷。春季历来是森林草原火灾易发、多发期,加之清明节已到来,生产生活用火活跃,民俗祭祀用火集中,森林火灾风险进一步加大。森林防火,人人…

前端笔记-Vue3(上)

学习参考视频:尚硅谷Vue3入门到实战,最新版vue3TypeScript前端开发教程_哔哩哔哩_bilibili vue3学习目标: VUE 31、Vue3架构与设计理念2、组合式API(Composition API)3、常用API:ref、reactive、watch、c…

如何增加 Elasticsearch 中的 primary shard 数量

作者:来自 Elastic Kofi Bartlett 探索增加 Elasticsearch 中 primary shard 数量的方法。 更多阅读: Elasticsearch:Split index API - 把一个大的索引分拆成更多分片 Elasticsearch:通过 shrink API 减少 shard 数量来缩小 El…