当前位置: 首页 > news >正文

文生视频:Sora模型报告总结

作为世界模拟器的视频生成模型

我们探索视频数据生成模型的大规模训练。具体来说,我们在可变持续时间、分辨率和宽高比的视频和图像上联合训练文本条件扩散模型。我们利用对视频和图像潜在代码的时空补丁进行操作的变压器架构。我们最大的模型 Sora 能够生成一分钟的高保真视频。我们的结果表明,扩展视频生成模型是构建物理世界通用模拟器的一条有前途的途径。

总结:Sora包含了DALL·E 3 的recaption技术 + 图像/视频Patches + Transformers + Latent Diffusion + 原始数据分辨率训练

资源:查看 Sora 概览

视频生成, 索拉, 里程碑, 发布

Sora文生视频

本技术报告重点关注(1)我们将所有类型的视觉数据转化为统一表示的方法,从而能够大规模训练生成模型,以及(2)对 Sora 的能力和局限性进行定性评估。本报告不包含模型和实施细节。

许多先前的工作已经研究了使用各种方法对视频数据进行生成建模,包括循环网络、1 ,2 ,3生成对抗网络,4 ,5 ,6 ,7自回归变压器,8 ,9和扩散模型。10 ,11、12这些作品通常关注一小类视觉数据、较短的视频或固定大小的视频。Sora 是视觉数据的通用模型,它可以生成不同时长、长宽比和分辨率的视频和图像,最多可达一分钟的高清视频。

将视觉数据转化为补丁

我们从大型语言模型中获得灵感,这些模型通过互联网规模数据的训练来获得通用能力。13、14LLM 范式的成功部分归功于令牌的使用, 这些令牌优雅地统一了文本代码、数学和各种自然语言的不同模式。在这项工作中,我们考虑视觉数据的生成模型如何继承这些好处。LLM 有文本标记,而 Sora 有视觉补丁。此前,补丁已被证明是视觉数据模型的有效表示。15 ,16 ,17、18我们发现补丁是一种高度可扩展且有效的表示形式,可用于在不同类型的视频和图像上训练生成模型。

人物补丁

在较高的层次上,我们首先将视频压缩到较低维的潜在空间,将视频转换为补丁,19然后将表示分解为时空补丁。

视频压缩网络

我们训练一个降低视觉数据维度的网络。20该网络将原始视频作为输入并输出在时间和空间上压缩的潜在表示。Sora 在这个压缩的潜在空间中接受训练并随后生成视频。我们还训练了相应的解码器模型,将生成的潜伏映射回像素空间。

时空潜在斑块

给定一个压缩的输入视频,我们提取一系列时空补丁,充当变压器令牌。该方案也适用于图像,因为图像只是具有单帧的视频。我们基于补丁的表示使 Sora 能够对不同分辨率、持续时间和长宽比的视频和图像进行训练。在推理时,我们可以通过在适当大小的网格中排列随机初始化的补丁来控制生成视频的大小。

用于视频生成的缩放变压器

Sora是一个扩散模型21、22、23、24、25; 给定输入噪声补丁(以及文本提示等调节信息),它被训练来预测原始的“干净”补丁。重要的是,Sora 是一个扩散变压器。26Transformer 在各个领域都表现出了卓越的扩展特性,包括语言建模、13、14计算机视觉,15 ,16 ,17、18和图像生成。27、28 ,29

图扩散

在这项工作中,我们发现扩散变压器也可以有效地缩放为视频模型。下面,我们展示了训练过程中具有固定种子和输入的视频样本的比较。随着训练计算的增加,样本质量显着提高。

在这里插入图片描述

可变的持续时间、分辨率、宽高比

过去的图像和视频生成方法通常会将视频调整大小、裁剪或修剪为标准尺寸,例如,分辨率为 256x256 的 4 秒视频。我们发现,对原始大小的数据进行训练有几个好处。

采样灵活性

Sora 可以采样宽屏 1920x1080p 视频、垂直 1080x1920 视频以及介于两者之间的所有视频。这使得 Sora 可以直接以其原生宽高比为不同设备创建内容。它还使我们能够在以全分辨率生成之前快速以较低尺寸制作原型内容 - 所有这些都使用相同的模型。

