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

【AI论文】VideoAuteur:迈向长叙事视频

摘要:近期的视频生成模型在制作持续数秒的高质量视频片段方面已展现出令人鼓舞的成果。然而,这些模型在生成能传达清晰且富有信息量的长序列时面临挑战,限制了它们支持连贯叙事的能力。在本文中,我们提出了一个大规模烹饪视频数据集,旨在推动烹饪领域的长形式叙事生成发展。我们分别使用最先进的视觉-语言模型(VLMs)和视频生成模型,从视觉保真度和文本字幕准确性两个方面验证了所提数据集的质量。此外,我们还引入了一种长叙事视频导演方法,以增强生成视频在视觉和语义上的连贯性,并强调了对齐视觉嵌入对于提升整体视频质量的重要作用。我们的方法在生成视觉细节丰富且语义对齐的关键帧方面取得了显著改进,这得益于在视频生成过程中融合了文本和图像嵌入的微调技术。项目页面:Towards Long Narrative Video Generation Huggingface链接:Paper page,论文链接:2501.06173

1. 引言

视频生成模型的现状

  • 近年来,视频生成模型在生成高质量、持续数秒的视频片段方面取得了显著进展。这些模型主要分为扩散模型和自回归模型两大类,前者如DiT、Sora和CogVideo等,后者如VideoPoet和Emu系列。这些模型能够生成逼真的视频内容,但在生成能够传达清晰且连贯叙事的长序列视频方面仍面临挑战。

长叙事视频生成的重要性

  • 叙事是人类组织经验和记忆的重要工具,对于人类社会的发展具有至关重要的作用。然而,在视频生成领域,如何生成具有完整叙事结构的长视频仍然是一个亟待解决的问题。
  • 现有的视频生成模型在生成长视频时,往往难以保持语义一致性和视觉连贯性,导致生成的视频内容缺乏逻辑性和观赏性。

研究动机与目标

  • 针对上述问题,本文提出了一种新的长叙事视频生成方法,旨在生成具有连贯叙事和丰富视觉细节的长视频。
  • 为此,本文构建了一个大规模的烹饪视频数据集CookGen,并设计了一个包含长叙事视频导演和视觉条件视频生成模型在内的VideoAuteur管道。

2. 相关工作

文本到图像/视频生成

  • 文本到图像和视频生成是计算机视觉和自然语言处理领域的热门研究方向。近年来,随着深度学习技术的不断发展,该领域取得了显著进展。然而,现有的文本到视频生成模型主要关注于生成短时间的视频片段,而缺乏对长叙事视频生成的有效支持。

交织的图像-文本建模

  • 交织的图像-文本生成是一个将视觉和文本模态相结合以产生丰富输出的研究领域。现有的交织图像-文本生成模型主要依赖于大规模图像-文本配对数据集,并通过预训练的语言模型来生成图像和文本。然而,这些模型在生成连贯的长叙事视频方面仍存在不足。

叙事视觉生成

  • 叙事视觉生成的研究重点在于确保生成图像之间的一致性。现有的方法主要采用条件生成技术,在扩散或自回归模型中生成具有连贯性的图像序列。然而,这些方法在生成长叙事视频时仍面临挑战,特别是在保持对象/角色身份跨场景一致性和生成具有复杂事件序列的语义一致性方面。

3. 长叙事视频数据

数据集概述

  • 为推动长叙事视频生成的研究,本文构建了一个大规模的烹饪视频数据集CookGen。该数据集包含约200,000个视频片段,平均每个片段持续9.5秒。
  • 数据集的视频来源于YouCook2和HowTo100M两个现有视频数据集,并经过质量过滤和字幕标注等预处理步骤。

数据标注与处理

  • 为确保数据集的质量和可扩展性,本文设计了一个高效的标注管道。对于字幕生成,本文训练了一个基于开源VLM的视频字幕生成器,并使用GPT-4和LLaVA-NeXT进行微调以优化性能。
  • 对于动作标注,本文使用HowTo100M的ASR伪标签,并通过LLMs进行细化以提高标注质量。此外,本文还实现了基于时间间隔的字幕-动作匹配和过滤过程,以确保字幕和动作的对齐。

