【生成模型】【模型介绍】(一)视频生成Wan2.1速度质量简单评测

基础模型:FramePack

https://github.com/kijai/ComfyUI-FramePackWrapper

huggingface-cli download Comfy-Org/HunyuanVideo_repackaged --local-dir Comfy-Org/HunyuanVideo_repackaged --resume-download
huggingface-cli download Comfy-Org/sigclip_vision_384 --local-dir Comfy-Org/sigclip_vision_384 --resume-download
huggingface-cli download Kijai/HunyuanVideo_comfy --local-dir Kijai/HunyuanVideo_comfy --resume-download

基础模型:文生视频/图生视频

ComfyUI参考 | 提示词公式建议 | Wan试用

速度评测

  • 测试GPU: A100 40G * 1
  • 工具平台:ComfyUI
  • steps: 20
  • 帧数:52 + 1
  • 生成分辨率:480x856(=>480x848) / 720x1280
  • 评价中的显存数据,有的diffusion生成模型太大,clip与t5都被offload了,因此显得小
  • 总推理时间=(图片/文本encoder时间与生成推理时间及decode时间)+模型加载时间
  • 大致时间:480P 220s, 720P 720s,(720=220*3.27,Attention计算复杂度考虑为O(n^1.7),n变为2倍,计算量为原本的3.3倍);Kijai开TeaCache时间消耗变为85%~75%
类型参考工作流模型生成分辨率精度版本生成推理时间总推理时间评价
文生视频workflowWan 1.3B480Pbf16Comfy37s44s + 45s17G
~.workflowWan 14B480Pbf16Comfy205s210s + 100s32G
~.workflowWan 14B480Pfp8Comfy207s215s + 90s29.3G
~.workflowWan 14B720Pbf16Comfy708s722s+102s37.5G
~.workflowWan 14B720Pfp8Kijai475s542sKijai workflow可能需研究参数,质量较差
~.workflowWan 14B480Pfp8Kijai143s155sKijai workflow可能需研究参数,质量较差
图生视频workflowWan 14B (480P)480Pfp8Comfy216s运行时32.5G
~.workflowWan 14B (480P)480Pbf16Comfy213s220s+xs运行时37G,offload频次较小,竖版生成质量差
~.workflowWan 14B (720P)720Pbf16Comfy720s753s+xs显存>40G需反复offload
~.workflowWan 14B (720P)720Pfp8Comfy720s744s+xs运行时显存29.5G(T5/CLIp被offload了)
~.workflowWan 14B (720P)720Pfp8Kijai560s596s+xs运行时显存G(TeaCache) Kijai workflow可能需研究参数,质量较差
~.workflowWan 14B (720P)480Pfp8Kijai187s258s+90s运行时显存14G(TeaCache) Kijai workflow可能需研究参数,质量较差
~.workflowWan 14B (480)480Pfp8Kijai233s319s+90s运行时显存G(TeaCache) Kijai workflow可能需研究参数,质量较差

微调模型:Control / Inpainting

Wan2.1 有三种专门用途的微调版模型:

  • FLF
  • Fun Inpainting
  • Fun Control
  • Fun Camera Control

Fun系列模型:https://huggingface.co/alibaba-pai/Wan2.1-Fun-V1.1-14B-Control-Camera

Wan VACE将这三种能力统一到一个模型了:
Wan2.1 VACE
VACE模型除了支持基本的文本和图像作为控制条件输入,还支持将视频和视频mask作为输入控制。简单理解就是视频版本的ControlNet和Flux-Fill

  • video控制实现各种条件控制(参考comfyui_controlnet_aux),本质就是将图片上的控制移动到了视频上,并不是通过文本能修改视频的能力。
    • pose
    • edge(candy)
    • depth
    • 灰度图视频(上色任务)
    • layout
  • video mask控制实现时空inpaiting
    • 空间Inpainting:实现video inpainting,就是将输入视频,以及inpainting的mask作为输入控制实现的。
    • 时间Inpainting: 实现首尾帧视频生成,就是将首尾帧中间插入n-2帧黑帧构成输入输入视频,插入的黑帧构成mask区域作为mask输入,实现控制的。因此理论上,他是可以基于任意帧生成视频的。
    • 理论上上面两者是可以兼容的
    • 关于图生视频有两种方式,一种是参考上面的时间Inpainting通过输入视频控制,另一种是通过传入参考图控制;
  • 参考图控制
    • 可以和上面的video / video_mask的方式组合起来,为内容提供形象的参考。
    • 按论文的呈现,应该可是实现多主体参考,但是没有找到对应的工作流