改进的框架和构图

我们根据经验发现,以原始长宽比对视频进行训练可以改善构图和取景。我们将 Sora 与将所有训练视频裁剪为正方形的模型版本进行比较,这是训练生成模型时的常见做法。在方形作物(左)上训练的模型有时会生成仅部分可见主体的视频。相比之下,Sora(右)的视频取景有所改善。

语言理解

训练文本到视频生成系统需要大量带有相应文本字幕的视频。我们应用了 DALL·E 3 中引入的重新字幕技术30到视频。我们首先训练一个高度描述性的字幕生成器模型,然后使用它为训练集中的所有视频生成文本字幕。我们发现,对高度描述性视频字幕进行训练可以提高文本保真度以及视频的整体质量。

与 DALL·E 3 类似,我们还利用 GPT 将简短的用户提示转换为较长的详细字幕,然后发送到视频模型。这使得 Sora 能够生成准确遵循用户提示的高质量视频。

通过图像和视频进行提示

上面和我们的着陆页中的所有结果都显示文本到视频的示例。但 Sora 也可以通过其他输入进行提示,例如预先存在的图像或视频。此功能使 Sora 能够执行各种图像和视频编辑任务 - 创建完美的循环视频、动画静态图像、及时向前或向后扩展视频等。

DALL·E 图像动画

Sora 能够生成提供图像和提示作为输入的视频。下面我们展示基于DALL·E 2生成的示例视频31和达尔·E 330图片。
在这里插入图片描述

一只戴着贝雷帽和黑色高领毛衣的柴犬。

在这里插入图片描述

不同家族怪物的平面设计风格的怪物插图。该群体包括一个毛茸茸的棕色怪物、一个带有天线的光滑黑色怪物、一个有斑点的绿色怪物和一个小圆点怪物,所有怪物都在一个有趣的环境中互动。

img

写有“SORA”的现实云的图像。

img

在一座华丽的历史大厅里,巨大的浪潮达到顶峰并开始崩塌。两名冲浪者抓住时机,熟练地驾驭海浪。

扩展生成的视频

Sora 还能够在时间上向前或向后扩展视频。下面是四个视频,它们都是从生成的视频片段开始向后延伸的。因此,这四个视频的开头都不同,但所有四个视频的结局都是相同的。

我们可以使用此方法向前和向后扩展视频以产生无缝的无限循环。

视频到视频编辑

扩散模型启用了多种根据文本提示编辑图像和视频的方法。下面我们应用其中一种方法,SDEdit,32到索拉。这项技术使 Sora 能够零镜头地改变输入视频的风格和环境。

在这里插入图片描述

输入视频

将设置更改为茂密的丛林将场景更改为 1920 年代的旧校车。确保保持红色让它进入水下将视频设置更改为与山不同?也许是约书亚树?将视频放在有彩虹路的太空中保持视频不变,但将时间设为冬天以粘土动画风格制作以炭笔画的风格重新创作,确保是黑白的将设置更改为赛博朋克将视频更改为中世纪主题让它有恐龙以像素艺术风格重写视频

连接视频

我们还可以使用 Sora 在两个输入视频之间逐渐进行插值,从而在具有完全不同主题和场景构成的视频之间创建无缝过渡。在下面的示例中,中心的视频插值在左侧和右侧的相应视频之间。

图像生成能力

Sora 还能够生成图像。我们通过在时间范围为一帧的空间网格中排列高斯噪声块来实现这一点。该模型可以生成各种尺寸的图像,分辨率高达 2048x2048。
在这里插入图片描述

新兴的模拟功能

我们发现,视频模型在大规模训练时表现出许多有趣的新兴功能。这些功能使 Sora 能够模拟现实世界中人、动物和环境的某些方面。这些属性的出现对 3D、物体等没有任何明确的归纳偏差——它们纯粹是尺度现象。

3D 一致性。 Sora 可以生成带有动态摄像机运动的视频。随着摄像机的移动和旋转,人和场景元素在三维空间中一致移动。

