NIPS2014 | GAN: 生成对抗网络

Generative Adversarial Nets

  • 摘要-Abstract
  • 引言-Introduction
  • 相关工作-Related Work
  • 对抗网络-Adversarial Nets
  • 理论结果-Theoretical Results
  • 实验-Experiments
  • 优势和不足-Advantages and disadvantages
    • 缺点
    • 优点
  • 结论及未来工作-Conclusions and future work
    • 研究总结
    • 未来研究方向


论文链接
本文 “Generative Adversarial Nets” 提出了生成对抗网络(GAN)这一通过对抗过程估计生成模型的新框架,为生成模型的研究开辟了新方向。


摘要-Abstract

We propose a new framework for estimating generative models via an adversarial process, in which we simultaneously train two models: a generative model G G G that captures the data distribution, and a discriminative model D D D that estimates the probability that a sample came from the training data rather than G G G. The training procedure for G G G is to maximize the probability of D D D making a mistake. This framework corresponds to a minimax two-player game. In the space of arbitrary functions G G G and D D D, a unique solution exists, with G G G recovering the training data distribution and D D D equal to 1 2 \frac{1}{2} 21 everywhere. In the case where G G G and D D D are defined by multilayer perceptrons, the entire system can be trained with backpropagation. There is no need for any Markov chains or unrolled approximate inference networks during either training or generation of samples. Experiments demonstrate the potential of the framework through qualitative and quantitative evaluation of the generated samples.

我们提出了一种通过对抗过程估计生成模型的新框架,在这个框架中我们同时训练两个模型:一个生成模型 G G G,它捕获数据分布;以及一个判别模型 D D D,它估计一个样本来自训练数据而非 G G G 的概率。 G G G 的训练过程是最大化 D D D 犯错的概率。这个框架对应于一个极小极大的双人博弈。在任意函数 G G G D D D 的空间中,存在一个唯一解,此时 G G G 恢复训练数据分布,并且 D D D 处处等于 1 2 \frac{1}{2} 21。在 G G G D D D 由多层感知器定义的情况下,整个系统可以用反向传播进行训练。在训练或生成样本期间,不需要任何马尔可夫链或展开的近似推理网络。实验通过对生成样本的定性和定量评估展示了该框架的潜力。


引言-Introduction

深度学习旨在发现丰富的分层模型以表示数据概率分布,但目前在生成模型方面影响较小。生成对抗网络(GAN)框架通过对抗过程估计生成模型,其生成模型与判别模型相互竞争,推动双方改进方法,直至生成样本与真实样本难以区分。在该框架中,生成模型通过多层感知器将随机噪声映射到数据空间,判别模型也为多层感知器,用于判断样本来源。此框架可避免传统生成模型在近似概率计算和利用分段线性单元方面的困难,且训练时仅需反向传播和随机失活算法,无需马尔可夫链或近似推断网络,为生成模型研究带来新的思路与方法。


相关工作-Related Work

该部分主要回顾了与生成对抗网络(GAN)相关的先前研究工作,包括深度生成模型、生成机器、基于判别准则训练生成模型、神经网络竞争概念以及对抗样本等方面的研究进展,通过与这些工作对比,凸显了GAN的独特性与创新性。具体内容如下:

  1. 深度生成模型:多数工作聚焦于通过最大化对数似然训练提供概率分布函数参数化规范的模型,如深度玻尔兹曼机,但此类模型似然函数难处理,需众多近似计算。
  2. 生成机器:为解决上述问题,“生成机器”应运而生,如生成随机网络,可通过精确反向传播训练,但仍需马尔可夫链。本文工作在此基础上消除了马尔可夫链的使用。
  3. 基于判别准则训练生成模型:已有方法使用判别准则训练生成模型,但对于深度生成模型,这些准则难以处理,因其涉及概率比率,无法用变分近似法逼近。噪声对比估计(NCE)通过让生成模型区分数据与固定噪声分布来训练,类似GAN中的竞争机制,但NCE的“判别器”定义需评估和反向传播两种密度,限制了其应用。
  4. 神经网络竞争概念:先前工作如预测性最小化,让神经网络隐藏单元与预测其值的另一网络输出竞争,但与GAN有显著差异。GAN中网络竞争是唯一训练准则,竞争性质为生成丰富高维向量作为输入,且基于极小极大游戏而非优化问题。
  5. 对抗样本:GAN常与“对抗样本”概念混淆,对抗样本是通过梯度优化找到的使分类网络误分类的样本,主要用于分析神经网络行为,而非训练生成模型,而GAN是一种生成模型训练机制。