测试设定:

  • 测试GPU: A100 40G * 1
  • 工具平台:ComfyUI
  • steps: 20 for VACE; 4 for Wan VACE CasVid lora
  • Wan VACE CasVid lora是step蒸馏后的一个lora模型,测试起来生成质量还是有点问题
  • 帧数:52 + 1
  • 分辨率:720P
  • 精度:bf16
模型/参考工作流类型生成推理时间总推理时间评价
首尾帧生视频(FLF)首尾帧生视频(FLF)366s742s
Fun InpaintingVideo Inpainting965s1015s
Fun Controlvideo control1011s1174s
Fun Camera Control相机运动控制710s948s
~~~~~
Wan VACE(step=20)图生视频982s1017s
[Wan VACE CasVid lora(step=4)]文生视频(T2V)98s176s +166s
Wan VACE CasVid lora(step=4)参考图生视频(I2V)94s166s+166s
Wan VACE CasVid lora(step=4)首尾帧生视频(FLF)99s166s+166s
Wan VACE CasVid lora(step=4)Video Inpainting/Outpainting95s166s+166s
Wan VACE CasVid lora(step=4)video control95s166s+166s
[Wan VACE CasVid lora(step=4)]图生视频(多主体参考)

Wan2.1模型结构

基本结构

与图片生成的结构很像,VAE encode->Diffusion->VAE decode的形式,只是多了一个时间维度(T+1, H, W, C)

  • T+1是因为第一帧会单独处理,为了和图片输入的形式更兼容;
  • VAE将采样比例为4x8x8,通过多个2倍降采样的结构串联形成,C=16(和图片生成类似)
    基本结构图
def generate_text2video(wan, sample_scheduler, input_prompt, n_prompt="", guide_scale=5.0):F, H, W, = 81, 1280, 720 # F: frame_numvae_stride = (4, 8, 8) # (T, H, W)context = wan.text_encoder([input_prompt])context_null = wan.text_encoder([n_prompt])latents = torch.randn(vae.z_dim, (F - 1) // vae_stride[0] + 1, H // vae_stride[1], W // vae_stride[2])for _, t in enumerate(tqdm(timesteps)):latent_model_input = latentstimestep = torch.stack([t])# CFG Infrencenoise_pred_cond = wan.model(latents, t=timestep, **arg_c)[0]noise_pred_uncond = wan.model(latents, t=timestep, **arg_null)[0]noise_pred = noise_pred_uncond + guide_scale * (noise_pred_cond - noise_pred_uncond)# sheduler steptemp_x0 = sample_scheduler.step(noise_pred.unsqueeze(0), t, latents[0].unsqueeze(0), return_dict=False,generator=seed_g)[0]latents = [temp_x0.squeeze(0)]return self.vae.decode(latents)[0]

model inference

scheduler

条件注入

参数含义

质量对比

  • 720P的模型也能生成480P的视频;480P的模型和720P的模型生成的480P视频那个效果更好?

LoRA使用与训练

加速策略

BiliBili
TeaCache
WaveSpeed
Nachaku

特定任务:运镜工作流

ATI

Runninghub | liblib | workflow

1) 安装

# base on Wan2.1-14B-480P
huggingface-cli download Kijai/WanVideo_comfy --local-dir Kijai/WanVideo_comfy --resume-download# 使用最新版本的ComfyUI-WanVideoWrapper
cd custom_nodes/
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper

2)使用

  • ATI在工作流中,通过Spline Editor 节点控制轨迹方案,可以使用多组Spline Editor 并通过Append Strings To List 将所有轨迹坐标合并一起,实现多种轨迹控制。
  • Spline Editor 节点使用,需要注意,可以通过数标右键菜单栏切换背景图,点击NewSpline新增轨迹线。 在轨迹线控制中,可以通过Shift + 鼠标左键配合点击线条形成轨迹曲线。 通过鼠标右键单击轨迹线删除轨迹点。
  • ATI配合CausVid加速,全程生成速度很快,大约5分钟左右。

Remade-AI/Rotate

youtube | lora站点remade showcase | huggingface | workflow

cd model_hub
huggingface-cli download Remade-AI/Rotate --local-dir Remade-AI/Rotate --resume-download
cd ../models/lora/
ln -s ../../model_hub/Remade-AI Remade
cd ../models/clip_vision/
ln -s ../../model_hub/Kijai/WanVideo_comfy/open-clip-xlm-roberta-large-vit-huge-14_visual_fp16.safetensors Kijai_open-clip-xlm-roberta-large-vit-huge-14_visual_fp16.safetensors

Fun Camera Control

workflow

ReCamMaster

workflow | RunningHub

