扩散模型系列ControlNet: Adding Conditional Control to Text-to-Image Diffusion Models

news2024/9/24 7:18:58

向文本到图像扩散模型添加条件控制

 摘要解读:

我对摘要英文的理解:

我们提出了一个神经网络架构ControlNet,可以向大规模的预训练好的文本到图像的扩散模型中添加空间条件控制。ControlNet锁住了准备生产的大规模扩散模型,并且重新使用了他们从数十亿图像上的预训练好的编码器层作为一个强大的骨架来学习多样的的条件控制,少神经网络架构和零卷积层相连接(用0初始化的卷积层)渐进式的从零增长参数,确保没有噪声扰乱优化。我们使用stable diffusion 测试了大量的条件控制比如边缘深度分割和人的姿势,使用单个或者多个条件,有或者没有提示,我们展示了在小于50k 和大于1m d的数据集上训练control net 是鲁棒性的,大量的实验证明controlnet 可以促进控制图像扩散模型更广阔的应用

翻译软件:

我们提出了ControlNet,这是一种神经网络架构,旨在为大型、预训练的文本到图像扩散模型添加空间条件控制。ControlNet保留(locks )了已准备好用于生产的大型扩散模型,并重新利用了它们通过数十亿图像预训练得到的深层且稳健的编码层,作为学习多样化条件控制的强大基础。该神经网络架构通过“零卷积”(即初始化为零的卷积层)进行连接,这些卷积层逐步从零开始增长参数,确保在微调过程中不会受到有害噪声的影响。我们使用Stable Diffusion测试了多种条件控制,如边缘、深度、分割、人体姿态等,这些测试采用了单个或多个条件,并且可以包含或不包含提示。我们展示了ControlNet的训练在小型(<50k)和大型(>1m)数据集上都具有鲁棒性。广泛的实验结果表明,ControlNet可能促进图像扩散模型在更广泛应用中的控制

学习到的 单词  lock(有保留的意思)zero convolutions 即初始化为零的卷积层 progressively grow the parameters from zero从零开始增长参数 finetuning 微调


introduction

提出了问题和挑战:

 我们中的许多人都经历过视觉灵感的闪现,我们希望将其捕捉到独特的图像中。随着文本到图像扩散模型 [54,61,71] 的出现,我们现在可以通过输入文本提示来创建视觉上令人惊叹的图像。然而,文本到图像模型在对图像的空间组成提供的控制方面受到限制。仅通过文本提示来精确表达复杂的布局、姿势、形状和形式可能很困难。生成与我们的心理想象准确匹配的图像通常需要多次反复试验,包括编辑提示、检查生成的图像,然后重新编辑提示

我们能否通过让用户提供直接指定其所需图像组成的附加图像来实现更细粒度的空间控制?

在计算机视觉和机器学习中,这些附加图像(例如,边缘图、人体姿势骨架、分割图、深度、法线等)通常被视为图像生成过程的条件。图像到图像翻译模型 [34, 97] 学习

文本到图像(text-to-image)模型的控制方法以及解决相关问题的不同策略。我们可以从以下几个方面来理解:

  1. 控制文本到图像模型的方法
    • 空间掩码(Spatial Masks):这是一种在生成图像时用于控制图像特定区域的技术。通过在模型中加入空间掩码,可以指定哪些区域应该被保留或修改,从而实现更精细的图像控制。
    • 图像编辑指令(Image Editing Instructions):这种方法允许用户通过指令直接对生成的图像进行编辑,比如修改颜色、添加元素等。
    • 个性化微调(Personalization via Finetuning):通过微调模型,可以使其适应特定用户或特定任务的需求,从而生成更加个性化的图像。
  2. 解决文本到图像生成问题的方法
    • 无训练技术(Training-free Techniques):对于一些简单的问题,如生成图像的不同变体或图像修复(inpainting),可以通过无需额外训练的技术来解决。例如,通过限制去噪扩散过程或编辑注意力层激活,可以在不重新训练整个模型的情况下实现这些功能。
    • 端到端学习和数据驱动解决方案(End-to-end Learning and Data-driven Solutions):对于更复杂的问题,如从深度信息生成图像(depth-to-image)、从姿态信息生成图像(pose-to-image)等,通常需要采用端到端的学习方法和数据驱动的解决方案。这是因为这些问题涉及到多个复杂因素之间的相互作用,需要模型能够从大量数据中学习到这些因素的映射关系。
  3. 总结
    • 文本到图像模型的控制方法多种多样,包括空间掩码、图像编辑指令和个性化微调等。
    • 解决文本到图像生成问题的策略也因问题的复杂程度而异。对于简单问题,可以采用无训练技术;而对于复杂问题,则需要依赖端到端学习和数据驱动的解决方案。

