官网介绍地址:https://forum.faceswap.dev/viewtopic.php?t=146

介绍


很多人在开始交换脸时会不知所措,而且犯了很多错误。错误是好的。这是我们学习的方法,但有时在潜入之前对所涉及的过程有一点了解会有所帮助。

在这篇文章中,我将详细阐述我们如何训练模型。有几个型号,有许多选项。我不会覆盖一切, 但希望这会给你足够的, 作出明智的决定, 你自己。如果您尚未生成用于训练的面孔集,请立即停止,然后前往提取指南现在生成它们。
本指南中有很多背景
信息。我建议你熟悉一切。机器学习是一个复杂的概念,但我试图把它分解为尽可能简单易懂。对神经网络的工作原理有一个基本的了解,以及它从查看中获得的数据类型,将大大提高您成功交换的机会。
我将为本指南使用 GUI,但 cli 的前提完全相同(GUI 中存在的所有选项在 cli 中
可用)。

什么是培训?

概述
在高层次上,培训正在教我们的神经网络 (NN) 如何重新创建面部。大多数型号主要由两部分组成:
  1. 编码器- 这具有将人脸负载作为输入,并"编码"它们为"矢量"形式的表示。需要注意的是,它不是学习您输入到它的每一面的精确表示,而是尝试创建一种算法,该算法可用于以后尽可能紧密地重建面与输入图像。
  2. 解码器- 这具有将编码器创建的矢量并尝试将其表示回面的工作,尽可能与输入图像匹配。

 

为什么 1. png (7.17 Kib) 查看 92560 次

有些模型的构造略有不同,但基本前提保持不变。
NN 需要知道它如何做编码和解码
面。它使用 2 个主要工具来做到这一点:
  1. 损耗- 对于输入模型的每批面,NN 将查看它试图通过当前编码和解码算法重新创建的面,并将其与输入的实际面进行比较。根据它认为它做得如何,它将给自己一个分数(损失值),并将相应地更新其权重。
  2. 权重- 模型评估其重新创建面的绩效后,将更新其权重。这些馈入编码器/解码器算法。如果它在一个方向上调整了重量,但觉得它在重建面部方面做得比以前差,那么它知道权重正向错误方向移动,因此它会以相反的方式调整它们。如果它感觉它有所改善,那么它知道不断调整的重量的方向,它去。

 

why2.png (22.21 KiB) Viewed 92560 times

然后,模型会多次重复此操作,多次根据其损失值不断更新其权重,理论上会随着时间的推移而提高,直到它到达一个点,你觉得它已经学会足够的有效重新创建面,或者损失值停止下降。
现在,我们拥有了神经网络做什么以及如何学会创建人脸的基础知识,这如何适用于人脸
交换?您可能已经注意到,在上述细分中,此 NN 学习如何拍摄一个人的面部负载,然后重建这些面孔。这不是我们想要的...我们想拿一大堆脸, 重建别人的脸。为此,我们的 NN 做几件事:
  • 共享编码器- 当我们训练我们的模型时,我们喂它两组脸。A 集(我们要替换的原始面)和 B 集(我们希望在场景中放置的交换面)。实现此目的的第一步是共享 A 和 B 集的编码器。这样,我们的编码器正在为 2 个不同的人学习单个算法。这一点非常重要,因为我们最终将告诉我们的神经网络,采取一张脸的编码,并解码到另一张脸。因此,编码器需要查看并了解交换所需的两组面。
  • 切换解码器- 训练模型时,我们训练 2 个解码器。解码器 A 正在拍摄编码向量并尝试重新创建面 A。 解码器 B 正在拍摄编码向量并尝试重新创建面 B。当涉及到最终交换面时,我们切换解码器,因此我们馈送模型面 A,但通过解码器 B 传递它。由于编码器已对两组面进行训练,因此模型将编码输入的 A 面,但随后尝试从解码器 B 重建它,从而导致交换的面从我们的模型输出。

 

why3.png (38.63 KiB) Viewed 92558 times

术语
使用 Faceswap 时,会看到一些常见的机器学习术语。为了简单得多,此处显示了术语表:
  • 处理 - 批处理是一组同时通过神经网络输入的面。
  • 批处理大小 - 批处理大小是同时通过神经网络输入的批处理的大小。批处理大小为 64 表示一次通过神经网络输入 64 面,然后为此批次图像计算损耗和权重更新。较高的批号将训练得更快,但会导致更高的泛化。较低的批号将训练速度较慢,但会更好地区分面之间的差异。在培训的各个阶段调整批次大小会有所帮助。
  • 元 - 纪元是通过神经网络eg提供的数据的完整表示形式:如果您有一个包含 5000 个面的文件夹,则 1 个纪元将是模型看到所有 5000 个面时。2 纪元将是当模型已经看到所有 5000 面两次,等等。就 Faceswap 而言,Epoch 实际上并不是一个有用的衡量标准。由于模型在 2 个数据集(侧 A 和侧 B)上进行训练,除非这些数据集的大小完全相同(不太可能),否则无法计算一个 Epoch,因为它对于每一侧都不同。
  • 示例- 一个示例(以 Faceswap)为例,它是"Face"的另一个名称。它基本上是通过神经网络传递的单面。如果模型看到 10 个示例,则看到 10 面。
  • EG/s - 这是神经网络每天看到的示例数,或者就 Faceswap 而言,模型正在处理的面数。
  • 迭代- 迭代是通过神经网络处理的一个完整的批处理。因此,在批处理大小 64 的 10 次迭代意味着模型已经看到 640 (64 * 10) 面。
  • NN - 神经网络的缩写。

培训数据
数据的质量对模型的重要一点,怎么强调也不为过。较小的模型在使用像样的数据时可以很好地执行,同样,对于较差的数据,没有一个模型会执行良好。在绝对最低应有500不同的图像在你的模型的每一侧,但是更多的数据,越多样化,越好...到一点。要使用的图像数量在 1,000 到 10,000 之间。添加更多的图像实际上会损害训练。
太多的类似图像不会帮助您的
模型。您需要尽可能多的不同角度、表情和照明条件。一种常见的误解是,模型是为特定场景训练。这是"记忆",并不是你试图实现的目标。您尝试训练模型以了解所有角度的面,所有条件下的所有表达式,并在所有角度将脸与另一个面交换,所有条件下的所有表达式。因此,您希望为 A 和 B 集从尽可能多的不同源构建训练集。
每边的不同角度
非常重要。一个 NN 只能了解它所看到的。如果 95% 的面直视摄像机,5% 的面是侧面的,则模型需要很长时间才能了解如何在面上创建侧面。它可能无法创建它们,因为它很少看到脸上的一面。理想情况下,您希望尽可能均匀地分布面部角度、表情和照明条件。
同样,在 A 和 B 两侧之间具有尽可能多的匹配角度/表达式/照明条件
也很重要。如果您有很多 A 端的配置文件图像,并且 B 端没有配置文件图像,则模型将永远无法在配置文件中执行交换,因为解码器 B 将缺少创建配置文件拍摄所需的信息。培训数据的质量一般不应被掩盖,而且应具有高质量(尖锐和详细)。