数据集评价

  • 为评估数据集的质量,本文进行了逆视频生成和视觉理解两个方面的评价。逆视频生成实验表明,本文的字幕能够捕捉足够的语义信息以有效重建原始视频。视觉理解实验则通过GPT-4和人类评估者对字幕质量进行了评价,结果显示本文的数据集在覆盖视频元素和避免幻觉方面表现出色。

4. 方法

长叙事视频生成任务

  • 给定文本输入,长叙事视频生成的任务是生成一个与文本输入顺序一致的连贯长视频。为实现这一目标,本文提出了VideoAuteur管道,该管道包含长叙事视频导演和视觉条件视频生成两个主要组件。

长叙事视频导演

  • 长叙事视频导演负责生成一系列视觉嵌入(或关键帧),以捕捉叙事的流程。本文探索了两种类型的视频导演:交织图像-文本导演和语言中心关键帧导演。
  • 交织图像-文本导演采用自回归模型,根据累积的文本和图像上下文预测下一个令牌,从而生成连贯的叙事序列。该模型使用CLIP-Diffusion视觉自编码器将原始图像编码为视觉嵌入,并通过回归损失函数对齐生成的视觉嵌入与目标视觉嵌入。
  • 语言中心关键帧导演则仅使用文本指导来合成关键帧。尽管这种方法能够生成高保真度的图像,但缺乏在关键帧之间的细微过渡,因此相比交织图像-文本导演在连贯性方面表现较差。

视觉条件视频生成

  • 视觉条件视频生成模型利用长叙事视频导演生成的动作、字幕和视觉状态作为条件来生成连贯的长叙事视频。与传统的基于初始关键帧的视觉条件视频生成方法不同,本文的方法利用回归的视觉嵌入作为连续条件来指导视频生成过程。
  • 为提高模型对噪声视觉嵌入的鲁棒性,本文在训练过程中应用了高斯噪声、随机掩码和随机洗牌等正则化技术。这些技术有助于模型在处理不完美的视觉嵌入时生成更高质量的视频。

5. 实验

实验设置

  • 本文使用SEED-X作为基线模型,并通过LoRA微调技术在叙事数据集上进行训练。对于视频生成,本文采用了一种类似于Sora的预训练视频-文本对模型。
  • 实验数据包括约32,000个叙事视频用于模型开发,以及约1,000个视频用于验证。所有视频均被调整为448(短边)分辨率,并进行中心裁剪以得到448x448分辨率的图像。

交织叙事导演实验

  • 本文探索了不同的视觉潜在空间、损失设计和跨模态回归任务对交织自回归模型的影响。实验结果表明,使用CLIP嵌入的自动编码器在视觉生成质量方面显著优于VAE潜在空间。此外,结合MSE损失和余弦相似度损失的回归损失函数在视觉嵌入的尺度和方向上均表现出色。
  • 在从“动作”到“视觉状态”的转换过程中,本文发现从动作到语言状态再到视觉状态的推理链在长叙事视觉生成方面最为有效。

视觉条件视频生成实验

  • 与基于关键帧的条件策略相比,本文的方法在CLIP-T和FVD分数方面均表现出色。这表明使用回归的视觉嵌入作为条件能够生成更高语义对齐和质量的视频。

6. 结论

研究贡献

  • 本文构建了一个大规模的烹饪视频数据集CookGen,并设计了一个包含长叙事视频导演和视觉条件视频生成模型在内的VideoAuteur管道。这些数据集和管道为长叙事视频生成的研究提供了有力的支持。
  • 实验结果表明,本文的方法在生成视觉细节丰富且语义对齐的关键帧方面取得了显著改进。这些改进得益于在视频生成过程中融合了文本和图像嵌入的微调技术。

未来展望

  • 尽管本文的方法在长叙事视频生成方面取得了初步成果,但仍存在许多挑战和待解决的问题。例如,如何提高自动语音识别生成的动作标注的质量、如何减少视频生成模型中的幻觉现象等。未来的研究可以进一步探索这些问题,并推动长叙事视频生成技术的发展。

7. 数据集统计与案例分析