远程相干性和物体持久性。 视频生成系统面临的一个重大挑战是在采样长视频时保持时间一致性。我们发现 Sora 通常(尽管并非总是)能够有效地对短期和长期依赖关系进行建模。例如,我们的模型可以保留人、动物和物体,即使它们被遮挡或离开框架。同样,它可以在单个样本中生成同一角色的多个镜头,并在整个视频中保持其外观。

与世界互动。 索拉有时可以用简单的方式模拟影响世界状况的动作。例如,画家可以在画布上留下新的笔触,并随着时间的推移而持续存在,或者一个人可以吃汉堡并留下咬痕。

模拟数字世界。 Sora 还能够模拟人工过程——一个例子是视频游戏。Sora 可以同时通过基本策略控制《我的世界》中的玩家,同时以高保真度渲染世界及其动态。这些能力可以通过用提及“我的世界”的标题提示 Sora 来零射击。

这些功能表明,视频模型的持续扩展是开发物理和数字世界以及生活在其中的物体、动物和人的高性能模拟器的一条有前途的道路。

讨论

Sora 目前作为模拟器表现出许多局限性。例如,它不能准确地模拟许多基本相互作用的物理过程,例如玻璃破碎。其他交互(例如吃食物)并不总是会产生对象状态的正确变化。我们在登陆页面中列举了模型的其他常见故障模式,例如长时间样本中出现的不连贯性或对象的自发出现。

我们相信,Sora 今天所拥有的能力表明,视频模型的持续扩展是开发物理和数字世界以及生活在其中的物体、动物和人的强大模拟器的一条有前途的道路。