深入讨论了在大规模文本到图像(text-to-image)扩散模型中以端到端方式学习条件控制所面临的挑战,并提出了一些解决方案和研究方向。我们可以从以下几个方面来理解:

  1. 训练数据量的挑战
    • 对于特定条件的训练数据,其数量可能远远少于用于通用文本到图像训练的数据。例如,针对特定问题(如物体形状/法线、人体姿态提取等)的最大数据集通常只有约10万张图片,这相比于用于训练Stable Diffusion的LAION-5B数据集(包含50亿张图片)来说,数据量小了50,000倍。
    • 这种数据量的巨大差异使得直接在有限的数据上对大规模预训练模型进行微调或继续训练变得困难,因为这很容易导致过拟合(即模型在训练数据上表现良好,但在未见过的数据上表现不佳)和灾难性遗忘(即模型在学习新任务时忘记了旧任务)。
  2. 缓解过拟合和灾难性遗忘的策略
    • 研究者已经提出了一些策略来缓解这些问题,其中之一是通过限制可训练参数的数量或秩(即参数矩阵的秩)。这种方法可以减少模型在有限数据上的复杂性,从而降低过拟合的风险。
    • 然而,仅仅通过限制参数可能不足以完全解决问题,特别是在处理具有复杂形状和多样高级语义的野外条件图像时。
  3. 设计更深的或更定制化的神经网络架构
    • 为了更好地处理这些复杂的条件图像,可能需要设计更深的或更定制化的神经网络架构。这种架构应该能够捕捉图像中的高级语义信息,并将其与文本输入有效地结合起来,以生成符合条件的图像。
    • 这种定制化的设计可能包括引入新的网络层、改变层之间的连接方式、使用注意力机制等,以便模型能够更好地理解和学习复杂的条件信息。
  4. 总结
    • 在大规模文本到图像扩散模型中以端到端方式学习条件控制是一个具有挑战性的任务,主要是由于特定条件的训练数据量有限。
    • 为了缓解过拟合和灾难性遗忘的问题,研究者提出了限制可训练参数数量和秩的策略,但这可能不足以完全解决问题。
    • 因此,设计更深的或更定制化的神经网络架构可能是一个有效的解决方案,以便模型能够更好地处理复杂的条件图像并生成符合条件的图像。

 这篇论文介绍了ControlNet,一个端到端的神经网络架构,它学习对大型预训练的文本到图像扩散模型(在我们的实现中为Stable Diffusion)进行条件控制。ControlNet通过锁定大型模型的参数并制作其编码层的可训练副本,从而保留了该模型的质量和能力。该架构将大型预训练模型视为学习各种条件控制的强大基础。可训练副本和原始锁定模型通过零卷积层连接,这些层的权重初始化为零,以便在训练过程中逐渐增长。这种架构确保了在训练开始时不会向大型扩散模型的深层特征中添加有害噪声,并保护了可训练副本中的大规模预训练基础不受此类噪声的破坏。我们的实验表明,ControlNet可以使用各种条件输入(包括Canny边缘、霍夫线、用户涂鸦、人体关键点、分割图、形状法线、深度等)来控制Stable Diffusion(如图1所示)。我们使用单个条件图像进行测试,无论是否包含文本提示,并展示了我们的方法如何支持多个条件的组合。此外,我们还报告了ControlNet的训练是稳健且可扩展的,适用于不同大小的数据集,并且对于某些任务(如深度到图像的条件控制),在单个NVIDIA RTX 3090Ti GPU上训练的ControlNet可以获得与在大型计算集群上训练的工业模型相媲美的结果。最后,我们进行了消融研究,以调查模型中每个组件的贡献,并将我们的模型与几个强大的条件图像生成基线进行了用户研究比较