数据集统计

  • CookGen数据集包含的视频长度分布广泛,大多数视频长度在30到150秒之间。视频片段长度主要分布在5到30秒之间,每个视频被分割成4到12个片段,确保了叙事结构的平衡性。
  • 数据集中的字幕和动作标注详细且丰富,字幕长度通常在40到70词之间,动作标注长度在10到25词之间。这些详细的标注为生成连贯且富有信息量的长叙事视频提供了有力支持。

案例分析

  • 本文展示了使用VideoAuteur管道生成的烹饪视频示例,如“Fried Chicken”和“Shish Kabob”的制作过程。这些视频通过逐步展示烹饪步骤,有效地传达了烹饪过程的关键信息,并展示了模型在生成连贯且富有信息量的长叙事视频方面的能力。

8. 方法细节与实现

视觉潜在空间与回归损失

  • 本文对比了不同视觉潜在空间(如VAE、SEED-X和EMU-2)在视觉回归任务中的表现。实验结果表明,使用CLIP嵌入的自动编码器(如SEED-X和EMU-2)在视觉生成质量方面优于VAE潜在空间。
  • 在回归损失函数的设计上,本文结合了MSE损失(最小化尺度误差)和余弦相似度损失(最小化方向误差),以实现对视觉嵌入的准确回归。

模型训练与推理

  • 本文详细描述了交织自回归模型和视觉条件视频生成模型的训练和推理过程。这些过程包括模型架构的选择、超参数的设置以及训练步骤的安排等。
  • 在训练过程中,本文采用了AdamW优化器和余弦衰减学习率调度策略,并在推理过程中使用了固定的上下文对数以确保一致性。

9. 局限性与未来工作

局限性

  • 尽管本文的方法在长叙事视频生成方面取得了显著进展,但仍存在一些局限性。例如,自动语音识别生成的动作标注存在噪声和不完整性问题;视频生成模型在复杂场景和长时间序列中可能出现幻觉现象等。

未来工作

  • 针对上述局限性,未来的研究可以进一步探索如何提高动作标注的质量和准确性;如何减少视频生成模型中的幻觉现象并提高其在复杂场景和长时间序列中的表现等。此外,还可以探索将本文的方法扩展到其他领域和任务中,以推动长叙事视频生成技术的更广泛应用和发展。

相关文章:

【AI论文】VideoAuteur:迈向长叙事视频

摘要:近期的视频生成模型在制作持续数秒的高质量视频片段方面已展现出令人鼓舞的成果。然而,这些模型在生成能传达清晰且富有信息量的长序列时面临挑战,限制了它们支持连贯叙事的能力。在本文中,我们提出了一个大规模烹饪视频数据…...

pytorch基于FastText实现词嵌入

FastText 是 Facebook AI Research 提出的 改进版 Word2Vec,可以: ✅ 利用 n-grams 处理未登录词 比 Word2Vec 更快、更准确 适用于中文等形态丰富的语言 完整的 PyTorch FastText 代码(基于中文语料),包含&#xff1…...

PyTorch API 详细中文文档,基于PyTorch2.5

PyTorch API 详细中文文档 按模块分类,涵盖核心函数与用法示例 目录 张量操作 (Tensor Operations)数学运算 (Math Operations)自动求导 (Autograd)神经网络模块 (torch.nn)优化器 (torch.optim)数据加载与处理 (torch.utils.data)设备管理 (Device Management)模…...

leetcode 2300. 咒语和药水的成功对数

题目如下 数据范围 示例 注意到n和m的长度最长达到10的5次方所以时间复杂度为n方的必然超时。 因为题目要求我们返回每个位置的spell对应的有效对数所以我们只需要找到第一个有效的药水就行,这里可以先对potions排序随后使用二分查找把时间复杂度压到nlogn就不会…...

C# 实现 “Hello World” 教程

.NET学习资料 .NET学习资料 .NET学习资料 C# 作为一种广泛应用于.NET 开发的编程语言,以其简洁、高效和类型安全等特性,深受开发者喜爱。在踏入 C# 编程领域时,编写经典的 “Hello World” 程序是重要的起点,它能帮助我们快速熟…...

