使用3090显卡部署Wan2.1生成视频


layout: post
title: 使用3090显卡部署Wan2.1生成视频
catalog: true
tag: [Kubernetes, GPU, AI]

使用3090显卡部署Wan2.1生成视频

1. 环境说明

名称规格备注
内存VRAM22GB22G不够用,需要更大的内存,如果没有的话可以用swap内存代替
显卡3090NVIDIA
显存24GB
CUDA12.5CUDA >= 11.7 否则会失败

2. 模型下载

使用 hfs.sh脚本下载模型

./hfd.sh Wan-AI/Wan2.1-T2V-1.3B --tool aria2c -x 10 --hf_token xxxxxxx --hf_username xxxxxxx

3. 克隆仓库

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

4. 安装依赖

Note: CUDA >= 11.7 torch >= 2.4.0

cd Wan2.1
pip install -r requirements.txt

5. 生成视频

5.1. 使用generate脚本生成

Note: 一定要配置 --offload_model True --t5_cpu 否则GPU内存不够会在保存视频时OOM

 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."
[2025-02-28 08:33:08,062] INFO: Generation job args: Namespace(task='t2v-1.3B', size='832*480', frame_num=81, ckpt_dir='./Wan2.1-T2V-1.3B', offload_model=True, ulysses_size=1, ring_size=1, t5_fsdp=False, t5_cpu=True, dit_fsdp=False, save_file=None, prompt='Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage.', use_prompt_extend=False, prompt_extend_method='local_qwen', prompt_extend_model=None, prompt_extend_target_lang='ch', base_seed=6930324173022001627, image=None, sample_solver='unipc', sample_steps=50, sample_shift=8.0, sample_guide_scale=6.0)
[2025-02-28 08:33:08,063] INFO: Generation model config: {'__name__': 'Config: Wan T2V 1.3B', 't5_model': 'umt5_xxl', 't5_dtype': torch.bfloat16, 'text_len': 512, 'param_dtype': torch.bfloat16, 'num_train_timesteps': 1000, 'sample_fps': 16, 'sample_neg_prompt': '色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走', 't5_checkpoint': 'models_t5_umt5-xxl-enc-bf16.pth', 't5_tokenizer': 'google/umt5-xxl', 'vae_checkpoint': 'Wan2.1_VAE.pth', 'vae_stride': (4, 8, 8), 'patch_size': (1, 2, 2), 'dim': 1536, 'ffn_dim': 8960, 'freq_dim': 256, 'num_heads': 12, 'num_layers': 30, 'window_size': (-1, -1), 'qk_norm': True, 'cross_attn_norm': True, 'eps': 1e-06}
[2025-02-28 08:33:08,063] INFO: Input prompt: Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage.
[2025-02-28 08:33:08,065] INFO: Creating WanT2V pipeline.
[2025-02-28 08:35:19,682] INFO: loading ./Wan2.1-T2V-1.3B/models_t5_umt5-xxl-enc-bf16.pth
[2025-02-28 08:37:19,359] INFO: loading ./Wan2.1-T2V-1.3B/Wan2.1_VAE.pth
[2025-02-28 08:37:24,292] INFO: Creating WanModel from ./Wan2.1-T2V-1.3B
[2025-02-28 08:38:17,205] INFO: Generating video ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 50/50 [08:15<00:00,  9.91s/it]
[2025-02-28 08:47:29,986] INFO: Saving generated video to t2v-1.3B_832*480_1_1_Two_anthropomorphic_cats_in_comfy_boxing_gear_and__20250228_084729.mp4
[2025-02-28 08:47:32,176] INFO: Finished.

视频生成完成, 可以在当前目录下查看生成的视频

t2v-1.3B_832*480_1_1_Two_anthropomorphic_cats_in_comfy_boxing_gear_and__20250228_084729.mp4

视频链接

5.2. 使用gradio启动UI界面生成

5.2.1. 启动gradio服务

这里需要一个prompt扩展的API,可以使用dashscope的API,也可以使用自己的API,这里使用dashscope的API https://dashscope.console.aliyun.com/overview

DASH_API_KEY=xxxx  python gradio/t2v_1.3B_singleGPU.py --prompt_extend_method 'dashscope' --ckpt_dir ./Wan2.1-T2V-1.3B/
Step1: Init prompt_expander...done
Step2: Init 1.3B t2v model...done
* Running on local URL:  http://0.0.0.0:7860

To create a public link, set `share=True` in `launch()`.
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 50/50 [08:14<00:00,  9.88s/it]
5.2.2. 访问UI,输入prompt,点击生成视频

在这里插入图片描述

