WanControl项目教程
WanControl Wan2.1 with Controlnet 项目地址: https://gitcode.com/gh_mirrors/wa/WanControl
1. 项目介绍
WanControl是一个开源项目,基于阿里巴巴的Wan2.1视频生成模型,集成了ControlNet技术。ControlNet是一种可控图像和视频合成的先进技术,它可以通过控制信号(如图像或视频)对生成的内容进行精细控制。WanControl项目旨在通过集成ControlNet,提升Wan2.1模型在视频生成方面的可控性和灵活性。
2. 项目快速启动
克隆仓库
首先,需要克隆WanControl的GitHub仓库到本地环境:
git clone https://github.com/shalfun/WanControl.git
cd WanControl
安装依赖
接着,安装项目所需的依赖:
pip install -e .
准备数据
数据集应该按照以下结构组织:
data/example_dataset/
├── metadata.csv
└── train
├── video_00001.mp4
├── video_00001_c.mp4
├── image_00002.jpg
└── image_00002_c.jpg
metadata.csv
文件应包含以下列:
| 列名 | 描述 | | ------------ | ------------------ | | file_name | 视频或图像文件名 | | text | 文件描述 | | control_name | 控制文件名 |
下载模型
以下是使用modelscope-cli
下载模型的示例:
pip install modelscope
modelscope download Wan-AI/Wan2.1-T2V-1.3B --local_dir your/model/path/Wan2.1-T2V-1.3B
或者使用huggingface-cli
:
pip install "huggingface_hub[cli]"
huggingface-cli download Wan-AI/Wan2.1-T2V-14B --local-dir ./Wan2.1-T2V-14B
确保以下检查点在指定路径下可用:
- 文本编码器:
models_t5_umt5-xxl-enc-bf16.pth
- VAE:
Wan2.1_VAE.pth
- DiT模型:
diffusion_pytorch_model.safetensors
预处理
运行预处理脚本准备训练数据:
CUDA_VISIBLE_DEVICES="0" python examples/wanvideo/train_wan_t2v.py --task data_process --dataset_path data/example_dataset --output_path ./models --text_encoder_path "your/model/path/Wan2.1-T2V-1.3B/models_t5_umt5-xxl-enc-bf16.pth" --vae_path "your/model/path/Wan2.1-T2V-1.3B/Wan2.1_VAE.pth" --tiled --num_frames 81 --height 480 --width 832
预处理后,数据集将包括.tensors.pth
文件。
训练
使用以下命令训练带有ControlNet的模型:
python examples/wanvideo/train_wan_t2v.py --task train --train_architecture full --dataset_path data/example_dataset --output_path ./ --dit_path "your/model/path/Wan2.1-T2V-1.3B/diffusion_pytorch_model.safetensors" --steps_per_epoch 500 --max_epochs 1000 --learning_rate 4e-5 --accumulate_grad_batches 1 --use_gradient_checkpointing --dataloader_num_workers 8 --control_layers 15
注意:当control_layers
设置为15(默认值)时,由于大多数参数被冻结,总体内存使用量约为26G。如果GPU内存有限,可以考虑减少control_layers
的数量。
3. 应用案例和最佳实践
(此处应根据实际项目情况提供应用案例和最佳实践,由于缺乏具体信息,这里不展开详细内容。)
4. 典型生态项目
(同样,这里需要根据实际项目情况列出与WanControl项目相关的典型生态项目,由于缺乏具体信息,这里不展开详细内容。)
WanControl Wan2.1 with Controlnet 项目地址: https://gitcode.com/gh_mirrors/wa/WanControl