总之,(1)我们提出 ControlNet,一种神经网络架构,可以通过有效的微调将空间局部化的输入条件添加到预训练的文本到图像扩散模型中,(2)我们提出预训练的 ControlNet 来控制稳定扩散,以 Canny 为条件边缘、霍夫线、用户涂鸦、人体关键点、分割图、形状法线、深度和卡通线条图,以及(3)我们通过与几种替代架构进行比较的烧蚀实验来验证该方法,并针对之前的几种进行用户研究不同任务的基线。


3. Method

ControlNet 是一种神经网络架构,可以通过空间局部、特定于任务的图像条件增强大型预训练文本到图像扩散模型。我们首先在3.1节中介绍ControlNet的基本结构,然后在3.2节中描述如何将ControlNet应用于图像扩散模型Stable Diffusion [71]。我们在第 3.3 节中详细阐述了我们的训练,并详细介绍了推理过程中的几个额外注意事项,例如在第 3.4 节中组成多个  ControlNet

3.1. ControlNet

ControlNet 将附加条件注入神经网络的块中(图 2)。

在这里,我们使用术语network block来指代一组神经网络层,这些神经层通常组合在一起形成神经网络的单个单元,例如 resnet 块、conv-bn-relu 块、多头注意力块、transformer

假设 F(x; θ) 是这样一个经过训练的神经块,其参数为 θ,将输入特征图 x 转换为另一个特征图 y,如下所示

 在我们的设置中,x 和 y 通常是 2D 特征图,即 x ∈ Rh×w×c,其中 {h, w, c} 分别作为图中的高度、宽度和通道数(图 2a)。为了将 ControlNet 添加到这样的预训练神经块中,我们锁定(冻结)lock (freeze)原始块的参数 θ,同时将该块克隆到具有参数 θc 的可训练副本 trainable copy(图 2b)。(避免数据集太小的时候出现过拟合的现象)

  可训练副本rainable copy采用外部条件向量 c 作为输入。当这种结构应用于稳定扩散等大型模型时,锁定的参数保留了用数十亿张图像训练的生产就绪模型,而可训练的副本rainable copy重用此类大规模预训练模型来建立一个深度、稳健且强大的骨干来处理不同的输入状况。

  可训练副本rainable copy连接到具有零卷积层zero convolution layers的锁定模型,表示为 Z(·;·)。具体来说,Z(·;·) 是一个 1 × 1 卷积层,权重和偏差都初始化为零。

为了构建 ControlNet,我们使用两个零卷积zero convolution实例,

参数分别为 θz1 和 θz2。然后完整的 ControlNet 计算

其中 yc 是 ControlNet 块的输出。在第一个训练步骤中,由于零卷积层的权重和偏置参数都初始化为零,因此等式(2)中的 Z(·;·) 项均计算为零,并且

 这样,当训练开始时,有害噪声就无法影响可训练副本中神经网络层的隐藏状态。此外,由于 Z(c; θz1) = 0 并且可训练副本还接收输入图像 x,因此可训练副本功能齐全,并保留大型预训练模型的功能,使其能够作为进一步学习的强大骨干。零卷积通过消除初始训练步骤中作为梯度的随机噪声来保护该主干网。我们在补充材料中详细介绍了零卷积的梯度计算。

3.2. ControlNet for Text-to-Image Diffusion用于文本到图像扩散的 ControlNet