但是,训练集中某些图像模糊/部分模糊是没问题的。最终,在最后的交换中,一些面会模糊/低分辨率/模糊,所以NN看到这些类型的图像也很重要,这样它就可以做忠实的娱乐。
有关创建训练集的更多详细信息
,请参阅在提取指南中.


选择模型

在 Faceswap 中有多种型号可供选择,随着时间的推移,将添加更多型号。每个质量可以是高度主观的,因此这将提供每个(当前)可用的简要概述。最终,最适合您的模型可以归结为许多因素,因此没有明确的答案。各有各的优缺点,但如上所述,最重要的一个因素是数据的质量。没有模型可以修复数据问题。
下面将提到输入和输出大小(例如 64px 输入、64px
输出)。这是输入到模型(输入)的面图像的大小和从模型生成的面的大小(输出),所有输入到模型的面都是方形的,因此 64px 图像将宽 64 像素 x 64 像素高。一种常见的误解是,更高分辨率的输入将导致更好的交换。虽然它可以提供帮助,但情况并非总是如此。NN 正在学习如何将面编码为算法,然后再次解码该算法。它只需要足够的数据,能够创建一个坚实的算法。输入分辨率和输出质量不直接链接。
值得注意的是,模型越大,训练时间越
长。原始型号可能需要 12-48 小时才能在 Nvidia GTX 1080 上训练。Villain 可以在相同的硬件上接受一周多的更换。通常认为,输入大小加倍的模型需要两倍的时间。这是不正确的。它至少需要4倍的时间,而且可能更长。这是因为 64px 图像具有 4,096 像素。但是,128px 图像具有 16,384 像素。这是 4 倍的数量,再加上模型需要缩放,以处理这个增加的数据量和培训时间可以快速堆积起来。
  • 轻量级64px 输入, 64px 输出) - 这是一个非常剥离的模型, 旨在运行与 <=2GB 的 VRAM 的 GPU.这不是您所说的"生产就绪",但它使具有较低端硬件的用户能够训练模型。在高端 GPU 上,它会快速进行训练,因此在迁移到更征税的模型之前,可以快速了解交换工作得如何。
  • 原始64px 输入,64px 输出) - 启动这一切的模型。仍然可以提供出色的结果,并非常有用,以了解数据集质量如何真正成为交换质量的最大驱动因素之一。
  • IAE (64px 输入, 64px输出 ) - 结构与其他型号略有不同的模型。它有一个共享编码器和一个共享解码器,但3个中间层(一个用于 A,一个用于 B,一个用于共享),它们位于编码器和解码器之间。它的结构是这样做,试图更好地分离标识。有关此模型,请在此处了解有关此模型的更多内容:https://github.com/deepfakes/faceswap/pull/251
  • Dfaker (64px 输入, 128px输出 ) - 此模型利用了与原始模型不同的技术,并侧重于将输入向上缩放到更高分辨率的输出。尽管存在了一段时间,这个模型仍然取得了巨大的效果,而它缺乏自定义选项,使它很容易'火和忘记'模型。
  • 不平衡64-512px 输入, 64-512px 输出) - 这是一个强大的模型,有很多方法来自定义和改进模型,但需要更多的专业知识和专业知识,以获得良好的结果。可以说是被"真脸"取代。值得注意的是,该模型更强调 B 解码器,因此反转交换(即交换 B>A 而不是 A>B)将导致不太令人满意的结果。
  • DFL-H128 (128px 输入, 128px 输出) - 此模型实际上使用完全相同的编码器和解码器作为原始,但随后使用 128px 输入,而不是 64px,然后尝试压缩图像到面的表示半大原始。较小的"潜在空间"在质量上与原始空间相比有一些缺点,这否定了较大的输入大小。
  • DFL-SAE (64-256px 输入,64-256px 输出) - 此模型包含两个不同的网络结构,一个基于原始共享编码器/拆分解码器模型,另一个基于 IAE 模型(共享中间层)。具有许多自定义选项。提供良好的细节,但可能导致某些标识出血(也就是说,A 的一些功能在 B 中可能仍然可见)。
  • Villain (128px 输入, 128px 输出) - Villain 可能是最详细的模型, 但非常 VRAM 密集, 可以给出低于标准的颜色匹配时, 训练有限的来源.是病毒来源史蒂夫·布塞米/珍妮弗·劳伦斯·迪普法克。由于此模型没有任何自定义选项(除了内存不足的变体),因此,如果您想要更高分辨率的模型,而无需调整任何设置,这是一个不错的选择。
  • 实面64-128px 输入,64-256px 输出) - 不平衡模型的后继。学习该模型和 Dfaker, 同时希望进一步发展他们。此模型是高度可自定义的,但最好调整选项时,你有一些想法,你在做什么,什么影响设置将有。与不平衡模型一样,该模型更强调 B 解码器,因此反转交换(即交换 B>A 而不是 A>B)将导致结果不太令人满意。
  • Dlight (128px 输入, 128-384px 输出) - 基于 dfaker 变体的高分辨率模型,侧重于升级面,使用自定义上流器。这是最新的模型,很容易配置。

模型配置设置
好了,你选择了你的模型,让我们来训练吧!好了,坚持住我钦佩你的渴望, 但你可能会想先设置一些模型特定的选项。我将为此使用 GUI,但配置文件(如果使用命令行)可以在您的人脸交换文件夹中找到位置人脸交换/配置/train.ini
我不会进入每个模型的选项,因为这些是多种多样的,并保持它更新的新模型将是艰难的,但我会给一些更常见的选项
概述。我们将更专注于适用于所有模型的全球选项。所有选项都有工具提示,因此将鼠标悬停在选项上,以了解有关其功能的详细信息。要访问模型配置面板,请转到"设置>配置训练插件"...

 

 