Elasticsearch——Elasticsearch性能优化实战

摘要 本文主要介绍了 Elasticsearch 性能优化的实战方法,从硬件配置优化、索引优化设置、查询方面优化、数据结构优化以及集群架构设计等五个方面进行了详细阐述,旨在帮助读者提升 Elasticsearch 的性能表现。 1. 硬件配置优化 升级硬件设备配置一直都…...

CentOS 7 搭建lsyncd实现文件实时同步 —— 筑梦之路

在 CentOS 7 上搭建 lsyncd(Live Syncing Daemon)以实现文件的实时同步,可以按照以下步骤进行操作。lsyncd 是一个基于 inotify 的轻量级实时同步工具,支持本地和远程同步。以下是详细的安装和配置步骤: 1. 系统准备 …...

pytorch实现变分自编码器

人工智能例子汇总:AI常见的算法和例子-CSDN博客 变分自编码器(Variational Autoencoder, VAE)是一种生成模型,属于深度学习中的无监督学习方法。它通过学习输入数据的潜在分布(Latent Distribution)&…...

【数据结构】初识链表

顺序表的优缺点 缺点: 中间/头部的插入删除,时间复杂度效率较低,为O(N) 空间不够的时候需要扩容。 如果是异地扩容,增容需要申请新空间,拷贝数据,释放旧空间,会有不小的消耗。 扩容可能会存在…...

【llm对话系统】大模型 Llama 源码分析之并行训练方案

1. 引言 训练大型语言模型 (LLM) 需要巨大的计算资源和内存。为了高效地训练这些模型,我们需要采用各种并行策略,将计算和数据分布到多个 GPU 或设备上。Llama 作为当前最流行的开源大模型之一,其训练代码中采用了多种并行技术。本文将深入 …...

S4 HANA税码科目确定(OB40)

本文主要介绍在S4 HANA OP中税码科目确定(OB40)相关设置。具体请参照如下内容: 税码科目确定(OB40) 在以上界面维护“Transaction Key”的记账码。 在以上界面进一步维护“Transaction Key”确定科目的规则。 Chart of Account:用于明确该规则适用于什么科目表。 …...

Mysql的主从复制及扩展功能

一、配置过程 1.配置master vim /etc/my.cnf [mysqld] datadir/data/mysql 指定数据库文件的存储位置 socket/data/mysql/mysql.sock symbolic-links0 log-binmysql-bin 启用二进制日志,用于记录数据库的更…...

C#,入门教程(10)——常量、变量与命名规则的基础知识

上一篇: C#,入门教程(09)——运算符的基础知识https://blog.csdn.net/beijinghorn/article/details/123908269 C#用于保存计算数据的元素,称为“变量”。 其中一般不改变初值的变量,称为常变量,简称“常量”。 无论…...

ideal的maven使用(两种方法)

方法一: 1.建立一个maven项目 2.像上一篇博客,重新配置一下maven即可 方法二:模块和项目选项一样:...

doris:导入时实现数据转换

Doris 在数据导入时提供了强大的数据转换能力,可以简化部分数据处理流程,减少对额外 ETL 工具的依赖。主要支持以下四种转换方式: 列映射:将源数据列映射到目标表的不同列。 列变换:使用函数和表达式对源数据进行实时…...

开源智慧园区管理系统对比五款主流产品探索智能运营新模式

内容概要 在这个数字化迅速发展的时代,园区管理也迎来了全新的机遇和挑战。众所周知,开源智慧园区管理系统作为一种创新解决方案,正逐步打破传统管理的局限性。它的开放性不仅使得系统可以根据具体需求进行灵活调整,也为用户提供…...

ARM内核:嵌入式时代的核心引擎

引言 在当今智能设备无处不在的时代,ARM(Advanced RISC Machines)处理器凭借其高性能、低功耗的特性,成为智能手机、物联网设备、汽车电子等领域的核心引擎。作为精简指令集(RISC)的典范,ARM核…...

ITS290F Human Computer Interaction

ITS290F Human Computer Interaction & User Experience Design Lab 1. Introduction to CodePen What you’ll learn in this lab: • Understanding CodePen • Creating a front-end page • Using Google form to submit your lab work CodePen is a cloud-based in…...