# download Kijai/WanVideo_comfy
cd models/diffusion_models
ln -s ../../model_hub/Kijai/WanVideo_comfy/Wan2_1_kwai_recammaster_1_3B_step20000_bf16.safetensors
cd -# download MiaoshouAI/Florence-2-large-PromptGen-v2.0: for image caption
huggingface-cli download MiaoshouAI/Florence-2-large-PromptGen-v2.0 --local-dir MiaoshouAI/Florence-2-large-PromptGen-v2.0 --resume-download
# https://github.com/miaoshouai/ComfyUI-Miaoshouai-Tagger
cd models/LLM
ln -s ../../model_hub/MiaoshouAI/Florence-2-large-PromptGen-v2.0/model.safetensors Florence-2-large-PromptGen-v2.0.safetensors

代码推理

git clone https://github.com/KwaiVGI/ReCamMaster
cd ReCamMaster# DiffSynth-Studio: https://github.com/modelscope/DiffSynth-Studio
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | bash
. "$HOME/.cargo/env"
pip install -e .  # transformers==4.46.2# Wan2.1 文生图预训练模型
ln -s ../../../model_hub/Wan-AI/ models/Wan-AI
# ReCamMaster-Wan2.1 
cd ../../model_hub/
huggingface-cli download KwaiVGI/ReCamMaster-Wan2.1 --local-dir KwaiVGI/ReCamMaster-Wan2.1 --resume-download
cd - && cd models/ReCamMaster/checkpoints/
ln -s ../../../../../model_hub/KwaiVGI/ReCamMaster-Wan2.1/step20000.ckptpython inference_recammaster.py --cam_type 1
python inference_recammaster.py --cam_type 1 --dataset_path path/to/your/data

数据集

huggingface-cli download HuggingFaceH4/ultrachat_200k --repo-type dataset

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

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

相关文章

微信小程序之滑块scroll-view

我们要做的东西&#xff1a; 滑块的视频 我们先做个基本的图片和文字(wxm;)&#xff1a; <scroll-view><view class"scrollItem"><image src"https://bkimg.cdn.bcebos.com/pic/fc1f4134970a304e251fd88e8191b086c9177f3ef634?x-bce-processim…

如何写出优秀的单元测试?

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 写出优秀的单元测试需要考虑以下几个方面&#xff1a; 1. 测试用例设计 测试用例应该覆盖被测试代码的不同场景和边界情况&#xff0c;以尽可能发现潜在的问题。…

Python LangChain 3.0 详解:重构大模型应用开发范式

引言 在人工智能技术日新月异的今天&#xff0c;大模型应用开发框架的迭代速度直接决定了AI落地的效率。LangChain作为这一领域的领军者&#xff0c;于2024年正式发布3.0版本&#xff0c;通过架构重构与功能扩展&#xff0c;为开发者提供了更强大的工具集。本文将深入解析Lang…

Java模板设计模式详解

以下是Java模板设计模式的详细解析&#xff1a; 一、核心定义 模板模式&#xff08;Template Method Pattern&#xff09;是一种‌行为型设计模式‌&#xff0c;通过定义算法骨架并允许子类重写特定步骤&#xff0c;实现代码复用与扩展。其核心在于控制‌流程标准化‌&#x…

Word 中批量转换 LaTeX 公式为标准数学格式的终极方法(附宏设置教程)

在学术写作中&#xff0c;我们常常需要将 LaTeX 格式的公式插入到 Word 文档中。但如果你有一大段公式使用 $...$ 或 LaTeX 命令&#xff0c;手动转换无疑非常耗时。本文将介绍一种“一键转换所有 LaTeX 公式为 Word 数学公式”的方法&#xff0c;只需设置一次宏&#xff0c;后…

linux上查看文件系统类型

假设 有文件系统mount在/data-pool&#xff1a; df -h ./ 文件系统 大小 已用 可用 已用% 挂载点 data-pool 1.5T 345M 1.5T 1% /data-pool如何查看 data-pool 这个文件系统的文件系统类型&#xff08;格式&#xff09;&#xff0c;比如是 ext4、btrfs、z…

Android14-HAL分析

文章目录 一、HAL综述二、Android各版本HAL的演进三、传统HAL(< Android7)四、HIDL HAL(Android8-10)1、参考资料2、概述2、架构3、实现一个HIDL HAL1&#xff09;HIDL的开发流程2&#xff09;HIDL HAL的语法3&#xff09;创建HAL接口&生成impl库4&#xff09;Service实…

【WebSocket】学习总结

是一种协议&#xff1b; 作用与Web应用程序和服务端之间&#xff1b; 实时的、双向的&#xff1b; 通过单一的TCP提供了持久化连接&#xff1b; 优势&#xff1a; 实时、双向、可以减少网络的负载&#xff1b; 劣势&#xff1a; 需要客户端和服务端双方都支持&#xff1b; 连续…