对抗网络-Adversarial Nets

这部分主要介绍了生成对抗网络(GAN)的模型结构、训练过程以及在实际训练中遇到的问题和解决方法,为理解GAN的工作原理和实现方式提供了详细阐述。具体内容如下:

  1. 模型结构
    • 生成模型 G G G:将输入噪声变量 z z z(先验为 p z ( z ) p_z(z) pz(z))通过多层感知器映射到数据空间,记为 G ( z ; θ g ) G(z; \theta_g) G(z;θg),其中 θ g \theta_g θg 为参数。
    • 判别模型 D D D:同样为多层感知器,输出一个标量,表示样本 x x x 来自数据而非生成模型 G G G 生成样本的概率。
  2. 训练过程
    • 训练目标:判别模型 D D D 训练目标是最大化将训练样本和生成模型 G G G 生成样本正确分类的概率,生成模型 G G G 训练目标是最小化 log ⁡ ( 1 − D ( G ( z ) ) ) \log (1 - D(G(z))) log(1D(G(z))),二者构成极小极大博弈,价值函数为 V ( G , D ) = E x ∼ p d a t a ( x ) [ log ⁡ D ( x ) ] + E z ∼ p z ( z ) [ log ⁡ ( 1 − D ( G ( z ) ) ) ] V(G, D)=\mathbb{E}_{x \sim p_{data}(x)}[\log D(x)]+\mathbb{E}_{z \sim p_{z}(z)}[\log (1 - D(G(z)))] V(G,D)=Expdata(x)[logD(x)]+Ezpz(z)[log(1D(G(z)))]
    • 实际训练方法:由于直接优化判别模型 D D D 至最优计算成本高且易过拟合,实际采用交替优化方法,即先进行 k k k 步优化 D D D(通过小批量随机梯度上升),再进行1步优化 G G G(通过小批量随机梯度下降),实验中 k = 1 k = 1 k=1 效果较好。
  3. 训练问题及解决方法:训练初期,生成模型 G G G 生成样本较差,判别模型 D D D 能高置信度拒绝,导致 log ⁡ ( 1 − D ( G ( z ) ) ) \log (1 - D(G(z))) log(1D(G(z))) 饱和,梯度消失。解决方法是训练 G G G 最大化 log ⁡ D ( G ( z ) ) \log D(G(z)) logD(G(z)),该目标函数在学习早期能提供更强梯度,且与最小化 log ⁡ ( 1 − D ( G ( z ) ) ) \log (1 - D(G(z))) log(1D(G(z))) 有相同的动态平衡点。
    在这里插入图片描述
    图1:生成对抗网络通过同时更新判别分布( D D D,蓝色虚线)来进行训练,使其能够区分来自数据生成分布(黑色点线) p x p_{x} px 的样本和来自生成分布 p g p_{g} pg G G G)(绿色实线)的样本。下方的水平线是 z z z 采样的域,在此情况下是均匀采样。上方的水平线是 x x x 域的一部分。向上的箭头展示了映射 x = G ( z ) x = G(z) x=G(z) 如何将非均匀分布 p g p_{g} pg 施加到变换后的样本上。 G G G p g p_{g} pg 的高密度区域收缩,在低密度区域扩展。
    (a)考虑一对接近收敛的对抗网络: p g p_{g} pg p d a t a p_{data} pdata 相似,并且 D D D 是一个部分准确的分类器。
    (b)在算法的内循环中, D D D 被训练以区分来自数据的样本,收敛到 D ∗ ( x ) = p d a t a ( x ) p d a t a ( x ) + p g ( x ) D^*(x)=\frac{p_{data}(x)}{p_{data}(x)+p_{g}(x)} D(x)=pdata(x)+pg(x)pdata(x)
    (c)在对 G G G 进行更新后, D D D 的梯度引导 G ( z ) G(z) G(z) 流向更有可能被分类为数据的区域。
    (d)经过若干步训练后,如果 G G G D D D 有足够的能力,它们将达到一个两者都无法改进的点,因为 p g = p d a t a p_{g}=p_{data} pg=pdata。此时判别器无法区分这两个分布,即 D ( x ) = 1 2 D(x)=\frac{1}{2} D(x)=21

