阿里云开源的文生视频万相 Wan2.1之本地部署Wan2.1-T2V-1.3B模型

本文已首发于 秋码记录
微信公众号:你我杂志刊
在这里插入图片描述

如果你也想搭建一个与秋码记录一样的网站,可以浏览我的这篇 国内 gitee.com Pages 下线了,致使众多站长纷纷改用 github、gitlab Pages 托管平台

秋码记录网站使用的主题是开源的,目前只在github.com开源。
hugo-theme-kiwi开源地址:https://github.com/zhenqicai/hugo-theme-kiwi

概述

阿里云开源了其视频生成大模型Wan2.1(万相),采用了较为宽松的Apache2.0协议

而这次对外了1.3B(极速版)和14B(专业版)两个参数规格的权重,及推理的全部代码。

这两种模型均支持文生视频(T2V)和图生视频(I2V)任务。

14B版本在权威评测集VBench中以86.22%总分超越SoraLuma等国内外模型;1.3B版本可在消费级显卡运行(仅需8.2GB显存生成480P视频),适合二次开发和研究。

  • 复杂运动生成:精准模拟人物旋转、跳跃、翻滚等动作,支持高级运镜控制
  • 物理规律建模:真实还原碰撞、反弹、切割等场景,符合现实物理规则
  • 中英文指令理解:支持长文本指令,实现场景切换、角色互动和多语言文字特效

技术原理

  1. 架构设计
    • 因果3D VAE:专为视频设计的变分自编码器,高效压缩时空信息并保持生成连贯性
    • 视频Diffusion TransformerDiT):结合扩散模型和Transformer,逐步去噪生成视频,捕捉长时程依赖关系
    • 分布式训练优化:采用DPFSDPRingAttention等混合并行策略,加速训练与推理
  2. 性能提升技术
    • 引入插件式增强块(如Enhance-A-Video),通过跨帧注意力调节提升时序一致性,减少画面模糊和跳帧问题

本地部署

我电脑的环境:

python:3.10.9

CUDA:12.4

windows11

我们还是一如既往的先创建python虚拟环境,我这里使用的是python3自带的venv来搭建虚拟环境,当然咯,你也是可以使用anacondaminiconda来创建虚拟环境。

python -m venv Wan2.1-env
cd Scripts
activate

在这里插入图片描述

随后,我们clone万相的推理代码。

git clone https://github.com/Wan-Video/Wan2.1.git
cd Wan2.1

在这里插入图片描述

项目依赖库安装

之后我们安装torch>=2.4.0,这是官方所要求的。

pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124

在这里插入图片描述

再者我们安装项目的requirements.txt依赖文件时,发现有flash-attention这个依赖,它可是可以加速推理的一个框架。

然而,它对windows可并那么友好啊。但是flash-attention社区还是有人编译出了windowswheel,也省的我们自己去编译了。

为此,我特意将CUDA toolkit12.1升级到12.4,关于这一点,是可以从我前几篇的文章看出来的。

https://github.com/kingbri1/flash-attention/releases

在这里插入图片描述

将下载下来的wheel直接通过pip install进行安装。

pip install flash_attn-2.7.4.post1+cu124torch2.6.0cxx11abiFALSE-cp310-cp310-win_amd64.whl

在这里插入图片描述

至此,我们再来执行以下命令,来完成安装项目所需的依赖库。

pip install -r requirements.txt

在这里插入图片描述

下载模型

我们通过modelscope来下载模型。

pip install modelscope

在这里插入图片描述

我这里下载的是Wan-AI/Wan2.1-T2V-1.3B,若你要下载14B的模型,只需将1.3B换成14B即可(前提是你电脑的硬件环境允许的条件下)。

modelscope download Wan-AI/Wan2.1-T2V-1.3B --local_dir ./Wan2.1-T2V-1.3B

在这里插入图片描述

模型下载链接备注
T2V-14B🤗 Huggingface 🤖 ModelScope支持 480P 和 720P
I2V-14B-720P🤗 Huggingface 🤖 ModelScope支持 720P
I2V-14B-480P🤗 Huggingface 🤖 ModelScope支持 480P
T2V-1.3B🤗 Huggingface 🤖 ModelScope支持 480P

运行 generate.py

先是使用官方的prompt,来生成视频。

python generate.py  --task t2v-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --offload_model True --t5_cpu --sample_shift 8 --sample_guide_scale 6 --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage."

在这里插入图片描述

在命令行运行总是很不方便的,那么我们是可以运行官方提供的gradio

cd gradio
python t2v_1.3B_singleGPU.py --prompt_extend_method 'local_qwen' --ckpt_dir ./Wan2.1-T2V-1.3B

在这里插入图片描述