火车 1. png (4.95 Kib) 查看 92553 次

  • 全局
    这些选项适用于所有模型:

     

    配置. png (20.05 KiB) 查看 76342 次

    此页面上的所有选项(学习率除外仅在创建新模型时生效。开始训练模型后,此处选择的设置将"锁定"到该模型,并且无论此处设置什么,只要您恢复训练,都将重新加载。
    • 应用于
      要输入模型的面的面选项

       

      Face0.jpg (7.27 KiB) 浏览 92549 次

      • 覆盖范围- 这是将输入模型的源映像量。图像的百分比按给定量从中心裁剪。覆盖率越高,脸部的输入率越高。裁剪的图像量的图示如下所示:

         

        覆盖.jpg (76.39 KiB) 查看 92553 次

        虽然,从直觉上看,似乎更高的覆盖率总是更好,但实际上并非如此,这是一个权衡。虽然较高的覆盖范围将意味着更多的面被交换,模型的输入大小始终保持不变,因此生成的交换可能会不太详细,因为需要将更多信息打包到相同大小的图像中。为了说明,下面是同一图像的一个极端示例,其覆盖率为 62.5%,覆盖范围为 100%,大小为 32px。如您所看到的,100% 覆盖图像包含的细节远远小于 62.5% 版本。最终,此选项的正确选择由您决定:

         

        覆盖 2.jpg (33.86 KiB) 查看 92553 次

    • 适用于
      使用蒙版训练的蒙版选项。

       

      config_mask.png (5.16 KiB) 浏览 76339 次

      设置蒙版是指示图像的哪个区域重要的一种方式。在下面的示例中,红色区域被"遮盖",(第二:它被认为是不重要的),而清除区域是"掩蔽"(它是面,所以我们感兴趣的区域):

       

      掩码0.png (30.03 KiB) 查看 92549 次

      使用面罩进行训练有两个目的:
      1. 它侧重于面部区域的训练,迫使模型对背景的重要性降低。这可以帮助模型更快地学习,同时确保它不占用空间学习背景细节并不重要。
      2. 学习的掩码可用于转换阶段。在当前实现中,学习的掩码是否比在转换时使用标准掩码具有任何好处,这是有争议的,但使用掩码进行训练可以确保您可以选择使用它。
      NB:如果使用蒙版进行训练,则必须在每个输入文件夹中为 A 和 B 中的所有面提供对齐文件。
      • 掩码类型 - 用于训练的掩码类型。若要使用蒙版您必须将需要的蒙版添加到对齐文件中。您可以使用蒙版工具添加/更新蒙版。看到viewtopic.php?f=5&t=27#提取用于对每个掩码进行透彻的描述。
      • 蒙版模糊内核 - 这会对蒙版的边缘应用轻微的模糊。实际上,它可去除蒙版的硬边,并更逐渐地从面混合到背景。这可以帮助处理计算不当的掩码。是否要启用此功能以及使用的值由您决定。默认值应该没问题,但您可以使用掩码工具进行试验。
      • 掩码阈值 - 此选项不会影响基于对齐的掩码(扩展的组件),因为它们是二进制的(IE 掩码是"开"或"关")。对于基于 NN 的掩码,掩码不是二进制的,并且具有不同的不透明度级别。在某些情况下,这可能导致掩码被斑点化。提高阈值会使蒙版中接近透明、完全透明的部分和接近实心、完全实心的蒙版部分。同样,这种情况会因情况而异。
      • 学习面具- 如前所述,学习面具是否有任何好处是有争议的。启用此选项将使用更多的 VRAM,因此我倾向于将其关闭,但如果您希望预测的掩码在转换中可用,那么您应该启用此选项。
    • 应用于初始
      化模型的初始化选项。

       

      Init0.jpg (8.86 KiB) 浏览 92549 次

      如培训概述模型具有在每次迭代结束时更新的权重。初始化是第一次设置这些权重的过程。您可以认为这为模型提供帮助。正如我们知道我们的 NN 将用于什么的,我们可以将这些权重设置为值,这将有助于模型在人生中快速启动。
      初始化的默认方法是"he_uniform"。
      这将从统一分布中抽取样本。本指南的目标不是进入不同的初始化方法及其意义,但此默认值可以由本节中公开的选项覆盖。
      应该注意的是,某些模型在内部为模型的一些层设置了初始化方法,因此这些图层不会受到此设置
      的影响。但是,对于未显式设置此设置的图层和模型,初始化器将更改为所选选项。
      两个现有的初始化器可以一起使用(即,它们都可以启用,没有不良
      影响)。我倾向于让他们两个。
      • ICNR Init - 此初始化器仅适用于高档图层。当输出图像在 NN 内进行升级时,标准初始化可能导致输出图像中的"棋盘"伪像。此初始化器旨在防止这些人工制品。有关此方法的更多信息,请参阅本文:https://arxiv.org/abs/1707.02937
      • Conv 感知初始化 - 卷积感知初始化应用于模型中的所有卷积层。此初始化器背后的前提是,它考虑到卷积网络的目的,并相应地初始化权重。从理论上讲,这会导致更高的精度、更低的损耗和更快的收敛。有关此初始化器的有关更多信息,请阅读以下文件:https://arxiv.org/abs/1702.06295

        NB:此初始化器在启动时可以采取更多的 VRAM,因此建议从较低的批处理大小开始,启动模型,然后使用所需的批处理大小重新启动模型。
        NB:此初始化器不会在启用多 gpu 模式时运行,因此,如果使用多个 GPU 进行训练,您应该在 1 GPU 上开始训练,停止模型,然后继续启用多 gpu。
    • 应用于
      模型中图层的网络选项

       

      Network0.jpg (10.54 KiB) 浏览 92549 次

      此处的选项适用于模型中使用的所有图层。
      • 子像素上缩放- 这是神经网络中升级图像的替代方法。它实际上做完全相同的工作, 因为他们默认像素洗牌层, 只是使用不同的 TensorFlow 操作。我建议只是离开这个, 因为它没有区别 (并可能在未来删除)
      • 反射填充- 某些型号,特别是比利亚因,并在较小程度上 DFL-SAE,有一个显着的"灰色框"周围的交换区域的边缘,在最后的交换。此选项更改卷积层中使用的填充类型,以帮助缓解此人工制品。我只建议为这两种型号启用它, 否则我会离开这个。
    • 丢失
      要使用的丢失功能。

       

      Loss0.jpg (12.77 KiB) 查看 92549 次

      有各种不同的方法来计算损失,或者让 NN 辨别它在训练模型时做得如何。我不会详细讨论每个可用的功能,因为这将是一个有点漫长的过程,并且在互联网上有很多关于每个功能的信息。
      • 损耗函数- 最流行的损耗方法是 MAE(平均绝对误差)和 SSIM(结构相似性)。我个人更喜欢使用 SSIM 。
      • 受惩罚的蒙版丢失 - 此选项指示是否应给予图像位于面区域以外的区域比位于面区域内的区域的重要性。应始终启用此选项
    • 与优化
      器相关的优化器选项。

       

      优化器0.jpg (9.6 KiB) 查看 92549 次

      优化器控制神经网络的学习速率。
      • 学习速率- 这通常应单独使用,除非模型正在折叠(所有图像更改为纯色块,并且损失峰值达到高水平,并且永远不会恢复)。与此页面上的其他参数不同,可以对现有模型调整此值。
        学习速率指示每次迭代时权重可以向上或向下调整多
        远。直觉会说更高的学习率更好,但情况并非如此。模型正在尝试学习达到尽可能低的损失值。设置过高的学习率会不断在最低值上方和下方摆动,并且永远不会学到任何东西。设置学习率设置过低,模型可能会达到低谷,并认为它已达到最低点,并将停止改进。
        把它想像走
        山。你想到底部,所以你应该总是下降。然而,下山的路上并不总是下坡,有较小的山丘和山谷在路上。学习率需要足够高,以便能够走出这些较小的山谷,但没那么高,你最终到下一座山的顶部。
  • 模型
    以下是特定于每个模型插件的设置:

     

    型号 1.png (3.14 KiB) 查看 92544 次

    如前所述,我不会详细介绍模型特定设置。这些因插件而异。但是,我将介绍一些常见的选项,你可能会看到在每个插件。与一如既往,每个选项将有一个工具提示,可以给你更多信息。
    • 低mem - 某些插件具有"低mem"模式。这使您能够运行模型的精简版本,占用更少的 VRAM,但代价是保真度更低。
    • 输入大小 - 某些插件允许您调整输入到模型中的大小。输入始终为方形,因此这是输入到模型中的图像的宽度和高度的大小(以像素为单位)。不要相信较大的输入总是等于更好的质量。情况并非总是如此。有许多其他因素决定了模型的质量是否不错。更高的输入大小需要指数级更高的 VRAM 来处理。
    • 输出大小 - 某些插件允许您调整模型生成的图像的大小。输入大小和输出大小不必相同,因此某些模型包含的升级器返回的输出图像大于输入图像。
  • 培训师
    配置设置页面中的最后一个选项卡是"培训师"或"数据增强"选项:

     

    培训师 1.jpg (123.87 KiB) 浏览 92543 次

    NN 需要看到许多不同的图像。为了更好地学习面部,它执行各种操作的输入图像。这称为"数据增强"。如注释中所述,标准设置对于 99% 的用例是没问题的,因此,如果您知道这些用例将产生什么影响,则仅更改这些设置。
    • 评估- 评估培训状态的选项。

       

      Trainer2.jpg (8.28 KiB) Viewed 92543 times

      • 预览图像 - 这是交换的每个 A 面和 B 面在预览窗口中显示的面数。
    • 图像增强- 这些是对被送入模型的面执行的操作。

       

      Trainer3.jpg (24.57 KiB) Viewed 92543 times

      • 缩放量- 在输入到 NN 之前,将面放大或缩小的百分比量。帮助模型处理不对齐。
      • 旋转范围- 在输入到 NN 之前,面顺时针或逆时针旋转的百分比量。帮助模型处理不对齐。
      • 移位范围 - 在输入到 NN 之前,将面向上/向下、向左/向右移动的百分比量。帮助模型处理不对齐。
      • 翻转机会- 水平翻转面部的机会。有助于为 NN 创建更多角度供您学习。
    • 颜色增强- 这些增强操作被输入模型的面的颜色/对比度,使 NN 对颜色差异更加坚固。

       

      Trainer4.jpg (24.47 KiB) Viewed 92543 times

      这是一个图示,说明颜色增强在引擎盖下有什么作用(在预览/最终输出中看不到这一点,它只是为了演示目的):
      • 颜色浅色- 上下调整输入图像的光度百分比。有助于处理不同的照明条件。
      • 颜色 AB - 颜色在L*a*b 颜色空间的 A/B 刻度上调整颜色的百分比量。帮助 NN 处理不同的颜色条件。
      • 颜色 CLAHE 机会- 图像具有对比度有限自适应直方图均衡的百分比。CLAHE 是一种尝试本地化对比度更改的对比方法。这有助于 NN 处理不同的对比度量。
      • 颜色 CLAHE 最大大小- CLAHE 算法的最大"网格大小"。这将缩放到输入图像。较高的值将导致更高的对比度应用程序。这有助于 NN 处理不同的对比度量。
获得模型设置后,请点击"确定"以保存配置并关闭窗口。NB:点击确定将保存所有选项卡上的选项,因此请务必仔细查看它们。

您可以点击"取消"以取消任何更改,也可以重置以将所有值还原到默认设置。


建立

现在,你已经把脸放在位了,已经配置了你的模型,是时候开始事情了!
前往 GUI 中的"列车"
选项卡:

 

Setup1.jpg (47.77 KiB) 查看 92541 次

我们将告诉 Faceswap 所有内容都存储在哪里、我们想使用什么,然后实际开始培训。

  • 这是我们将告诉 Faceswap 面的存储位置,以及它们各自的对齐文件的位置(如果需要)

     

    setup_faces.jpg (21.02 KiB) 浏览 92541 次

    • 输入 A - 这是包含作为提取过程.这些面将从原始场景中删除,以便由交换面替换。此文件夹中应包含大约 1,000 到 10,000 个面。
    • 对齐 A - 如果您使用蒙版进行训练,或使用"向地标扭曲",则您需要为您的面提供对齐文件。这将作为提取过程的一部分生成。如果文件存在于您的面文件夹中,并且被命名为对齐.json,则会自动拾取该文件。人脸中的每个面 A 文件夹必须具有对齐文件中的条目,否则训练将失败。您可能需要合并多个对齐文件。您可以找到有关准备对齐文件以在提取指南.
    • 输入 B - 这是文件夹的位置,其中包含您作为提取过程.这些是将交换到场景中的面。此文件夹中应包含大约 1,000 到 10,000 个面。
    • 对齐 B - 如果您使用蒙版进行训练,或使用"向地标扭曲",则您需要为您的面提供对齐文件。这将作为提取过程的一部分生成。如果文件存在于您的面文件夹中,并且被命名为对齐.json,则会自动拾取该文件。人脸 B 文件夹中的每一个面必须具有对齐文件中的条目,否则训练将失败。您可能需要合并多个对齐文件。您可以找到有关准备对齐文件以在提取指南.

  • 要培训的模型相关的模型选项:

     

    setup_model.jpg (34.47 KiB) 浏览 92541 次

    • 型号 Dir - 这是模型文件将保存的位置。如果要启动新模型,请选择空文件夹;如果正在从已启动的模型恢复训练,则应选择包含模型文件的现有文件夹。
    • 培训师- 这是您将为交换而培训的模型。不同型号的概述是上面提供.
    • 允许增长- [仅 NVIDIA]。启用 TensorFlow GPU"allow_growth"配置选项。此选项可防止 TensorFlow 在启动时分配所有 GPU VRAM,但可能导致更高的 VRAM 碎片化和较慢的性能。只有在训练出现问题时才应启用它(具体来说,您遇到了 cuDNN 错误)。
  • 培训
    特定设置:

     

    setup_training.jpg (28.48 KiB) 浏览 92541 次

    • 批处理大小 - 如上所述,批处理大小是通过模型一次输入的图像量。增加这个数字将增加 VRAM 的使用率。增加批次大小将加速培训到一定程度。小批量提供一种法规形式,有助于模型泛化。而大批量训练更快,批量尺寸在8至16范围内可能会产生更好的质量。对于其他形式的监管能否取代或消除这种需要,仍然是一个悬而未决的问题。
    • 迭代- 自动停止训练之前要执行的迭代次数。这真的只是自动化的,或者确保训练在一定时间后停止。通常,当您对预览的质量满意时,您将手动停止训练。
    • GPU - [仅 NVIDIA] - 要培训的 GPU 数量。如果您的系统中有多个 GPU,则最多可以使用其中 8 个来加快培训速度。请注意,此加速不是线性的,添加的 GPU 越多,回报的递减将越小。最终,它允许您通过将更大的批处理大小拆分为多个 GPU 来训练更大的批处理大小。您始终会受到最弱 GPU 的速度和 VRAM 的瓶颈,因此在相同的 GPU 上进行训练时,效果最佳。您可以阅读更多关于 Keras 多 gpu 的信息这里
    • 无日志- 提供损耗和模型日志记录,以便能够分析张力板和 Gui 。关闭此选项将意味着您无法访问此数据。实际上,没有理由禁用日志记录,因此通常不应检查这一点。
    • 扭曲到地标- 如前所述,数据是扭曲的,以便 NN 可以学习如何重新创建面。向地标扭曲是一种不同的扭曲方法,它尝试将面随机扭曲到另一侧的类似面(即对于 A 集,它会从 B 集找到一些类似的面,并应用一个扭曲,并随机化)。陪审团不知道这是否提供了任何好处/差异比标准随机扭曲。
    • 无翻转- 图像随机翻转,以帮助增加 NN 将看到的数据量。在大多数情况下,这很好,但面不是对称的,因此对于某些目标,这可能不可取(例如,面部一侧的摩尔)。一般来说,这应该不受检查,当然,在开始培训时,应不加检查。稍后在会话期间,您可能希望禁用此功能以进行某些交换。
    • 无增强颜色- Faceswap 执行颜色增强(前面详细)。这真的有助于匹配 A 和 B 之间的颜色/照明/对比度,但有时可能不可取,因此可以在这里禁用。颜色增强的影响如下所示:

       

      颜色 aug. jpg (79.9 KiB) 查看 92534 次

  • 用于保存 VRAM
    的 VRAM 节省优化设置:

     

    setup_vram.jpg (15.01 KiB) 浏览 92541 次

    Faceswap 提供了许多 VRAM 保存优化,使用户能够训练他们可能无法训练的模型。不幸的是,这些选项目前仅适用于 Nvidia 用户。这些应该是最后一个呼叫端口。如果可以训练至少 6-8 的批处理大小而不启用这些选项,那么您应该先进行,因为这些都配有速度惩罚。所有这些选项都可以相互启用,以堆叠节省。
    • 内存节省梯度- [仅 NVIDIA] - MSG 是一种优化方法,可以计算成本节省 VRAM。在最好的情况下,它可以在培训时间增加 20% 时将 VRAM 要求减半。这是您应该尝试的第一个选项。您可以阅读有关内存保存渐变的更多内容这里.
    • 优化器节省- [仅 NVIDIA] - 通过对 CPU 而不是 GPU 执行一些优化计算,这可以节省相当数量的 VRAM。它确实以增加系统 RAM 使用率和降低训练速度为成本。这应该是您尝试的第二个选项。
    • 乒乓球 - [仅 NVIDIA] - 阿卡 "最后的手段"。这是迄今为止最差的 VRAM 保存选项,但它可能足以获得您需要的。这基本上将模型一分为二,一次将训练模型的一半。这可以节省高达 40% 的 VRAM,但需要两倍的时间来训练模型。这应该是您尝试的最后一个选项。
      NB:启用此选项后,将不可用的张力记录/图形。
      NB:在模型的两侧完成训练周期之前,预览不会显示。
  • 保存
    选项以计划保存模型文件:

     

    setup_saving.jpg (14.62 KiB) 浏览 92541 次

    • 保存间隔- 应将模型保存到磁盘的时间。保存模型时,未对模型进行训练,因此可以提高此值,以获得训练速度的轻微提升(即,它并不等待模型经常写入磁盘)。你可能不想提高这个太高,因为它基本上是你的"故障安全"。如果模型在训练期间崩溃,则只能从上次保存开始继续。
      NB:如果使用乒乓球内存保存选项,则不应增加此容量超过 100,因为它可能会损害最终质量。
    • 快照间隔 - 快照是模型在时间点的副本。这样,如果您对模型的进度不满意,可以回滚到较早的快照;如果保存文件已损坏且没有可用的备份,则回滚。通常,这应该是一个高数字(在大多数情况下,默认值应该没问题),因为创建快照可能需要一段时间,并且在此过程完成时,您的模型不会进行训练。
  • 用于
    显示训练进度预览窗口的预览选项:

     

    setup_preview.jpg (13.17 KiB) 浏览 92541 次

    如果您使用的是 GUI,则通常您不需要使用这些选项。预览是一个窗口,弹出显示训练进度。GUI 将此信息嵌入到"显示"面板中,因此弹出的窗口将只显示完全相同的信息,并且是冗余的。每次保存迭代时预览更新。
    • 预览比例- 弹出的预览大小与训练图像的大小。如果您的训练图像为 256px,则完整的预览窗口将为 3072x1792。对于大多数显示器来说,这太大,因此此选项会按给定的百分比缩小预览。
    • 预览- 启用弹出预览窗口,禁用以不弹出预览窗口。对于 GUI,通常不选中此选项。
    • 写入图像- 这会将预览图像写入人脸交换文件夹。如果在无头系统上训练,很有用。
  • 用于生成
    可选的延时图像集的延时选项:

     

    setup_timelapse.jpg (21.11 KiB) 浏览 92541 次

    "时间延迟"选项是一项可选功能,使您能够查看一组固定面上训练在一定时间进行中的进度。每次保存迭代时,将保存一个图像,显示该时间点所选面的训练进度。请注意,Time Lapse 映像占用的磁盘上的空间量可能会随着时间的推移而堆积起来。
    • 延时输入 A - 包含要用于生成 A(原始)边的时间推移的面的文件夹。将只使用找到前 14 个面。如果您希望从训练集中选择前 14 个面,只需在"输入 A"文件夹上点这个。
    • 延时输入 B - 包含要用于生成 B(交换)端的时间推移的面的文件夹。将只使用找到前 14 个面。如果您希望从训练集中选择前 14 个面,只需在"输入 B"文件夹上点这个。
    • 延时输出- 希望保存生成的延时图像的位置。如果为 A 和 B 提供了源,但为此留空,则默认为所选模型文件夹。
  • 全球
    面交换选项:

     

    setup_global.jpg (18.17 KiB) 浏览 92541 次

    这些选项对于 Faceswap 的每个部分都是全球性的,而不仅仅是培训。
    • 配置文件- 您可以指定自定义训练器.ini 文件,而不是使用存储在人脸交换/配置文件夹中的文件。如果您有几个已知良好的配置,您可以在其中切换,这非常有用。
    • 日志级别- Faceswap 将登录的级别。通常,应始终将这设置为INFO。只有在开发人员要求您这样做时,才应将此选项设置为TRACE,因为这将显著降低培训速度,并生成大量日志文件。
      NB:控制台将只登录到级别VEROSEOSE。调试和TRACE日志级别仅写入日志文件。
    • 日志文件- 默认情况下,日志文件存储在faceswap/faceswap.log 。如果需要,可以在此处指定其他位置。
    锁定所有设置后,查看这些设置以确保您满意,然后点击"火车"按钮开始培训。

监控培训
开始训练后,该过程需要一两分钟来构建模型、预加载数据并开始训练。启动后,GUI 将进入训练模式,在底部放置一个状态栏,并在右侧打开一些选项卡:
  • 状态
    栏 显示在右下角,并给出当前培训课程的概述。它更新每次迭代:

     

    显示器 4.jpg (21.46 KiB) 查看 92526 次

    您不需要太密切地注意此处的损失数字。对于人脸交换,它们实际上毫无意义。这些数字使人了解 NN 认为它重新创建面 A 以及重新创建面 B 的得天其来。但是,我们对模型从面 A 的编码创建面 B 的算法感兴趣。这是不可能得到一个损失值,因为没有实际的例子,交换的脸为NN比较。
    • 结束 - 此培训课程已经过的时间量。
    • 会话迭代- 此培训课程期间已处理的迭代数。
    • Total Iterations - The total number of iterations that have been processed for all sessions for this model.
    • Loss A/Loss B - The loss for the current iteration. NB: There may be multiple loss values (e.g. for face, mask, multi-outputs etc). This value is the sum of all the losses, so the figures here can vary quite widely.
  • Preview Tab
    Visualizes the current state of the model. This is a representation of the model's ability to recreate and swap faces. It updates every time the model saves:

     

    monitor1.jpg (111.1 KiB) Viewed 92526 times

    The best way to know if a model has finished training is to watch the previews. Ultimately these show what the actual swap will look like. When you are happy with the previews then it is time to stop training. Fine details like eye-glare and teeth will be the last things to come through. Once these are defined, it is normally a good indication that training is nearing completion.
    • The preview will show 12 columns. The first 6 are the "A" (Original face) side, the second 6 are the "B" (Swap face) side. Each group of 6 columns is split into 2 groups of 3 columns. For each of these columns:

       

      prev1.png (74.99 KiB) Viewed 92515 times

      • Column 1 is the unchanged face that is fed into the model
      • Column 2 is the model attempting to recreate that face
      • Column 3 is the model attempting to swap the face
    • These will start out as a solid color, or very blurry, but will improve over time as the NN learns how to recreate and swap faces.
    • The opaque red area indicates the area of the face that is masked out (if training with a mask).
    • If training with coverage less than 100% you will see the edges of a red box. This indicates the "swap area" or the area that the NN is training on.
    • You can save a copy of the current preview image with the save button at the bottom right.
    • The preview can be disabled by unchecking the "Enable Preview" box at the bottom right.
  • Graph Tab - This tab contains a graph that shows loss over time. It updates every time the model saves, but can be refreshed by hitting the "Refresh" button:

     

    monitor2.jpg (85 KiB) Viewed 92526 times

    You do not need to pay too close attention to the numbers here. For faceswapping they are effectively meaningless. The numbers give an idea of how well the NN thinks it is recreating Face A and how well it is recreating Face B. However we are interested in how well the model is creating Face B from the encodings of Face A. It is impossible to get a loss value for this as there are no real-world examples of a swapped face for the NN to compare against.

    The loss graph is still a useful tool. Ultimately as long as loss is dropping, then the model is still learning. The rate that the model learns will decrease over time, so towards the end it may be hard to discern if it is still learning at all. See the Analysis tab in these instances.
    • Depending on the number of outputs, there may be several graphs available (e.g. total loss, mask loss, face loss etc). Each graph shows loss for that particular output.
    • You can save a copy of the current graph with the save button at the bottom right.
    • The graph can be disabled by unchecking the "Enable Preview" box at the bottom right.
  • Analysis Tab - This tab shows some statistics for the currently running and previous training sessions:

     

    monitor3.jpg (64.32 KiB) Viewed 92526 times

    • The columns are as follows:
      • Graphs - Click the blue graph icon to open up a graph for the selected session.
      • Start/End/Elapsed - The start time, end time and total training time for each session respectively.
      • Batch - The batch size for each session
      • Iterations - The total number of iterations processed for each session.
      • EGs/sec - The number of faces processed through the model per second.
    • When a model is not training, you can open up stats for previously trained models by hitting the open button at the bottom right and selecting a model's state.json file inside the model folder.
    • You can save the contents of the analysis tab to a csv file with the save icon at the bottom right.
    As stated above, the loss graph is useful for seeing if loss is dropping, but it can be hard to discern when the model has been training for a long time. The analysis tab can give you a more granular view.
    • Clicking the blue graph icon next to your latest training session will bring up the training graph for the selected session.

       

      analysis1.jpg (54.3 KiB) Viewed 92529 times

    • Select "Show Smoothed", raise the smoothing amount to 0.99, hit the refresh button and then zoom in on last 5,000 - 10,000 iterations or so:

       

      analysis2.jpg (101.26 KiB) Viewed 92529 times

    • Now that the graph is zoomed in, you should be able to tell if the loss is still dropping or whether it has "converged". Convergence is when the model is not learning anything any more. In this example you can see that, whilst at first look it may seem the model has converged, on closer inspection, loss is still dropping:

       

      analysis3.jpg (183.57 KiB) Viewed 92529 times


Stopping and Resuming
It is possible to stop training at any point just by pressing the Terminate button at the bottom left of the GUI. The model will save it's current state and exit.

Models can be resumed by selecting the same settings and pointing the "model dir" folder at the same location as the saved folder. This can be made much easier by saving your Faceswap config, either from the GUI File Menu or from the save icon below the options panel:

 

save1.jpg (24.47 KiB) Viewed 92524 times

 

save2.jpg (5.99 KiB) Viewed 92524 times

You can then just reload your config and continue training.

Faces can be added and removed from your Training folders, but make sure that you stop training before making any changes, and then resume again. If you are using Warp to Landmarks or training with a mask, you will need to make sure your alignments file is updated with the new and removed faces.


Recovering a Corrupted Model

Occasionally models corrupt. This can be for any number of reasons, but is evidenced by all of the faces in the preview turning to a solid/garbled color and the loss values spiking to a high number and not recovering.

Faceswap offers a tool for easily recovering a model. Backups are saved every save iteration that the loss values fall overall. These backups can be recovered in the following way:
  • Go to Tools > Restore:

     

    restore0.png (4.61 KiB) Viewed 91703 times

  • Model Dir - The folder containing your corrupted model should be entered here:

     

    restore1.png (1.34 KiB) Viewed 91703 times

Hit the Restore button. Once restored you should be able to carry on training from your last backup.

Attachments

 

Mask2.png (30.68 KiB) Viewed 92549 times

 

Mask1.png (29.67 KiB) Viewed 92549 times

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

相关文章

  1. UIUC同学收集的代码合集(分类版)

    本文转载自&#xff1a;http://www.cvchina.info/2011/09/05/uiuc-cod/&#xff0c;谢谢 Jia-Bin Huang童鞋收集&#xff0c;此童鞋毕业于国立交通大学&#xff0c;之前拍过很多CVPR举办地科罗拉多州的照片&#xff0c;这里大多为matlab code, link: https://netfiles.uiuc.edu…...

    2024/4/20 14:43:53
  2. 计算机语言缩写大全

    &#xff08;源自&#xff1a;http://www.syncr.com/forums/thread/353.aspx&#xff09; 3C&#xff08;China Compulsory Certification&#xff0c;中国强制性产品认证制度&#xff09;3D&#xff08;Three Dimensional&#xff0c;三维&#xff09;3DCG&#xff08;3D com…...

    2024/4/20 20:43:50
  3. 2021最全面、最详细web前端面试题及答案总结

    2021最全面、最详细web前端面试题及答案总结 总结不易&#xff0c;希望可以帮助到即将面试或还在学习中的web前端小伙伴&#xff0c;祝面试顺利&#xff0c;拿高薪&#xff01; 本章是HTML考点的⾮重难点&#xff0c;因此我们采⽤简略回答的⽅式进⾏撰写&#xff0c;所以不会有…...

    2024/5/6 8:44:02
  4. 计算机缩写术语完全介绍

    原文地址为&#xff1a; 计算机缩写术语完全介绍计算机缩写术语完全介绍 在使用计算机的过程中&#xff0c;你可能会碰到各种各样的专业术语&#xff0c; 特别是那些英文缩写常让我们不知所云&#xff0c;下面收集了各方面的词组&#xff0c; 希望对大家有帮助。 一、港台术语与…...

    2024/5/1 6:15:06
  5. 路由与交换

    1/74路由和交换OSI开放系统互联的网络七层(从高层到低层)&#xff1a;应用层:泛指各类应用软件。表示层:数据的表示方法(格式)&#xff0c;数据的编码和解码。常见的格式有文本、语音、视频、图片、图像等。会话层:session会话的建立、关闭。包括网络服务进程的建立&#xff0c…...

    2024/4/20 20:43:47
  6. Linux-3.10-x86_64 内核配置选项简介

    http://www.jinbuguo.com/kernel/longterm-3_10-options.html Linux-3.10-x86_64 内核配置选项简介 作者&#xff1a;金步国 版权声明 本文作者是一位开源理念的坚定支持者&#xff0c;所以本文虽然不是软件&#xff0c;但是遵照开源的精神发布。 无担保&#xff1a;本文作者不…...

    2024/4/20 20:43:46
  7. make xconfig详解

    http://blog.csdn.net/yanshuai_tek/article/details/50902817 make menuconfig 图形化的内核配置 make mrproper 删除不必要的文件和目录 make oldconfig 如果只想在原来内核配置的基础上修改一些小地方&#xff0c;会省去不少麻烦 make config 基于文本的最为传统的配置界…...

    2024/4/20 20:43:45
  8. Linux-4.4-x86_64 内核配置选项简介

    Linux-4.4-x86_64 内核配置选项简介 作者&#xff1a;金步国 版权声明 本文作者是一位开源理念的坚定支持者&#xff0c;所以本文虽然不是软件&#xff0c;但是遵照开源的精神发布。 无担保&#xff1a;本文作者不保证作品内容准确无误&#xff0c;亦不承担任何由于使用此文档…...

    2024/4/27 23:04:15
  9. linux 内核配置简介

    Gentoo Linux Gentoo内核(gentoo-sources)特有的选项 Gentoo Linux supportCONFIG_GENTOO_LINUX选"Y"后,将会自动选中那些在Gentoo环境中必须开启的内核选项,以避免用户遗漏某些必要的选项,减轻一些用户配置内核的难度.建议选"Y".Linux dynamic and persis…...

    2024/4/20 20:43:44
  10. ubuntu18下深度学习环境的构建——安装配置篇

    文章目录零、前言机器型号一、必要配置1.1 远程桌面安装1.2 相关镜像源配置1.3 命令行配置1.4 网络配置1.5 ssh安装1.6 创建用户和组1.7 硬盘自动加载二、软件安装2.0 dotfiles的哲学2.1 zshoh my zsh插件管理2.2 替换你的cd命令 z.lua2.3 miniconda2.4 nvim2.5 CUDA驱动安装2.…...

    2024/4/20 20:43:43
  11. linux 内核专题— drv术语

    译者按&#xff1a; 在1991年&#xff0c;一个叫林纳斯本纳第克特托瓦兹的芬兰学生制作了一个现在非常流行的操作系统的内核。他于1991年9月发布了Linux 0.01&#xff0c;并且于1992年以GPL许可证的方式授权了该内核。GNU通用许可证(GPL)允许人们使用、拥有、修改&#xff0c;以…...

    2024/4/20 20:43:42
  12. Linux内核专题 - 介绍

    转自&#xff1a;http://lib.csdn.net/article/operatingsystem/23191 作者&#xff1a;beckdon 译者按&#xff1a; 在1991年&#xff0c;一个叫林纳斯本纳第克特托瓦兹的芬兰学生制作了一个现在非常流行的操作系统的内核。他于1991年9月发布了Linux 0.01&#xff0c;并且于19…...

    2024/4/22 12:15:46
  13. LINUX内核目录文件说明以及配置并编译内核的方法

    在下载内核前&#xff0c;我们应该讨论一些重要的术语和事实。Linux内核是一个宏内核&#xff0c;这意味着整个操作系统都运行在内核预留的内存里。说的更清楚一些&#xff0c;内核是放在内存里的。内核所使用的空间是内核预留的。只有内核可以使用预留的内核空间。内核拥有这些…...

    2024/4/21 1:25:21
  14. linux kernel directory

    LINUX内核目录文件说明以及配置并编译内核的方法 感谢原文作者以及原文翻译者的无私奉献 http://blog.csdn.net/ffmxnjm/article/details/72933915在下载内核前&#xff0c;我们应该讨论一些重要的术语和事实。Linux内核是一个宏内核&#xff0c;这意味着整个操作系统都运行在…...

    2024/4/21 1:25:20
  15. 显卡

    显卡显卡ATI HD 4890对决NVIDIA GTX 275显卡 【概述】  显示接口卡&#xff08;Video card&#xff0c;Graphics card&#xff09;&#xff0c;又称为显示适配器&#xff08;Video adapter&#xff09;&#xff0c;台湾与香港简称为显卡&#xff0c;是个人电脑最基本组成部分…...

    2024/4/21 1:25:18
  16. PCIe 资料

    pcie 编辑 PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准&#xff0c;它原来的名称为“3GIO”&#xff0c;是由英特尔在2001年提出的&#xff0c;旨在替代旧的PCI&#xff0c;PCI-X和AGP总线标准。PCIe属于高速串行点对点双通道高…...

    2024/4/21 1:25:17
  17. 盘点CVPR 2019影响力最大的20篇论文

    CVPR 2019 已经过去一年了&#xff0c;本文盘点其中影响力最大的 20 篇论文&#xff0c;这里的影响力以谷歌学术上显示的论文的引用量排序&#xff0c;截止时间为2020年7月22日。其中的一些结论蛮有意思的&#xff1a;1. 这 20 篇论文全部开源了。不开源的论文复现代价大&#…...

    2024/5/5 12:23:29
  18. 计算机视觉数据集大全 - Part2

    转载自http://homepages.inf.ed.ac.uk/rbf/CVonline/Imagedbase.htm Index by Topic Action DatabasesAgricultureAttribute recognitionAutonomous DrivingBiological/MedicalCamera calibrationFace and Eye/Iris DatabasesFingerprintsGeneral ImagesGeneral RGBD and dep…...

    2024/4/21 1:25:15
  19. 计算机视觉数据集大全 - Part1

    转载自http://homepages.inf.ed.ac.uk/rbf/CVonline/Imagedbase.htm Index by Topic Action DatabasesAgricultureAttribute recognitionAutonomous DrivingBiological/MedicalCamera calibrationFace and Eye/Iris DatabasesFingerprintsGeneral ImagesGeneral RGBD and dep…...

    2024/4/21 1:25:14
  20. 部分数据集

    为防丢失&#xff0c;进行记录 大学公开数据集 (Stanford)69G大规模无人机(校园)图像数据集【Stanford】 http://cvgl.stanford.edu/projects/uav_data/ 人脸素描数据集【CUHK】 http://mmlab.ie.cuhk.edu.hk/archive/facesketch.html 自然语言推理(文本蕴含标记)数据集【…...

    2024/4/21 1:25:13

最新文章

  1. AI图书推荐:ChatGPT在真实商业世界中的应用

    《ChatGPT在真实商业世界中的应用》 (Unleashing The Power of ChatGPT: A Real World Business Applications)首先概述了ChatGPT及其在对话式人工智能领域的影响。接着&#xff0c;你将深入了解ChatGPT的技术方面&#xff0c;理解机器学习算法和自然语言处理如何在后台工作。然…...

    2024/5/6 9:24:17
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 基于FPGA轻松玩转AI

    启动人工智能应用从来没有像现在这样容易&#xff01;受益于像Xilinx Zynq UltraScale MPSoC 这样的FPGA&#xff0c;AI现在也可以离线使用或在边缘部署、使用.可用于开发和部署用于实时推理的机器学习应用&#xff0c;因此将AI集成到应用中变得轻而易举。图像检测或分类、模式…...

    2024/5/4 23:31:12
  4. [C++][算法基础]模拟队列(数组)

    实现一个队列&#xff0c;队列初始为空&#xff0c;支持四种操作&#xff1a; push x – 向队尾插入一个数 x&#xff1b;pop – 从队头弹出一个数&#xff1b;empty – 判断队列是否为空&#xff1b;query – 查询队头元素。 现在要对队列进行 M 个操作&#xff0c;其中的每…...

    2024/5/5 0:14:29
  5. 基于ArrayList实现简单洗牌

    前言 在之前的那篇文章中&#xff0c;我们已经认识了顺序表—>http://t.csdnimg.cn/2I3fE 基于此&#xff0c;便好理解ArrayList和后面的洗牌游戏了。 什么是ArrayList? ArrayList底层是一段连续的空间&#xff0c;并且可以动态扩容&#xff0c;是一个动态类型的顺序表&…...

    2024/5/4 10:31:32
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/6 9:21:00
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/4 23:55:01
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57