理论结果-Theoretical Results

本部分从理论上对生成对抗网络(GAN)进行了深入分析,包括证明极小极大博弈的全局最优解以及算法1的收敛性,为GAN的有效性提供了理论支持,具体内容如下:

  1. 全局最优性
    • 最优判别器 D D D 的形式:对于给定的生成器 G G G,最优判别器 D G ∗ ( x ) = p d a t a ( x ) p d a t a ( x ) + p g ( x ) D_G^*(x)=\frac{p_{data}(x)}{p_{data}(x)+p_g(x)} DG(x)=pdata(x)+pg(x)pdata(x)。证明通过对判别器训练准则 V ( G , D ) V(G, D) V(G,D) 求最大值得到,其本质是最大化估计条件概率 P ( Y = y ∣ x ) P(Y = y|x) P(Y=yx) 的对数似然( Y Y Y 表示样本 x x x 来源, y = 1 y = 1 y=1 表示来自 p d a t a p_{data} pdata y = 0 y = 0 y=0 表示来自 p g p_g pg)。
    • 全局最小值条件:当且仅当 p g = p d a t a p_g = p_{data} pg=pdata 时,虚拟训练准则 C ( G ) C(G) C(G) 达到全局最小值 − log ⁡ 4 -\log 4 log4。证明通过将 p g = p d a t a p_g = p_{data} pg=pdata 代入 C ( G ) C(G) C(G) 表达式得到 C ( G ) = log ⁡ 1 2 + log ⁡ 1 2 = − log ⁡ 4 C(G)=\log \frac{1}{2}+\log \frac{1}{2}=-\log 4 C(G)=log21+log21=log4,再通过与 C ( G ) = − log ⁡ ( 4 ) + K L ( p d a t a ∣ ∣ p d a t a + p g 2 ) + K L ( p g ∣ ∣ p d a t a + p g 2 ) C(G)=- \log (4)+KL(p_{data}||\frac{p_{data}+p_g}{2})+KL(p_g||\frac{p_{data}+p_g}{2}) C(G)=log(4)+KL(pdata∣∣2pdata+pg)+KL(pg∣∣2pdata+pg) 对比,利用詹森 - 香农散度(JSD)非负性,得出 C ∗ ( G ) = − log ⁡ 4 C^*(G)=-\log 4 C(G)=log4 为全局最小值且唯一解为 p g = p d a t a p_g = p_{data} pg=pdata
  2. 算法1的收敛性:若 G G G D D D 有足够容量,在 算法1 的每一步中,判别器能达到给定 G G G 下的最优,且 p g p_g pg E x ∼ p d a t a [ log ⁡ D G ∗ ( x ) ] + E x ∼ p g [ log ⁡ ( 1 − D G ∗ ( x ) ) ] \mathbb{E}_{x \sim p_{data}}[\log D_G^*(x)]+\mathbb{E}_{x \sim p_g}[\log (1 - D_G^*(x))] Expdata[logDG(x)]+Expg[log(1DG(x))] 准则更新,则 p g p_g pg 收敛到 p d a t a p_{data} pdata。证明基于 V ( G , D ) = U ( p g , D ) V(G, D)=U(p_g, D) V(G,D)=U(pg,D) p g p_g pg 的凸函数,其上确界的次导数包含函数在最大值点的导数,通过计算 p g p_g pg 的梯度下降更新,结合定理1中 sup ⁡ D U ( p g , D ) \sup_D U(p_g, D) supDU(pg,D) p g p_g pg 上的凸性和唯一全局最优性,得出 p g p_g pg 收敛到 p d a t a p_{data} pdata 的结论。