我们使用Stable Diffusion[71]作为示例来展示 ControlNet 如何向大型预训练扩散模型添加条件控制。稳定扩散本质上是一个 U-Net [72],带有编码器、中间块和跳跃连接的解码器。编码器和解码器都包含 12 个块,完整模型包含 25 个块,包括中间块。在 25 个块中,8 个块是下采样或上采样卷积层,而其他 17 个块是主块,每个块包含 4 个 resnet 层和 2 个视觉变换器 (ViT)。每个 ViT 都包含多个交叉注意力和自注意力机制。

  例如,在图3a中,“SD编码器块A”包含4个resnet层和2个ViT,而“×3”表示该块重复3次。文本提示使用 CLIP text encoder 进行编码,扩散时间步长通过使用位置编码的时间编码器进行编码。 ControlNet 结构应用于 U 网的每个编码器级别(图 3b)。

  特别地,我们使用 ControlNet 创建 12 个编码块和 1 个Stable Diffusion中间块的可训练副本。 12个编码块有4种分辨率(64×64、32×32、16×16、8×8),每一个复制3次。输出被添加到 U 网的 12 个跳跃连接和 1 个中间块。由于稳定扩散是典型的 U 网结构,因此这种 ControlNet 架构可能适用于其他模型。我们连接 ControlNet 的方式在计算上是高效的——由于锁定的副本参数被冻结,因此在最初锁定的编码器中不需要进行梯度计算来进行微调。这种方法可以加快训练速度并节省 GPU 内存。根据在单个 NVIDIA A100 PCIE 40GB 上的测试,使用 ControlNet 优化稳定扩散仅需要大约 23% 的 GPU 内存和 34% 的内存,与在没有 ControlNet 的情况下优化稳定扩散相比,每次训练迭代需要更多时间。图像扩散模型学习逐步对图像进行去噪并从训练域生成样本。去噪过程可以发生在像素空间或从训练数据编码的潜在空间中。稳定扩散使用潜在图像作为训练域,因为在这个空间中工作已被证明可以稳定训练过程[71]。具体来说,Stable Diffusion 使用类似于 VQ-GAN [19] 的预处理方法将 512 × 512 像素空间图像转换为更小的 64 × 64 潜在图像。为了将 ControlNet 添加到Stable Diffusion中,我们首先将每个输入调节图像(例如边缘、姿态、深度等)从 512 × 512 输入大小转换为与Stable Diffusion大小匹配的 64 × 64 特征空间向量

特别地,我们使用一个由四个卷积层组成的微型网络 E(·),具有 4 × 4 内核和 2 × 2 步长(由 ReLU 激活,分别使用 16、32、64、128 个通道,用高斯权重初始化并联合训练与完整模型)将图像空间条件 ci 编码为特征空间条件向量 cf 

 调节向量 cf 被传递到 ControlNet。

3.3.训练

给定输入图像 z0,图像扩散算法逐渐向图像添加噪声并生成噪声图像 zt,其中 t 表示添加噪声的次数。给定一组条件,包括时间步 t、文本提示 ct 以及特定于任务的条件 cf,图像扩散算法学习网络 εθ 来预测添加到噪声图像 zt 的噪声

其中L是整个扩散模型的总体学习目标。该学习目标直接用于通过 ControlNet 微调扩散模型。在训练过程中,我们随机将50%的文本提示ct替换为空字符串。这种方法提高了 ControlNet 直接识别输入调节图像中的语义(例如边缘、姿势、深度等)的能力,以替代提示。在训练过程中,由于零卷积不会给网络增加噪声,因此模型应该始终能够预测高质量的图像。我们观察到该模型并不是逐渐学习控制条件,而是突然成功地遵循输入条件图像;通常优化步骤少于 10K。如图4所示,我们称之为“突然收敛现象”。

3.4.推论 我们可以通过多种方式进一步控制 ControlNet 的额外条件如何影响去噪扩散过程。

无分类器引导分辨率加权。

稳定扩散依赖于一种称为无分类器指导 (CFG) [29] 的技术来生成高质量图像。 CFG 的公式为 εprd = εuc + βcfg(εc − εuc),其中 εprd、εuc、εc、βcfg 分别是模型的最终输出、无条件输出、条件输出和用户指定的权重。当通过 ControlNet 添加调节图像时,可以将其添加到 εuc 和 εc,或仅添加到 εc。在具有挑战性的情况下,例如,当没有给出提示时,将其添加到 εuc 和 εc 将完全删除 CFG 指导(图 5b);仅使用 εc 将使指导非常强大(图 5c)。我们的解决方案是首先将调节图像添加到 εc 中,然后根据每个块的分辨率 wi = 64/hi 为 Stable Diffusion 和 ControlNet 之间的每个连接乘以一个权重 wi,其中 hi 是第 i 个块的大小,例如 h1 = 8, h2 = 16, ..., h13 = 64。通过降低CFG引导强度,我们可以得到如图5d所示的结果,我们称之为CFG分辨率加权。