[Java]继承

1. 什么是继承? 继承是面向对象编程的一种机制,允许一个类(叫做子类)继承另一个类(叫做父类)的属性和方法。也就是说,子类可以“继承”父类的行为(方法)和状态&#xff…...

DeepSeek能下围棋吗?(续)

休息了一下,接着琢磨围棋,其实前面一篇里的规则有个漏洞的,就是邻居关系定义有问题,先回顾一下游戏规则: 游戏规则 定义: 1.数字对,是指两个1到9之间的整数组成的有序集合。可与记为(m,n)&…...

51单片机(STC89C52)开发:点亮一个小灯

软件安装: 安装开发板CH340驱动。 安装KEILC51开发软件:C51V901.exe。 下载软件:PZ-ISP.exe 创建项目: 新建main.c 将main.c加入至项目中: main.c:点亮一个小灯 #include "reg52.h"sbit LED1P2^0; //P2的…...

【数据结构】并查集

1.基本操作 void makeset(){ for(int i1;i<n;i)fa[i]i; }int findd(int x){ while(fa[x]!x)xfa[x]fa[fa[x]]; return x; }void unionn(int x,int y){ int zxfindd(x);int zyfindd(y); if(zx!zy)fa[zy]zx; }2.种类并查集 Parity Game 关押罪犯 [NOIP 2010 提高组] 关押罪…...

基于Rectified Flow FLUX的图像编辑方法 RF-Solver

Diffusion Models专栏文章汇总:入门与实战 前言:现在越来越多的开源模型是基于Rectified Flow,特别是FLUX和HunYuan Video,但是Rectified Flow inversion的性质和之前有所不同,这篇博客解读一下如何使用Rectified Flow对FLUX进行编辑。 目录 RF直接逆向会出现问题 为什R…...

[创业之路-269]:《创业讨论会》- 系统之韵:从麻雀到5G系统的共通性探索

关键词&#xff1a; 从系统的角度&#xff0c;麻雀、人体系统、企业系统、软硬件系统、软件系统、通信系统、5G系统是类似的&#xff1a; 都有&#xff1a;内在看不见的规律、外在显性各种现象 都是&#xff1a;输入、处理、输出 都是&#xff1a;静态、要素、组成、结构、组织…...

C语言指针专题三 -- 指针数组

目录 1. 指针数组的核心原理 2. 指针数组与二维数组的区别 3. 编程实例 4. 常见陷阱与防御 5. 总结 1. 指针数组的核心原理 指针数组是一种特殊数组&#xff0c;其所有元素均为指针类型。每个元素存储一个内存地址&#xff0c;可指向不同类型的数据&#xff08;通常指向同…...

Contrastive Imitation Learning

机器人模仿学习中对比解码的一致性采样 摘要 本文中&#xff0c;我们在机器人应用的对比模仿学习中&#xff0c;利用一致性采样来挖掘演示质量中的样本间关系。通过在排序后的演示对比解码过程中&#xff0c;引入相邻样本间的一致性机制&#xff0c;我们旨在改进用于机器人学习…...

Springboot使用AOP时,需不需要引入AspectJ?

Springboot使用AOP时,需不需要引入AspectJ? 在Spring Boot中使用AOP时&#xff0c;是否需要引入AspectJ取决于你选择的具体AOP实现方式。以下是详细分步说明&#xff1a; 1. 默认场景&#xff1a;使用Spring AOP&#xff08;基于代理&#xff09; 不需要引入AspectJ依赖&am…...

使用iis服务器模拟本地资源服务器unityaddressables热更新出错记录

editor中设置了using exculexing 模拟远程加载addressable可以实现资源热更新&#xff0c;build后的软件却没有成功。 iis服务器中mime中需要设置bundle的文件扩展名&#xff0c;时editor成功&#xff0c;build后失败 原因没有设置hash的扩展名&#xff0c;设置后editor和buil…...

17 一个高并发的系统架构如何设计