算法1:生成对抗网络的小批量随机梯度下降训练。应用于判别器的步数 k k k 是一个超参数。在我们的实验中,我们使用了 k = 1 k = 1 k=1,这是成本最低的选项。
在这里插入图片描述

在实际中,虽然GAN通过函数 G ( z ; θ g ) G(z; \theta_g) G(z;θg) 表示有限的 p g p_g pg 分布族,优化 θ g \theta_g θg 而非 p g p_g pg 本身,使得上述理论证明不完全适用,但多层感知器在实践中的良好性能表明其仍是合理模型。


实验-Experiments

该部分详细阐述了在多个数据集上对生成对抗网络(GAN)进行训练的实验过程,包括数据集选择、模型配置、评估指标以及实验结果展示,通过实验验证了GAN的有效性和潜力,具体内容如下:

  1. 实验设置
    • 数据集:使用了MNIST、多伦多人脸数据库(TFD)和CIFAR - 10等数据集进行训练。
    • 模型结构与激活函数:生成器网络使用整流线性激活函数和sigmoid激活函数的混合,判别器网络使用maxout激活函数,并在训练判别器网络时应用了随机失活(dropout)。实验中仅在生成器网络的最底层输入中添加噪声。
  2. 评估方法
    • 通过将高斯Parzen窗拟合到生成器 G G G 生成的样本上,来估计测试集数据在 p g p_g pg 下的概率,并报告其对数似然。高斯分布的 σ \sigma σ 参数通过在验证集上进行交叉验证获得。此方法虽在高维空间表现不佳且方差较大,但为当时估计生成模型似然的最佳可用方法,也凸显了研究新评估方法的必要性。
  3. 实验结果
    • 表1 展示了在MNIST和TFD数据集上基于Parzen窗的对数似然估计结果,与其他模型对比,体现了GAN的性能表现。
    • 图2 展示了训练后从生成器网络中抽取的样本,表明这些样本与训练集中的最近邻样本不同,是模型实际生成的,且采样过程不依赖马尔可夫链混合,样本间不相关,凸显了GAN生成样本的能力。
    • 图3 展示了通过在 z z z 空间坐标之间进行线性插值得到的数字,进一步展示了模型的特性。

通过这些实验,虽未声称GAN生成的样本优于现有方法,但表明其至少与文献中较好的生成模型具有竞争力,证明了对抗框架在生成模型研究中的潜力。

在这里插入图片描述
表1:基于Parzen窗的对数似然估计。MNIST数据集上报告的数字是测试集样本的平均对数似然,均值的标准误差是通过样本计算得出的。在TFD数据集上,我们计算了数据集各折的标准误差,每折使用其验证集选择不同的 σ \sigma σ。在TFD数据集上, σ \sigma σ在每一折上进行交叉验证,并计算每折的平均对数似然。对于MNIST,我们与该数据集的实值(而非二进制)版本的其他模型进行比较。