<think>好的,用户现在想了解如何利用ComfyUI和WAN2.1模型生成抖音风格的跳舞视频,并建立应的工作流。首先,我需要回忆一下之前给出的关于部署WAN2.1在ComfyUI的步骤,确保当前的问题是在此基础上的扩展应用。 用户之前已经部署好了ComfyUI和WAN2.1模型,现在需要生成视频,特别是跳舞视频。这意味着工作流需要涉及图像生成、动作控制以及视频合成。我需要考虑以下几个关键点: 1. **基本图像生成**:用户需要先使用WAN2.1生成人物图像。这部分应该和之前的工作流类似,但可能需要调整提示词,比如加入舞蹈关的描述,确保生成的人物姿态适合后续动画处理。 2. **动作控制**:抖音跳舞视频需要连贯的动作,可能需要用到ControlNet或OpenPose这样的工具。需要指导用户如何将姿势估计集成到工作流中,可能还需要使用到关键帧动画或骨骼绑定技术。 3. **视频合成**:将生成的静态图像转化为视频,并添加流畅的过渡效果。这里可能需要使用到AnimateDiff这样的插件,或者结合其他视频处理工具如FFmpeg。 4. **工作流的节点连接**:在ComfyUI中,不同的节点需要正确连接,比如将WAN2.1的Checkpoint连接到ControlNet,再连接到采样器,最后输出到视频生成节点。需要详细说明每个节点的配置和参数设置。 5. **资源优化**:生成视频对显存和计算资源要求较高,可能需要调整参数,比如降低分辨率、使用低显存模式,或者分步骤处理。 另外,用户可能需要具体的步骤示例和节点配置的截图,但作为文本回答,需要用文字详细描述节点之间的连接和参数设置。同时,考虑到用户可能对ComfyUI的节点操作不太熟悉,需要用简单明了的语言解释每个步骤的作用。 需要提醒用户注意的地方包括:确保所有必要的插件(如ControlNet、AnimateDiff)已安装,模型文件放置在正确的目录下,以及如何处理常见的错误如显存不足、动作不连贯等问题。此外,提供优化建议,比如使用固定种子保证一致性,调整采样步数以平衡质量和速度。 最后,可能需要给出一个示例工作流的JSON配置,方便用户直接导入使用,或者提供API调用的方法,以便自动化生成视频。同时,推荐一些外部工具如FFmpeg用于后期处理,提升视频的流畅度和效果。</think>以下是使用ComfyUI结合WAN2.1生成抖音跳舞视频的进阶工作流构建指南,包含动作控制与视频合成的完整解决方案: --- ### **核心工作流架构** ```mermaid graph TD A[WAN2.1模型加载] --> B[OpenPose骨骼绑定] B --> C[ControlNet姿态控制] C --> D[AnimateDiff帧生成] D --> E[DAIN帧插值] E --> F[FFmpeg视频编码] ``` --- ### **详细操作步骤** 1. **环境准备** - 安装必要插件: ```bash # 在ComfyUI/custom_nodes/目录下执行 git clone https://github.com/FizzleDorf/ComfyUI_ControlNetPreprocessors git clone https://github.com/guoyww/AnimateDiff ``` 2. **基础工作流搭建** ```python # 节点连接示例 { "3": { # Checkpoint加载器 "inputs": { "ckpt_name": "wan2-1.safetensors" } }, "4": { # ControlNet加载器 "inputs": { "control_net_name": "control_v11p_sd15_openpose.pth" } }, "5": { # 文本编码器 "inputs": { "text": "dancing girl, trendy outfit, dynamic motion, TikTok style" } } } ``` 3. **动作控制配置** - 使用OpenPose生成骨骼序列: ```python # 在Krita/Blender中制作关键帧姿势图序列 # 帧率建议:24fps(基础)+ DAIN插值到60fps ``` 4. **视频生成参数** ```json { "steps": 28, "cfg_scale": 7.5, "denoise": 0.9, "motion_bucket_id": 127, "frame_rate": 24, "loop_count": 0, "format": "MP4", "codec": "libx264" } ``` --- ### **进阶技巧** 1. **动态提示词模板** ```python # 使用动态替换语法增强动作表现力 "prompt": "(swing {left|right} arm:1.2), (bounce hips:1.1), {sparkle effect}" ``` 2. **资源优化方案** - 分阶段渲染: ```bash # 第一阶段生成512x768关键帧 # 第二阶段用LatentUpscale放大至1024x1536 ``` 3. **后期处理节点链** ``` 原始帧 → GFPGAN面部修复 → RealESRGAN超分 → RIFE帧插值 → 美颜滤镜 ``` --- ### **典型报错处理** 1. **动作断裂问题** ```python # 在AnimateDiff节点中调整: "context_length": 32 → 降低为24 "motion_scale": 1.0 → 调整为0.8 ``` 2. **显存优化配置** ```bat # 启动参数添加: --medvram --always-offload-from-vram ``` --- ### **完整工作流示例** [点击下载工作流模板](https://example.com/wan2.1_tiktok_dance.json)(需导入ComfyUI) ```python # API调用示例(生成10秒舞蹈视频) import requests payload = { "prompt": { "3": {"inputs": {"ckpt_name": "wan2-1.safetensors"}}, "6": {"inputs": {"image": "pose_sequence/%04d.png"}}, "10": {"inputs": {"fps": 60, "duration": 10}} } } requests.post("http://localhost:8188/prompt", json=payload) ``` **推荐配件:** - 使用XMem实现视频背景分离 - 集成Audio2Gesture插件实现音乐节奏同步 - 使用MMD骨骼数据驱动生成复杂舞步
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甄齐才

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值