在白雪皑皑的梅里雪山上空,数架战斗机编队飞行,战斗机在空中变换各种队形和特技动作,背景是晴朗的蓝天和壮丽的山峰,画面充满动感和震撼力。
Over the snow-covered Meili Snow Mountains, multiple fighter jets fly in formation, performing various aerial maneuvers and stunts against a backdrop of clear blue skies and majestic peaks. The scene is dynamic and awe-inspiring.

在这里插入图片描述

视频链接

<think>好的,我现在需要帮助用户了解如何在本地部署WAN2.1到ComfyUI。首先,我要确认用户提到的“wan2.1”具体是什么。根据常见的AI模型,可能是指Waifu Diffusion的某个版本,或者是其他类似Stable Diffusion的模型。不过,用户可能拼写有误,比如可能是“waifu2.1”或者其他名称。但根据常见的模型,WAN2.1可能是指一个特定的动漫风格生成模型,类似于Waifu Diffusion的变体。 接下来,我需要考虑ComfyUI的部署流程。ComfyUI是一个基于节点式工作流的Stable Diffusion界面,通常部署本地模型需要以下步骤:安装Python、Git,克隆ComfyUI仓库,安装依赖,放置模型文件到指定目录,然后运行。 用户的问题可能涉及如何将WAN2.1模型正确放置在ComfyUI的模型目录中,并确保配置正确。可能的步骤包括下载模型文件(通常为.ckpt或.safetensors格式),将其放入ComfyUI的models/checkpoints目录,然后通过ComfyUI的界面加载。 但需要确认WAN2.1是否与ComfyUI兼容,是否需要特定的节点或工作流配置。比如,某些模型可能需要特定的VAE或设置参数。此外,用户可能还需要安装必要的依赖项,比如Torch版本是否正确,是否需要其他扩展插件。 可能的疑问点包括:用户是否已经安装了ComfyUI?他们的系统环境是否符合要求?模型文件是否已经正确下载?是否需要调整ComfyUI的设置?如果遇到错误,如何排查? 在回答时,应该分步骤说明,确保清晰。同时,提醒用户注意模型文件的来源和安全性,建议从官方或可信渠道下载。另外,可能需要指导用户如何启动ComfyUI,访问本地服务器,并选择正确的模型进行测试。 总结步骤可能为:安装依赖→克隆ComfyUI→放置模型文件→启动→配置工作流。需要确保每个步骤的准确性,并预见到用户可能的常见问题,如路径错误、依赖缺失等,提供相应的解决方法。</think>以下是WAN2.1模型在ComfyUI本地部署的完整步骤(建议使用NVIDIA显卡且显存≥8GB): 1. **环境准备** - 安装Python 3.10.x - 安装CUDA 11.8(与PyTorch 2.0+兼容) - 安装Git 2. **部署ComfyUI** ```bash git clone https://github.com/comfyanonymous/ComfyUI cd ComfyUI pip install -r requirements.txt ``` 3. **模型部署** - 下载WAN2.1模型文件(通常为`.safetensors`格式) - 将模型文件放入: ``` ComfyUI/models/checkpoints/ ``` - 如果包含专用VAE,放入: ``` ComfyUI/models/vae/ ``` 4. **启动配置** - 新建启动脚本`run_gpu.bat`: ```bat @echo off set PYTHON= set USE_CPU= set CUDA_VISIBLE_DEVICES=0 call python main.py --listen --port 8188 ``` 5. **运行与验证** - 双击运行`run_gpu.bat` - 浏览器访问`http://127.0.0.1:8188` - 在工作流中右键选择"Load default workflow" - 在Checkpoint加载器中选择WAN2.1模型 **常见问题处理:** 1. 显存不足:尝试启用`--lowvram`参数 2. 依赖冲突:使用虚拟环境 ```bash python -m venv venv venv\Scripts\activate pip install -r requirements.txt ``` 3. 模型未识别:检查文件扩展名是否为`.ckpt`或`.safetensors` **进阶配置:** - 如需混合使用其他模型(如ControlNet),将扩展模型放入: ``` ComfyUI/models/controlnet/ ``` - 推荐工作流配置参数: ```json { "positive_prompt": "best quality, masterpiece, (wan2.1 style:1.3)", "negative_prompt": "lowres, bad anatomy", "sampler": "dpmpp_2m", "steps": 25, "cfg_scale": 7 } ``` 建议从HuggingFace等官方渠道获取WAN2.1模型文件,部署完成后可通过API调用: ```python import requests payload = {"prompt": {"3":{"inputs":{"text":"1girl, cityscape"}}}} requests.post("http://127.0.0.1:8188/prompt", json=payload) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值