项目介绍:Text-To-Video-Finetuning
项目背景
Text-To-Video-Finetuning 是一个用于微调视频生成模型的项目,旨在通过文本输入来创造视频内容。这个项目聚焦于使用视频扩散模型(Video Diffusion Models),特别是 ModelScope 的文本到视频模型,以达到更好的视频生成效果。
项目更新
- 重要更新(2023-12-14):项目创始人建议大家转而使用 @damo-vilab 发布的新仓库,该仓库专注于视频扩散模型的全面微调。原始项目仓库将被封存,仅供研究人员和其他对该技术感兴趣的人使用。
- 新增功能(2023-7-12):支持训练与 webui 扩展兼容的 LoRA 模型。
- 模型转换(2023-4-17):可以将训练好的模型从 diffusers 格式转换为
.ckpt
格式,用于 A111 webui。 - 其他更新:增加了梯度检查点支持以及对 Torch 2.0 用户的支持。
起步指南
安装需求
首先,用户需要克隆该项目的 GitHub 仓库,并从 Hugging Face 下载所需的模型。
git clone https://github.com/ExponentialML/Text-To-Video-Finetuning.git
cd Text-To-Video-Finetuning
git lfs install
git clone https://huggingface.co/damo-vilab/text-to-video-ms-1.7b ./models/model_scope_diffusers/
其他模型
社区成员也贡献了一些其他模型,用户可以选择从这些模型开始训练。
创建 Conda 环境(可选)
建议用户安装 Anaconda 以便管理项目环境。
conda create -n text2video-finetune python=3.10
conda activate text2video-finetune
Python 需求
在激活的环境中安装必要的 Python 包:
pip install -r requirements.txt
硬件要求
推荐使用支持 16GB 内存的显卡进行训练,比如 RTX 3090。对于显存较低的设备,可以关闭验证、启用梯度检查点以及使用混合 LoRA 训练。
数据预处理
用户可以通过字幕文件来增强训练素材,无论是图像还是视频都可以附上对应的字幕。
配置
项目的训练配置使用 YAML 文件管理,用户可以根据自己的数据和需求创建或者修改配置文件,以实现个性化设置。
LoRA 训练
该项目支持训练兼容 webui 扩展的 LoRA 模型,建议用户根据 configs/v2/stable_lora_config.yaml
来进行配置和训练。
微调模型
用户可通过以下命令启动训练:
python train.py --config ./configs/v2/train_config.yaml
训练结果一般在特定的学习率下经过 2500 步后会显现,具体效果因数据量而异。
推理
inference.py
脚本用于在训练完的模型上生成视频,用户可以通过传入各种参数来自定义输出。
开发与贡献
项目代码模块化设计,欢迎有兴趣的开发者通过 pull request 贡献代码和想法。项目发起人也鼓励大家在讨论板上提问和讨论。
致谢
项目特别感谢诸多在视频生成技术中作出贡献的开发者和贡献者们,包括 Showlab、lucidrains、cloneofsimo 等。
引用
如果对此项目感兴趣,可以参考 ModelScope 的文本到视频技术报告。