参考

  1. 斯里瓦斯塔瓦、尼蒂什、埃尔曼·曼西莫夫和鲁斯兰·萨拉胡迪诺夫。“使用 lstms 进行视频表示的无监督学习。” 机器学习国际会议。PMLR,2015。↩︎
  2. 奇亚帕、西尔维娅等人。“循环环境模拟器。” arXiv 预印本 arXiv:1704.02254 (2017)。↩︎
  3. 哈,大卫和尤尔根·施米德胡贝尔。“世界模特。” arXiv 预印本 arXiv:1803.10122 (2018)。↩︎
  4. 冯德里克、卡尔、哈米德·皮尔西亚瓦什和安东尼奥·托拉尔巴。“生成具有场景动态的视频。” 神经信息处理系统的进展 29 (2016)。↩︎
  5. 图利亚科夫,谢尔盖,等人。“Mocogan:分解运动和内容以生成视频。” IEEE 计算机视觉和模式识别会议论文集。2018. ↩︎
  6. 克拉克、艾丹、杰夫·多纳休和凯伦·西蒙尼安。“复杂数据集上的对抗性视频生成。” arXiv 预印本 arXiv:1907.06571 (2019)。↩︎
  7. 布鲁克斯、蒂姆等人。“生成动态场景的长视频。” 神经信息处理系统的进展 35 (2022): 31769-31781。↩︎
  8. 严,威尔逊,等人。“Videogpt:使用 vq-vae 和 Transformer 生成视频。” arXiv 预印本 arXiv:2104.10157 (2021)。↩︎
  9. 吴晨飞,等。“女娲:神经视觉世界创建的视觉合成预训练。” 欧洲计算机视觉会议。Cham:施普林格自然瑞士,2022。↩︎
  10. 何乔纳森等人。“Imagen 视频:使用扩散模型生成高清视频。” arXiv 预印本 arXiv:2210.02303 (2022)。↩︎
  11. 布拉特曼、安德烈亚斯等人。“对齐你的潜在特征:高分辨率视频合成与潜在扩散模型。” IEEE/CVF 计算机视觉和模式识别会议论文集。2023.↩︎ _
  12. 古普塔、阿格里姆等人。“使用扩散模型生成逼真的视频。” arXiv 预印本 arXiv:2312.06662 (2023)。↩︎
  13. 瓦斯瓦尼、阿什什等人。“你所需要的就是注意力。” 神经信息处理系统的进展30 (2017)。↩︎ ↩︎
  14. 布朗、汤姆等人。“语言模型是小样本学习者。” 神经信息处理系统的进展33(2020):1877-1901。↩︎ ↩︎
  15. 多索维茨基,阿列克谢,等人。“一张图像相当于 16x16 个单词:用于大规模图像识别的 Transformer。” arXiv 预印本 arXiv:2010.11929 (2020)。↩︎ ↩︎
  16. 阿纳布、阿努拉格等人。“Vivit:视频视觉转换器。” IEEE/CVF 计算机视觉国际会议论文集。2021. ↩︎ ↩︎
  17. 他,凯明,等人。“蒙面自动编码器是可扩展的视觉学习器。” IEEE/CVF 计算机视觉和模式识别会议论文集。2022. ↩︎ ↩︎
  18. 德加尼、穆斯塔法等人。“Patch n’Pack:NaViT,适用于任何宽高比和分辨率的视觉转换器。” arXiv 预印本 arXiv:2307.06304 (2023)。↩︎ ↩︎
  19. 罗姆巴赫、罗宾等人。“利用潜在扩散模型进行高分辨率图像合成。” IEEE/CVF 计算机视觉和模式识别会议论文集。2022.↩︎ _
  20. Kingma、Diederik P. 和马克斯·威灵。“自动编码变分贝叶斯。” arXiv 预印本 arXiv:1312.6114 (2013)。↩︎
  21. 索尔-迪克斯坦、贾沙等人。“利用非平衡热力学进行深度无监督学习。” 机器学习国际会议。PMLR,2015。↩︎
  22. 何乔纳森、阿杰·贾恩和彼得·阿贝尔。“去噪扩散概率模型。” 神经信息处理系统的进展33(2020):6840-6851。↩︎
  23. 尼科尔、亚历山大·奎因和普拉富拉·达里瓦尔。“改进的去噪扩散概率模型。” 国际机器学习会议。PMLR,2021。↩︎
  24. 达里瓦尔、普拉富拉和亚历山大·奎因·尼科尔。“扩散模型在图像合成方面击败了 GAN。” 神经信息处理系统的进展。2021.↩︎ _
  25. 卡拉斯、泰罗等人。“阐明基于扩散的生成模型的设计空间。” 神经信息处理系统的进展35 (2022): 26565-26577。↩︎
  26. 皮布尔斯、威廉和谢赛宁。“带有变压器的可扩展扩散模型。” IEEE/CVF 国际计算机视觉会议论文集。2023.↩︎ _
  27. 陈、马克等人。“从像素进行生成预训练。” 机器学习国际会议。PMLR,2020。↩︎
  28. 拉梅什、阿迪亚等人。“零镜头文本到图像生成。” 国际机器学习会议。PMLR,2021。↩︎
  29. 于家辉,等。“扩展自回归模型以生成内容丰富的文本到图像。” arXiv 预印本 arXiv:2206.10789 2.3 (2022): 5. ↩︎
  30. 贝特克、詹姆斯等人。“通过更好的字幕改进图像生成。” 计算机科学。https://cdn.openai.com/papers/dall-e-3。pdf 2.3 (2023): 8 ↩︎ ↩︎
  31. 拉梅什、阿迪亚等人。“具有剪辑潜在特征的分层文本条件图像生成。” arXiv 预印本 arXiv:2204.06125 1.2 (2022): 3. ↩︎
  32. 孟陈林,等。“Sdedit:使用随机微分方程引导图像合成和编辑。” arXiv 预印本 arXiv:2108.01073 (2021)。↩︎

相关文章:

文生视频:Sora模型报告总结

作为世界模拟器的视频生成模型 我们探索视频数据生成模型的大规模训练。具体来说,我们在可变持续时间、分辨率和宽高比的视频和图像上联合训练文本条件扩散模型。我们利用对视频和图像潜在代码的时空补丁进行操作的变压器架构。我们最大的模型 Sora 能够生成一分钟…...

GA 374-2019 电子防盗锁检测

电子防盗锁是指以电子方式识别,处理相关信息并控制执行机构实施启闭且达到规定安全级别的锁具。 GA 374-2019 电子防盗锁检测项目 测试项目 测试标准 外观 GA 374 外壳防护等级 GA 374 功能 GA 374 编码组合数 GA 374 主锁舌伸出长度 GA 374 主锁舌灵活…...