“组件协作”模式之策略模式

目录 策略模式引例动机 Motivation模式定义结构要点总结 策略模式 引例 税务计算系统&#xff0c;根据各个国家的税法&#xff0c;进行税务计算。各个国家税法规定差别很大&#xff0c;需对应进行相应的实现。 常规解耦前写法 使用if-else语句或switch-case语句进行结构化分…

VS Git巨坑 切换分支失败导致原分支被修改

VS2013Git 首先当前分支&#xff08;分支A&#xff09;的变更已经提交&#xff0c;应该可以正常切换分支。 想切换到一个比较老的分支B&#xff08;跟当前分支存在较大差异&#xff0c;增加了很多文件&#xff09;&#xff0c;VS中提示切换失败&#xff0c;当前分支仍然是分支A…

uniapp页面间通信uni.$on与通过uni.navigateTo中eventChannal的方式的区别

背景。无意间开发uniapp程序用到了页面跳转数据传递的两种方式。但各用于什么场景&#xff0c;有什么区别记录一下。大模型给的内容较多&#xff0c;贴出一些结论。eventChannel文档链接uni.$emit文档链接 页面跳转而非全局事件通知&#xff0c;优先选择eventChanel的方式。 首…

理解对话上下文

1、pom依赖 <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target><langchain4j.version>…

【Java高频面试问题】数据库篇

【Java高频面试问题】数据库篇 为什么MySQL选择B树作为索引一、B 树的优势特性二、与常见数据结构的对比 索引优化一、索引类型及使用场景二、索引优化核心策略1. 避免索引失效场景2. 性能优化实践3. 表结构与架构优化 三、高频面试问题参考答案总结&#xff1a;面试核心要点 数…

《Whisper:开启语音识别新时代的钥匙》

Whisper 模型:技术革新的基石 在当今科技飞速发展的时代,自动语音识别(ASR)技术作为人工智能领域的关键分支,正深刻地改变着人们的生活与工作方式。从智能语音助手到实时字幕生成,从语音交互设备到智能客服系统,ASR 技术无处不在,为人们带来了前所未有的便利与效率提升…

关于 pdd:anti_content参数分析与逆向

一、逆向目标 目标&#xff1a;获取pdd商品列表接口数据网址&#xff1a;aHR0cHM6Ly93d3cucGluZHVvZHVvLmNvbS9ob21lL2hvbWUv 二、逆向步骤 2.1 anti_content 入口定位 >1 找到需加密参数 >2 全局搜索定位 这里只出来一个结果&#xff0c;很明显&#xff0c;点进去。 …

限流系列之五:TDMQ RabbitMQ Serverless 版限流机制深度解析与实践指南

导语 分布式集群限流是保障云服务高可用性的核心技术手段&#xff0c;其意义不仅在于防止系统过载&#xff0c;更是构建弹性架构、优化资源效率、实现业务可持续性的关键策略。未来&#xff0c;随着边缘计算和 Serverless 的普及&#xff0c;限流技术将进一步与底层基础设施深…

官方链接内容整理的 Spark-TTS Windows 安装完整流程

官方链接内容整理的 Spark-TTS Windows 语音克隆 安装完整流程 官方链接内容整理的 Spark-TTS Windows 安装完整流程&#xff1a; Spark TTS&#xff1a;基于大型语言模型的文本转语音模型 Spark-TTS 是一个先进的文本转语音系统&#xff0c;利用大型语言模型&#xff08;LLM…

Spring Cloud Config动态刷新实战指南

以下是利用 Spring Cloud Config + Bus 实现配置动态刷新的完整步骤和原理说明: 一、核心原理 消息总线机制 Bus 通过消息代理(如 RabbitMQ/Kafka)建立公共 Topic(默认 springCloudBus),当配置变更时,任一服务触发刷新请求,消息会广播至所有监听该 Topic 的服务实例,实…

Linux 修改密码教程

Linux 修改密码教程 Linux 系统中修改密码是非常常见的管理操作&#xff0c;无论是修改当前用户密码还是其他用户的密码&#xff0c;通常都可以通过终端完成。本文将详细介绍如何在 Linux 系统中修改密码&#xff0c;并包括修改其他用户密码的方法。 1. 修改当前用户密码 修改…

正则表达式详解:从基础到高级应用的全面指南

文章大纲 引言&#xff1a;什么是正则表达式&#xff1f; 在编程和文本处理领域&#xff0c;正则表达式&#xff08;Regular Expression&#xff0c;简称 regex&#xff09;是一种强大的工具&#xff0c;用于描述和匹配文本中的特定模式。它本质上是一种由字符和特殊符号组成…