在这里插入图片描述
图2:模型样本的可视化。最右侧列显示相邻样本的最近训练示例,以证明模型没有记忆训练集。样本是公平的随机抽取,并非精心挑选。与大多数其他深度生成模型的可视化不同,这些图像展示的是来自模型分布的实际样本,而非给定隐藏单元样本的条件均值。此外,由于采样过程不依赖马尔可夫链混合,这些样本是不相关的。a) MNIST数据集 b) TFD数据集 c) CIFAR - 10(全连接模型)d) CIFAR - 10(卷积判别器和“反卷积”生成器)

在这里插入图片描述
图3:通过在完整模型的(z)空间坐标之间进行线性插值得到的数字。


优势和不足-Advantages and disadvantages

该部分主要分析了生成对抗网络(GAN)相对于先前建模框架的优缺点,明确了GAN的特性和改进方向,具体内容如下:

缺点

  1. 缺乏显式表示:生成模型 p g ( x ) p_g(x) pg(x) 没有显式表示,这在某些应用场景下可能限制对模型分布的直接理解和分析。
  2. 训练同步要求高:训练时判别器 D D D 必须与生成器 G G G 良好同步。若 G G G 训练过多而未及时更新 D D D,可能出现“Helvetica场景”,即 G G G 将过多 z z z 值映射到相同 x x x 值,导致缺乏足够多样性来建模 p d a t a p_{data} pdata,类似于玻尔兹曼机中负链需在学习步骤间保持更新的要求。

优点

  1. 计算效率高
    • 无需马尔可夫链,仅通过反向传播即可获得梯度,简化了训练过程。
    • 学习过程中无需进行复杂推断,减少了计算资源和时间消耗。
    • 能够灵活融入各种函数,增加了模型的表达能力。
  2. 统计特性良好
    • 生成器网络仅通过判别器的梯度更新,避免了输入组件直接复制到参数中,有助于学习到更具代表性的特征。
    • 可以表示非常尖锐甚至退化的分布,而基于马尔可夫链的方法为保证链在模式间混合,要求分布相对模糊,GAN在这方面具有优势。

总体而言,GAN在计算方面具有显著优势,在统计特性上也有独特之处,但仍存在一些需要解决的问题,特别是在训练同步和分布表示方面。这些优缺点为进一步研究和改进GAN提供了重要参考。


结论及未来工作-Conclusions and future work

本部分总结了生成对抗网络(GAN)框架的研究成果,并对未来研究方向提出了展望,为GAN的进一步发展提供了思路,具体内容如下:

研究总结

本文提出的GAN框架通过对抗过程估计生成模型,理论分析表明在一定条件下能使生成模型收敛到数据分布,实验在多个数据集上验证了其有效性,生成样本具有竞争力,证明了对抗框架的可行性。