代码随想录day26 Java版

今天开始刷贪心算法,新手保护期中爽得一批 455.分发饼干 先把两个数组排序,采用先满足胃口小的孩子,饼干数组无条件向后扫描,能满足孩子后再向后扫描胃口数组 class Solution {public int findContentChildren(int[] g, int[] …...

英文论文(sci)解读复现【NO.21】一种基于空间坐标的轻量级目标检测器无人机航空图像的自注意

此前出了目标检测算法改进专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读发表高水平学术期刊中的 SCI论文&a…...

数据集合

目录 并集 union union all 区别 交集 intersect 差集 minus 错误操作 Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 常用的数学集合有:交集、并集、差集、补集 每一次查询实际上都会返回数据集合,…...

php基础学习之作用域和静态变量

作用域 变量(常量)能够被访问的区域,变量可以在常规代码中定义,也可以在函数内部定义 变量的作用域 在 PHP 中作用域严格来说分为两种,但是 PHP内部还定义一些在严格意义之外的一种,所以总共算三种—— 局部…...

SP1:基于Plonky3构建的zkVM

1. 引言 SP1为SuccictLab开源的,基于Plonky3构建的zkVM。 开源代码见: https://github.com/succinctlabs/sp1(Rust) 当前暂未实现onchain-verifier,但会采用标准的STARK->SNARK verifier。 SP1 zkVM基于的指令…...

Python爬虫之文件存储#5

爬虫专栏:http://t.csdnimg.cn/WfCSx 文件存储形式多种多样,比如可以保存成 TXT 纯文本形式,也可以保存为 JSON 格式、CSV 格式等,本节就来了解一下文本文件的存储方式。 TXT 文本存储 将数据保存到 TXT 文本的操作非常简单&am…...

Spring Boot 笔记 012 创建接口_添加文章分类

1.1.1 实体类添加校验 package com.geji.pojo;import jakarta.validation.constraints.NotEmpty; import lombok.Data;import java.time.LocalDateTime;Data public class Category {private Integer id;//主键IDNotEmptyprivate String categoryName;//分类名称NotEmptypriva…...

Spring-面试题

一、Spring 1、Spring的优势 通过IOC、AOP简化java开发 IOC减低业务对象替换的复杂性,降低耦合AOP允许将一些通用的事务、日志进行集中处理,从而提高更好的复用性Spring生态圈低嵌入式涉及,代码污染小高度开放性,用的人多2、Spring的核心 IOC控制反转: Spring容器为我们创…...

Flink理论—容错之状态

Flink理论—容错之状态 在 Flink 的框架中,进行有状态的计算是 Flink 最重要的特性之一。所谓的状态,其实指的是 Flink 程序的中间计算结果。Flink 支持了不同类型的状态,并且针对状态的持久化还提供了专门的机制和状态管理器。 Flink 使用…...

【数据结构】链表OJ面试题5《链表的深度拷贝》(题库+解析)

1.前言 前五题在这http://t.csdnimg.cn/UeggB 后三题在这http://t.csdnimg.cn/gbohQ 给定一个链表,判断链表中是否有环。http://t.csdnimg.cn/Rcdyc 给定一个链表,返回链表开始入环的第一个结点。 如果链表无环,则返回 NULLhttp://t.cs…...

智慧校园规划建设方案

校园信息化建设呈现智能化、应用多样化发展趋势,多种技术和应用交叉渗透至校园生活的各个方面,全面的智慧校园时代已经到来。 对智慧校园的四大应用领域分析 智慧的教学 信息共享交互:建立信息发布、共享、传播与交互的公共平台 教学流程…...

003 - Hugo, 创建文章

003 - Hugo, 创建文章创建文章单个md文件md文件图片总结 文章内容Front Matter文章目录数学公式的显示KaTeXMathJax 图片 003 - Hugo, 创建文章 创建文章 单个md文件 创建文章的方式: 手动创建:在post目录下,手动创建md文件。命令创建&am…...

HCIA-HarmonyOS设备开发认证V2.0-IOT硬件子系统-GPIO

目录 一、GPIO 概述二、GPIO模块相关API三、实例四、GPIO HDF驱动开发4.1、LED驱动程序(待续...)4.2、LED驱动配置(待续...) 坚持就有收获 轻量系统设备通常需要进行外设控制,例如温湿度数据的采集、灯开关的控制,因此在完成内核开发后,需要进…...

《Java 简易速速上手小册》第7章:Java 网络编程(2024 最新版)

文章目录 7.1 网络基础和 Java 中的网络 - 揭开神秘的面纱7.1.1 基础知识7.1.2 重点案例:实现一个简单的聊天程序7.1.3 拓展案例 1:使用 UDP 进行消息广播7.1.4 拓展案例 2:建立一个简单的 Web 服务器 7.2 创建客户端和服务器 - 构建沟通的桥…...

用keras对电影评论进行情感分析

文章目录 下载IMDb数据读取IMDb数据建立分词器将评论数据转化为数字列表让转换后的数字长度相同加入嵌入层建立多层感知机模型加入平坦层加入隐藏层加入输出层查看模型摘要 训练模型评估模型准确率进行预测查看测试数据预测结果完整函数用RNN模型进行IMDb情感分析用LSTM模型进行…...

每日OJ题_算法_递归④力扣24. 两两交换链表中的节点

目录 ④力扣24. 两两交换链表中的节点 解析代码 ④力扣24. 两两交换链表中的节点 24. 两两交换链表中的节点 难度 中等 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即…...

110 C++ decltype含义,decltype 主要用途

一,decltype 含义和举例 decltype有啥返回啥,auto则不一样,auto可能会舍弃一些东西。 decltype 是 C11提出的说明符。主要作用是:返回操作数的数据类型。 decltype 是用来推导类型,decltype对于一个给定的 变量名或…...

PYTHON 120道题目详解(85-87)

85.Python中如何使用enumerate()函数获取序列的索引和值? enumerate()函数是Python的内置函数,它可以将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。 以下是一个…...

【Linux】Linux编译器-gcc/g++ Linux项目自动化构建工具-make/Makefile

目录 Linux编译器-gcc/g使用 1.背景知识 Linux中头文件的目录在 Linux 库 条件编译的典型应用 2.gcc如何完成 动态库 vs 静态库 debug && release Linux项目自动化构建工具-make/Makefile 背景 用法 特殊符号 Linux编译器-gcc/g使用 1.背景知识 预处理&am…...

sqlserver 子查询 =,in ,any,some,all的用法

在 SQL Server 中,子查询常用于嵌套在主查询中的子句中,以便根据子查询的结果集来过滤主查询的结果,或者作为主查询的一部分来计算结果。 以下是 、IN、ANY、SOME 和 ALL 运算符在子查询中的用法示例: 使用 运算符进行子查询&a…...

基于MapVGL的地理信息三维度数据增长可视化

写在前面 工作中接触,简单整理博文内容为 基于MapVGL的地理信息维度数据增长可视化 Demo理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都…...

天锐绿盾|防泄密系统|计算机文件数据\资料安全管理软件

“天锐绿盾”似乎是一款专注于防泄密和计算机文件数据/资料安全管理的软件。在信息安全日益受到重视的今天,这样的软件对于保护企业的核心数据资产和防止敏感信息泄露至关重要。 通用地址:www.drhchina.com 防泄密系统的主要功能通常包括: 文…...

leetcode刷题(罗马数字转数字)

1.题目描述 2.解题思路 这时候已经给出了字母对应的数字,我们只需要声明一个字典,将罗马数字和数字之间的对应关系声明即可。其中可能涉及到会出现两个连续的罗马字母代表一个数字,这时候我们需要判断遍历的字符和将要遍历的下一个字符是否存…...

什么是NAT网关?联通云NAT网关有什么优势

在当今云计算时代,网络安全和连接性是企业发展的关键因素之一。NAT网关(Network Address Translation Gateway)是一种网络设备,它可以在私有网络和公共网络之间进行地址转换,从而使得内部网络中的设备能够与外部网络进…...

CVE-2023-41892 漏洞复现

CVE-2023-41892 开题,是一个RCE Thanks for installing Craft CMS! You’re looking at the index.twig template file located in your templates/ folder. Once you’re ready to start building out your site’s front end, you can replace this with someth…...

【每日一题】06 排序链表

问题描述 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 求解 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* sortList(struct ListNode* head) {struct…...

【精品】关于枚举的高级用法

枚举父接口 public interface BaseEnum {Integer getCode();String getLabel();/*** 根据值获取枚举** param code* param clazz* return*/static <E extends Enum<E> & BaseEnum> E getEnumByCode(Integer code, Class<E> clazz) {Objects.requireNonN…...

Vue2学习第一天

Vue2 学习第一天 1. 什么是 vue? Vue 是一套用于构建用户界面的渐进式框架。 2. vue 历史 vue 是在 2013 年创建的&#xff0c;vue3 是 2020 出现的&#xff0c;现在主要是用 vue2&#xff0c;创新公司用的是 vue3 vue 的作者是尤雨溪&#xff0c;vue 的搜索热度比 react…...

HAL STM32通过multi_button库处理按键事件

HAL STM32通过multi_button库处理按键事件 &#x1f4cd;作者&#xff1a;0x1abin的multi_button库:https://github.com/0x1abin/MultiButton &#x1f4d8;MultiButton简介 MultiButton 是一个小巧简单易用的事件驱动型按键驱动模块&#xff0c;可无限量扩展按键&#xff0c;…...

随机过程及应用学习笔记(一)概率论(概要)

概率是随机的基础&#xff0c;在【概率论&#xff08;概要&#xff09;】这个部分中仅记录学习随机过程及应用的基本定义和结果。 前言 首先&#xff0c;概率论研究的基础是概率空间。概率空间由一个样本空间和一个概率测度组成&#xff0c;样本空间包含了所有可能的结果&…...

洛谷_P1059 [NOIP2006 普及组] 明明的随机数_python写法

这道题的关键在于去重和排序&#xff0c;去重可以联想到集合&#xff0c;那排序直接使用sort方法。 n int(input()) data set(map(int,input().split( ))) data list(data) data.sort() print(len(data)) for i in data:print(i,end )...

爆火的人工智能开源open-interpreter源码解析

今天这篇文章带大家一起来阅读下github上爆火的开源项目 open-interpreter的源代码&#xff0c;相当于是一个可以本地部署的openai code-interpreter。 今天这期我们透过现象看本质&#xff0c;一起来剖析下他的源码。 体验open-interpreter的视频地址 open-interpreter&…...

POM设计模式思路,详解POM:概述与介绍,POM思路梳理+代码示例(全)

概述 在UI自动化测试中&#xff0c;POM模式是一种设计思路&#xff0c;它的核心思想是方法的封装。它将方法类和页面元素进行分离&#xff0c;增强了代码的可维护性。值得注意的是&#xff0c;这种分层的设计模式&#xff0c;最好也是从线性代码开始&#xff0c;逐步将代码进行…...

1、学习 Eureka 注册中心

学习 Eureka 注册中心 一、创建 Eureka 微服务0、SpringBoot 和 SpringCloud 版本1、引入 Eureka 服务端依赖2、启动类加 EnableEurekaServer 注解3、配置 yaml 文件&#xff0c;把 Eureka 服务注册到 Eureka 注册中心4、访问 Eureka 服务端&#xff0c;查看注册中心的服务列表…...

何为分账系统?

1、分账系统产生的背景 在数字化浪潮下第三方支付价值凸显&#xff0c;大大提升资金流与信息流流转效率&#xff0c;成为构建产业数字化重要枢纽。近年来&#xff0c;基于云计算、大数据、人工智能、物联网等技术积累&#xff0c;以第三方支付为切点的金融科技创新爆发着强大的…...

机器学习10-特征缩放

特征缩放的目的是确保不同特征的数值范围相近&#xff0c;使得模型在训练过程中更加稳定&#xff0c;加速模型收敛&#xff0c;提高模型性能。具体而言&#xff0c;零均值和单位方差的目标有以下几点好处&#xff1a; 1. 均值为零&#xff08;Zero Mean&#xff09;&#xff1a…...

Java基于微信小程序的医院挂号小程序,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…...

HarmonyOS一杯冰美式的时间 -- 验证码框

一、前言 像是短密码、验证码都有可能需要一个输入框&#xff0c;像是如下&#xff1a; 恰好在写HarmonyOS的时候也需要写一个验证码输入框&#xff0c;但是在实现的时候碰了几次灰&#xff0c;觉得有必要分享下&#xff0c;故有了此篇文章。 如果您有任何疑问、对文章写的不…...

GitLab配置SSHKey

段落一&#xff1a;什么是SSH密钥 SSH&#xff08;Secure Shell&#xff09;是一种网络协议&#xff0c;用于安全地远程登录和执行命令。SSH密钥是一种用于身份验证的加密文件&#xff0c;它允许您在与远程服务器通信时&#xff0c;无需输入密码即可进行认证。在GitLab中配置S…...

通过QT制作一个模仿微信主界面的界面(不要求实现具体通信功能)

main.cpp #include "widget.h" #include "second.h"#include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();//实例化第二个界面Second s;QObject::connect(&w, &Widget::my_jump, &…...

作物模型狂奔:WOFOST(PCSE) 数据同化思路

去B吧&#xff0c;这里没图 整体思路&#xff1a;PCSE -》 敏感性分析 -》调参 -》同化 0、准备工作 0.0 电脑环境 我用的Win10啦&#xff0c;Linux、Mac可能得自己再去微调一下。 0.1 Python IDE 我用的Pycharm&#xff0c;个人感觉最好使的IDE&#xff0c;没有之一。 …...

腾讯云4核8G服务器能支持多少人访问?

腾讯云4核8G服务器支持多少人在线访问&#xff1f;支持25人同时访问。实际上程序效率不同支持人数在线人数不同&#xff0c;公网带宽也是影响4核8G服务器并发数的一大因素&#xff0c;假设公网带宽太小&#xff0c;流量直接卡在入口&#xff0c;4核8G配置的CPU内存也会造成计算…...

多重背包问题 ⅠⅡ Ⅲ

有 N 种物品和一个容量是 V 的背包。 第 i 种物品最多有 si 件&#xff0c;每件体积是 vi&#xff0c;价值是 wi。 求解将哪些物品装入背包&#xff0c;可使物品体积总和不超过背包容量&#xff0c;且价值总和最大。 输出最大价值。 输入 第一行两个整数&#xff0c;N&#xf…...

挑战杯 python的搜索引擎系统设计与实现

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; python的搜索引擎系统设计与实现 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;5分创新点&#xff1a;3分 该项目较为新颖&#xff…...

【LeetCode: 103. 二叉树的锯齿形层序遍历 + BFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…...

C#学习(十三)——多线程与异步

一、什么是线程 程序执行的最小单元 一次页面的渲染、一次点击事件的触发、一次数据库的访问、一次登录操作都可以看作是一个一个的进程 在一个进程中同时启用多个线程并行操作&#xff0c;就叫做多线程 由CPU来自动处理 线程有运行、阻塞、就绪三态 代码示例&#xff1a; cl…...

MySQL 数据库安装教程详解(linux系统和windows系统)

MySQL 数据库是一种广泛使用的开源关系数据库管理系统。在 Linux 和 Windows 系统上安装 MySQL 数据库的步骤略有不同。以下是详细的安装教程。 Linux 系统安装教程 1. **安装前提**&#xff1a;确保你的 Linux 系统已经安装了 wget、unzip、tar 等必要的工具。 2. **下…...

从汇编分析C语言可变参数的原理,并实现一个简单的sprintf函数

C语言可变参数 使用printf等函数的时候函数原型是printf(const char* fmt, ...), 这一类参数的个数不限的函数是可变参数 使用 使用一个头文件stdarg.h, 主要使用以下的宏 typedef char * va_list;// 把 n 圆整到 sizeof(int) 的倍数 #define _INTSIZEOF(n) ( (sizeo…...