组成多个 ControlNet。

要将多个条件图像(例如 Canny 边缘和姿势)应用于稳定扩散的单个实例,我们可以直接将相应 ControlNet 的输出添加到稳定扩散模型中(图 6)。这种组合不需要额外的加权或线性插值。

 

 

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

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

相关文章

SLAM特征提取新变革:神经符号学结合自适应优化,实现环境适应性大飞跃!

论文标题&#xff1a; A Neurosymbolic Approach to Adaptive Feature Extraction in SLAM 论文作者&#xff1a; Yasra Chandio, Momin A. Khan, Khotso Selialia, Luis Garcia, Joseph DeGol, Fatima M. Anwar 导读&#xff1a; 本研究提出了一种创新的神经符号学方法&a…

Mybatis进阶提升-(一)Mybatis入门

前言 Mybatis是Java 项目开发使用率非常高的一款持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO&#xff08…

python+selenium+unittest自动化测试框架

前言 关于自动化测试的介绍&#xff0c;网上已有很多资料&#xff0c;这里不再赘述&#xff0c;UI自动化测试是自动化测试的一种&#xff0c;也是测试金字塔最上面的一层&#xff0c;selenium是应用于web的自动化测试工具&#xff0c;支持多平台、多浏览器、多语言来实现自动化…

【实战】SpringBoot整合ffmpeg实现动态拉流转推

SpringBoot整合ffmpeg实现动态拉流转推 在最近的开发中&#xff0c;遇到一个 rtsp 协议的视频流&#xff0c;前端vue并不能直接播放&#xff0c;因此需要对流进行处理。在网上查阅后&#xff0c;ffmpeg和webrtc是最多的解决方案&#xff0c;但是使用webrtc的时候没成功&#x…

交通 | 不确定条件下旅行者路径选择的K阶均值偏差模型

摘要 现实世界中的交通网络通常具有随机特性&#xff0c;旅行时间可靠性自然成为影响旅行者路线选择的关键因素。在这种情况下&#xff0c;仅凭平均路径旅行时间可能无法充分代表路径对旅行者的吸引力&#xff0c;本研究引入了 k k k 阶均值偏差模型&#xff0c;用于优化大型…

紫辉创投开启Destiny of Gods首轮投资,伯乐与千里马的故事仍在继续

近日&#xff0c;上海紫辉创业投资有限公司&#xff08;以下简称“紫辉创投”&#xff09;宣布开启GameFi链游聚合平台Destiny of Gods首轮投资500,000美金&#xff0c;并与其达成全面战略及业务层合作&#xff0c;双方将协同布局链上生态&#xff0c;共同推动链游行业健康发展…

研究人员可以采用什么策略来批判性地评估和综合其领域的不同文献

VersaBot Literature Review 一键生成文献综述 研究人员可以采用各种策略来批判性地评估和综合其领域内的不同文献&#xff1b; 评估策略 审查方法论&#xff1a; 分析每个来源中使用的研究设计、样本选择、数据收集和分析方法。考虑每种方法的潜在偏见、局限性和优势。评估…

宝通科技携手昇腾技术首席陈仲铭,共探工业大模型与生态发展

在人工智能技术的浪潮中&#xff0c;宝通科技始终致力于探索和应用前沿技术&#xff0c;推动工业智能化的发展。7月26日&#xff0c;宝通科技特邀昇腾生态技术首席陈仲铭博士&#xff0c;为宝通员工带来了一场主题为《工业大模型与业界发展生态》的技术分享会。本次分享会不仅为…

从CNN到Transformer:基于PyTorch的遥感影像、无人机影像的地物分类、目标检测、语义分割和点云分类教程

原文链接&#xff1a;从CNN到Transformer&#xff1a;基于PyTorch的遥感影像、无人机影像的地物分类、目标检测、语义分割和点云分类教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247610610&idx5&snf973c3e430c89d6123ca8f4892086c55&chksmfa8271…