高并发系统的理解 第一:我们设计高并发系统的前提是该系统要高可用&#xff0c;起码整体上的高可用。 第二:高并发系统需要面对很大的流量冲击&#xff0c;包括瞬时的流量和黑客攻击等 第三:高并发系统常见的需要考虑的问题&#xff0c;如内存不足的问题&#xff0c;服务抖动的…...

MongoDb user自定义 role 添加 action(collStats, EstimateDocumentCount)

使用 mongosh cd mongsh_bin_path mongosh “mongodb://user:passip:port/db”这样就直接进入了对应的db 直接输入&#xff1a; 这样 role “read_only_role" 就获得了3个 action&#xff0c; 分别是 查询&#xff0c;列举集合&#xff0c;集合元数据查询 P.S: 如果没有 …...

我的AI工具箱Tauri版-Custom3DModelCreationforH2Panel卡通图片2D转绘3D

本教程基于自研的AI工具箱Tauri版进行ComfyUI工作流Custom3DModelCreationforH2Panel卡通图片2D转绘3D。 Custom3DModelCreationforH2Panel卡通图片2D转绘3D 基于先进的SD模型技术&#xff0c;能够将2D动漫图片高效转换为高清的3D图像&#xff0c;满足各种创作需求。通过智能算…...

1 HDFS

1 HDFS 1. HDFS概述2. HDFS架构3. HDFS的特性4. HDFS 的命令行使用5. hdfs的高级使用命令6. HDFS 的 block 块和副本机制6.1 抽象为block块的好处6.2 块缓存6.3 hdfs的文件权限验证6.4 hdfs的副本因子 7. HDFS 文件写入过程&#xff08;非常重要&#xff09;7.1 网络拓扑概念7.…...

14-6-3C++STL的list

&#xff08;一&#xff09;list的插入 1.list.insert(pos,elem);//在pos位置插入一个elem元素的拷贝&#xff0c;返回新数据的位置 #include <iostream> #include <list> using namespace std; int main() { list<int> lst; lst.push_back(10); l…...

GESP2023年12月认证C++六级( 第三部分编程题(2)工作沟通)

参考程序1代码&#xff1a; #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <string> #include <map> #include <iostream> #include <cmath> #include <vector> using name…...

深度学习的应用

目录 一、机器视觉 1.1 应用场景 1.2 常见的计算机视觉任务 1.2.1 图像分类 1.2.2 目标检测 1.2.3 图像分割 二、自然语言处理 三、推荐系统 3.1 常用的推荐系统算法实现方案 四、图像分类实验补充 4.1 CIFAR-100 数据集实验 实验代码 4.2 CIFAR-10 实验代码 深…...

【自学笔记】MySQL的重点知识点-持续更新

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 MySQL重点知识点MySQL知识点总结一、数据库基础二、MySQL的基本使用三、数据类型四、触发器&#xff08;Trigger&#xff09;五、存储引擎六、索引七、事务处理八、…...

计算机网络之物理层通信基础(信道、信号、带宽、码元、波特、速率、信源与信宿等基本概念)

一、信道 信道是信号的传输媒介&#xff0c;一般用来表示向某一个方向传送信息的介质。信道可以按照不同标准进行分类&#xff1a; 按传输信号分类&#xff1a;可分为模拟信道和数字信道。 按传输介质分类&#xff1a;可分为无线信道和有线信道。无线信道以电磁波为传输介质&…...

C++初阶 -- 初识STL和string类详细使用接口的教程(万字大章)

目录 一、STL 1.1 什么是STL 1.2 STL的版本 1.3 STL的六大组件 二、string类 2.1 string类的基本介绍 2.2 string类的默认成员函数 2.2.1 构造函数 2.2.2 析构函数 2.2.3 赋值运算符重载 2.3 string类对象的容量操作 2.3.1 size和length 2.3.2 capacity 2.3.3 r…...

Cursor 背后的技术栈:从 VS Code 到 AI 集成

引言 在当今快速发展的软件开发领域&#xff0c;开发者工具正在经历一场由人工智能&#xff08;AI&#xff09;驱动的革命。Cursor 作为一款新兴的智能编程助手&#xff0c;凭借其强大的 AI 能力和高效的开发体验&#xff0c;迅速吸引了大量开发者的关注。Cursor 不仅继承了 V…...