未来研究方向

  1. 构建条件生成模型:通过将条件变量 c c c 作为输入添加到生成器 G G G 和判别器 D D D 中,可得到条件生成模型 p ( x ∣ c ) p(x|c) p(xc),从而扩展GAN的应用范围,如生成特定类别的图像等。
  2. 执行学习近似推断:训练一个辅助网络来预测给定 x x x z z z,类似于唤醒 - 睡眠算法中的推断网,但具有在生成器网络训练完成后针对固定生成器进行训练的优势,有助于深入理解生成过程中的潜在因素。
  3. 建模条件分布:训练一系列共享参数的条件模型来近似建模 p ( x S ∣ x S ′ ) p(x_S|x_{S'}) p(xSxS) S S S x x x 索引的子集),可实现对数据条件关系的更深入建模,例如对图像不同部分之间的关系进行建模。
  4. 用于半监督学习:利用判别器或推断网的特征,在有限标记数据情况下提高分类器性能,为半监督学习提供新的方法和思路,有望在数据标记困难或成本高昂的场景中发挥作用。
  5. 改进训练效率:通过设计更好的方法协调 G G G D D D 的训练,或确定更合适的 z z z 采样分布,有望大幅加速训练过程,提高GAN的实用性和效率,使其能更好地应用于大规模数据和复杂任务。

这些研究方向有望进一步挖掘GAN框架的潜力,推动生成模型领域的发展,为解决实际问题提供更强大的工具。

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

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

相关文章

【已解决】pyinstaller打包ico图片报错:OSError: [WinError 225] 无法成功完成操作,因为文件包含病毒或潜在的垃圾软件。

起因: pyinstaller加上 --icon 参数打包时报错。 命令如下: 解决: 关闭 Windows 的病毒防护即可,步骤如下。 点屏幕右下角通知栏,进入“病毒和威胁防护”: 打开: 关闭实时保护&#xff08…

011-spring-整合三方框架的命名空间原理(重要)

根据context标签来学习了解 <context:property-placeholder location"jdbc.properties"/> <bean id"dataSource" class"com.alibaba.druid.pool.DruidDataSource"><property name"driver" value"${db.driver}&quo…

No.29 笔记 | CTF 学习干货

大家好呀&#xff01;我刚参加了美国线上CTF比赛&#xff0c;收获超多&#xff0c;特别感谢老师教我的干货知识。今天就和大家分享我的学习笔记。CTF像刺激冒险&#xff0c;有挑战有惊喜。 学习中我懂了很多知识技能&#xff0c;像密码学、Web安全、Misc题型等&#xff0c;它们…

sonarqube 安装及使用

一、官网参考地址 相关版本下载地址 配置全局变量 .bash_profileexport SONAR_HOME=/Users/jd/soft/sonar-scanner-6.2.1.4610 export PATH=$PATH:$SONAR_HOME/bin export SQ_HOST=http://127.0.0.1:9000/ export SQ_TOKEN=squ_dbb1913e095a92a727a918a9ba6b1af94b007748二、…

使用ArcGIS/ArcGIS pro绘制六边形/三角形/菱形渔网图

在做一些尺度分析时&#xff0c;经常会涉及到对研究区构建不同尺度的渔网进行分析&#xff0c;渔网的形状通常为规则四边形。构建渔网的方法也很简单&#xff0c;使用ArcGIS/ArcGIS Pro工具箱中的【创建渔网/CreateFishnet】工具来构建。但如果想构建其他形状渔网进行相关分析&…

Java实现观察者模式

一、前言 观察者模式&#xff0c;又称为发布订阅模式&#xff0c;是一种行为设置模式&#xff0c;允许对象之间建立一对多的依赖关系&#xff0c;这样当一个对象状态改变时&#xff0c;它的所有依赖者&#xff08;观察者&#xff09;都会收到通知并自动更新。 二、具体实现 …

pytorch MoE(专家混合网络)的简单实现。

专家混合&#xff08;Mixture of Experts, MoE&#xff09;是一种深度学习模型架构&#xff0c;通常用于处理大规模数据和复杂任务。它通过将输入分配给多个专家网络&#xff08;即子模型&#xff09;&#xff0c;然后根据门控网络&#xff08;gating network&#xff09;的输出…

NAT 技术如何解决 IP 地址短缺问题?

NAT 技术如何解决 IP 地址短缺问题&#xff1f; 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;神的孩子都在歌唱 随着互联网的普及和发展&#xff0c;IP 地址的需求量迅速增加。尤其是 IPv4 地址&…

7-9 二分查找字符

目录 题目描述 输入格式: 输出格式: 输入样例: 输出样例: 详细代码&#xff08;手写二分&#xff09;&#xff1a; 详细代码&#xff08;使用自带函数&#xff09;&#xff1a; 题目描述 输入一行&#xff0c;首先是一个不包含空格的字符串s&#xff0c;接着是一个字符c&#x…

Spring Boot 自动配置:从 spring.factories 到 AutoConfiguration.imports

Spring Boot 提供了强大的自动配置功能&#xff0c;通过约定优于配置的方式大大简化了应用开发。随着版本迭代&#xff0c;自动配置的实现方式也逐渐优化&#xff0c;从早期的 spring.factories 文件到最新的 META-INF/spring/org.springframework.boot.autoconfigure.AutoConf…

洪水灾害多智能体分布式模拟示例代码

1. 环境定义&#xff1a;支持灾害动态、地理数据和分布式架构 import numpy as np import random import matplotlib.pyplot as plt# 新疆主要城市及邻接关系 XINJIANG_CITIES {Urumqi: [Changji, Shihezi],Changji: [Urumqi, Shihezi, Turpan],Shihezi: [Urumqi, Changji, K…

华为麦芒5(安卓6)termux记录 使用ddns-go,alist

下载0.119bate1版,不能换源,其他源似乎都用不了,如果root可以直接用面具模块 https://github.com/termux/termux-app/releases/download/v0.119.0-beta.1/termux-app_v0.119.0-beta.1apt-android-5-github-debug_arm64-v8a.apk 安装ssh(非必要) pkg install openssh开启ssh …

FPC在蓝牙耳机中有哪些应用?【新立电子】

随着科技的进步和消费者需求的提升&#xff0c;耳机已经从传统的有线连接转变为现在的无线蓝牙耳机&#xff0c;真正做到了便捷出行与极佳的用户体验。而FPC在蓝牙耳机中的应用主要体现在优化耳机的设计与性能上。 蓝牙耳机&#xff0c;主要使用方式是与手机、电脑等移动设备通…

《计算机组成及汇编语言原理》阅读笔记:p121-p122

《计算机组成及汇编语言原理》学习第 8 天&#xff0c;p121-p122 总结&#xff0c;总计 2 页。 一、技术总结 1.memory优化 (1)cache memory remove blank from “Most computers support two different kinds (levels) of cache: level one (L1) cache is built into the …

CSS(四)display和float

display display 属性用于控制元素的显示类型&#xff0c;用的 display 值包括&#xff1a; block&#xff1a;块级元素 使元素成为块级元素&#xff0c;占据一整行&#xff0c;前后有换行宽度默认为父容器的 100%&#xff0c;可以设置宽高&#xff0c;支持 margin、padding、…

WebGPU入门初识

什么是 WebGPU&#xff1f; WebGPU 是一种现代图形 API&#xff0c;旨在取代 WebGL&#xff0c;提供更高性能和更灵活的 GPU 加速能力。它基于 Vulkan、Metal 和 Direct3D 12&#xff0c;为 Web 开发者带来了类似于原生图形 API 的性能和控制力。 与 WebGL 不同&#xff0c;Web…

ffmpeg: stream_loop报错 Error while filtering: Operation not permitted

问题描述 执行ffmpeg命令的时候&#xff0c;报错&#xff1a;Error while filtering: Operation not permitted 我得命令如下 ffmpeg -framerate 25 -y -i /data/workerspace/mtk/work_home/mtk_202406111543-l9CSU91H1f1b3/tmp/%08d.png -stream_loop -1 -i /data/workerspa…

【微信小程序】1|底部图标 | 我的咖啡店-综合实训

底部图标 引言 在微信小程序开发中&#xff0c;底部导航栏&#xff08;tabBar&#xff09;是用户界面的重要组成部分&#xff0c;它为用户提供了快速切换不同页面的功能。今天&#xff0c;我们将通过一个实际案例——“我的咖啡店”小程序&#xff0c;来详细解析如何配置底部图…

docker mysql5.7安装

一.更改 /etc/docker/daemon.json sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https:/…

使用Wikitext2数据集对Llama-7B和Llama3-8B模型进行50%权重剪枝的一般步骤和可能的实现方式

以下是使用Wikitext2数据集对Llama-7B和Llama3-8B模型进行50%权重剪枝的一般步骤和可能的实现方式&#xff08;请注意&#xff0c;实际操作可能需要根据具体模型架构和工具进行调整&#xff09;&#xff1a; 1. 环境准备 确保你已经安装了必要的深度学习框架&#xff08;如Py…