nameparser,一个强大的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个强大的 Python 库 - nameparser。 Github地址&#xff1a;https://github.com/derek73/python-nameparser 在处理用户数据时&#xff0c;尤其是涉及到用户姓名的场景下&am…

最佳需求管理工具:2024年10大主流工具

本文将分享2024年排名靠前的10款需求管理工具&#xff1a;PingCode、Worktile、Teambition、TAPD、禅道、明道云、CODING、Jama Connect、Jira、Codebeamer。 在选择需求管理工具时&#xff0c;你是否感到不知从何下手&#xff1f;面对市场上数不清的选项&#xff0c;确定哪一款…

远程办公访问优化指南:如何打造高效企业组网

当今数字化时代&#xff0c;远程办公已成为许多企业不可或缺的工作模式。面对地理位置分散、网络环境复杂等挑战&#xff0c;如何打造高效、稳定、安全的企业组网&#xff0c;成为企业IT部门亟需解决的问题。本文将为您提供一份远程办公访问优化指南&#xff0c;帮助您构建高效…

坐牢二十天 20240731(IO)

一.作业 1> 使用父子进程完成两个文件的拷贝 父进程拷贝前一半内容&#xff0c;子进程拷贝后一半内容 子进程结束后退出&#xff0c;父进程回收子进程的资源 #include <myhead.h> //定义求源文件长度的函数 int lenmain(const char *src,const char *dst) {int fd…

各类基于虚拟主机的应用及上线商城系统

一、基于域名访问 查看没有空行&#xff0c;没有注释的文件内容 [rootweb ~]# grep -Ev "#|^$" /usr/local/nginx/conf/nginx.conf [rootweb ~]# cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak [rootweb ~]# grep -Ev "#|^$"…

temu插件丨temu插件下载免费体验-特喵数据

在当今这个日新月异的电商时代&#xff0c;每一个细微的洞察都可能是商家决胜千里的关键。随着跨境电商平台的蓬勃兴起&#xff0c;Temu作为一股不可忽视的新兴力量&#xff0c;正以其独特的模式和强大的数据分析能力&#xff0c;引领着行业的新风尚。接下来看看让您的Temu店铺…

解决TensorFlow非法指令 (核心已转储)问题

背景 测试环境使用TensorFlow 1.14.0运行实体抽取和事项要素项目正常&#xff0c;打包项目和miniconda3环境进行部署&#xff0c;进行predict时报错。然后使用dockerfile生成环境镜像进行部署&#xff0c;发现仍报错。最后查资料解决该问题。 Using TensorFlow backend. 非法指…

《CSS创意项目实战指南》:点亮网页,从实战中掌握CSS的无限创意

CSS创意项目实战指南 在数字时代&#xff0c;网页不仅是信息的载体&#xff0c;更是艺术与技术的融合体。通过CSS&#xff0c;你可以将平凡的网页转变为引人入胜的视觉盛宴&#xff0c;让用户体验跃升至全新高度。《CSS创意项目实战指南》正是这样一本引领你探索CSS无限可能的…

【全志H616开发】SQLite打开/创建数据库的C接口

文章目录 打开/创建数据库的C接口函数介绍sqlite3_open函数sqlite3_close函数sqlite3_errmsg函数 代码示例 打开/创建数据库的C接口函数介绍 sqlite3_open函数 sqlite3_open 是 SQLite 数据库库中的一个函数&#xff0c;用于打开一个新的数据库连接。如果指定的数据库文件不存…

大厂linux面试题攻略一之网络基础

一、网络基础类面试题 1.简述ISO/OSI七层模型&#xff08;理论模型&#xff09;的分层与作用 ISO&#xff1a;国际标准化组织 OSI&#xff1a;开放系统互联 第7层应用层&#xff1a;为用户提供服务&#xff0c;给用户一个操作界面 第6层表示层&#xff1a;数据提供表示、加密…

从零入门 AI for Science(AI+药物) #Datawhale AI 夏令营 Task2

书接上回: 从零入门 AI for Science&#xff08;AI药物) #Datawhale AI 夏令营 Task2 前面了解了赛题&#xff0c;这个主要讲baseline代码&#xff0c;入门RNN和特征工程 解读官方baseline set_random_seed 统一设置随机种子 def set_random_seed(seed):"""设…