ESP32和STM32在处理中断方面的区别

为了通俗地讲解ESP32和STM32在处理中断方面的区别&#xff0c;我们可以把它们想象成两个不同的“智能管家”系统&#xff0c;各自负责管理一个家庭&#xff08;即嵌入式项目&#xff09;的各种任务。我们将重点放在如何处理突发事件&#xff08;即中断&#xff09;上。 ESP32 …...

99.23 金融难点通俗解释:小卖部经营比喻PPI(生产者物价指数)vsCPI(消费者物价指数)

目录 0. 承前1. 简述&#xff1a;价格指数对比2. 比喻&#xff1a;两大指数对比2.1 简单对比2.2 生动比喻 3. 实际应用3.1 价格传导现象 4. 总结5. 有趣的对比6. 数据获取实现代码7. 数据可视化实现代码 0. 承前 本文主旨&#xff1a; 本文使用小卖部比喻PPI和CPI&#xff0c;…...

计算机网络概述

1. 计算机网络的定义 计算机网络是指由多个通过物理介质或无线方式互相连接的计算设备组成的系统。其主要目的是实现数据的传输和资源共享。网络中的计算设备可以包括台式机、笔记本电脑、服务器、手机、打印机、智能设备等。 网络的广义定义 首先要理解“网络”的广义含义。网…...

169 多数元素

给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 class Solution { public int majorityElement(int[] nums) { // 存储每个数字的…...

线程配置经验

工作时&#xff0c;时常会遇到&#xff0c;线程相关的问题与解法&#xff0c;本人会持续对开发过程中遇到的关于线程相关的问题及解决记录更新记录在此篇博客中。 目录 一、线程基本知识 1. 线程和进程 二、问题与解法 1. 避免乘法级别数量线程并行 1&#xff09;使用线程池…...

算法随笔_34: 最后一个单词的长度

上一篇:算法随笔_33: 132模式-CSDN博客 题目描述如下: 给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1&#xff1a; 输入&am…...

java 正则表达式匹配Matcher 类

Matcher 类 用法 在 Java 中&#xff0c;Matcher 类是用于匹配正则表达式的工具&#xff0c;而 group() 方法是 Matcher 类中的一个重要方法&#xff0c;用于提取匹配结果中的捕获组&#xff08;captured groups&#xff09;。以下是对 group() 方法的详细解释&#xff1a; 1.…...

【Blazor学习笔记】.NET Blazor学习笔记

我是大标题 我学习Blazor的顺序是基于Blazor University&#xff0c;然后实际内容不完全基于它&#xff0c;因为它的例子还是基于.NET Core 3.1做的&#xff0c;距离现在很遥远了。 截至本文撰写的时间&#xff0c;2025年&#xff0c;最新的.NET是.NET9了都&#xff0c;可能1…...

python 使用Whisper模型进行语音翻译

目录 一、Whisper 是什么? 二、Whisper 的基本命令行用法 三、代码实践 四、是否保留Token标记 五、翻译长度问题 六、性能分析 一、Whisper 是什么? Whisper 是由 OpenAI 开源的一个自动语音识别(Automatic Speech Recognition, ASR)系统。它的主要特点是: 多语言…...

pytorch实现循环神经网络

人工智能例子汇总&#xff1a;AI常见的算法和例子-CSDN博客 PyTorch 提供三种主要的 RNN 变体&#xff1a; nn.RNN&#xff1a;最基本的循环神经网络&#xff0c;适用于短时依赖任务。nn.LSTM&#xff1a;长短时记忆网络&#xff0c;适用于长序列数据&#xff0c;能有效解决…...

侯捷 C++ 课程学习笔记:深入理解 C++ 核心技术与实战应用

目录 引言 第一章&#xff1a;C 基础回顾 1.1 C 的历史与发展 1.2 C 的核心特性 1.3 C 的编译与执行 第二章&#xff1a;面向对象编程 2.1 类与对象 2.2 构造函数与析构函数 2.3 继承与多态 第三章&#xff1a;泛型编程与模板 3.1 函数模板 3.2 类模板 3.3 STL 容器…...