# CogVideoX Factory 🧪 在 24GB GPU 内存下微调 Cog 系列视频模型以生成自定义视频 ⚡️📼 TODO:添加有趣的视频结果表 ## 快速开始 确保已安装所需的依赖:`pip install -r requirements.txt`。 然后下载数据集: ```bash # 安装 `huggingface_hub` huggingface-cli download --repo-type dataset Wild-Heart/Disney-VideoGeneration-Dataset --local-dir video-dataset-disney ``` 然后启动文本到视频的 LoRA 微调: ```bash TODO ``` 我们现在可以使用训练好的模型进行推理: ```python TODO ``` 我们还可以使用 LoRA 微调 5B 版本: ```python TODO ``` 在下方的部分中,我们提供了有关更多选项的详细信息,这些选项旨在使视频模型的微调尽可能易于使用。 ## 数据集准备 创建两个文件,一个文件包含逐行分隔的提示,另一个文件包含逐行分隔的视频数据路径(视频文件的路径必须相对于您在指定 `--data_root` 时传递的路径)。让我们通过一个示例来更好地理解这一点! 假设您指定的 `--data_root` 为 `/dataset`,并且该目录包含以下文件:`prompts.txt` 和 `videos.txt`。 `prompts.txt` 文件应包含逐行分隔的提示: ``` 一段黑白动画序列,主角是一只名为 Rabbity Ribfried 的兔子和一只拟人化的山羊,展示了它们在音乐与游戏环境中的互动演变。 一段黑白动画序列,发生在船甲板上,主角是一只名为 Bully Bulldoger 的斗牛犬,展现了夸张的面部表情和肢体语言。角色从自信、专注逐渐转变为紧张与痛苦,展示了随着挑战出现的情感变化。船的内部在背景中保持静止,只有一些简单的细节,如钟声和敞开的门。角色的动态动作和不断变化的表情推动了叙事,没有摄像机运动来分散注意力。 ... ``` `videos.txt` 文件应包含逐行分隔的视频文件路径。请注意,路径应相对于 `--data_root` 目录。 ```bash videos/00000.mp4 videos/00001.mp4 ... ``` 整体而言,如果在数据集根目录运行 `tree` 命令,您的数据集应如下所示: ```bash /dataset ├── prompts.txt ├── videos.txt ├── videos ├── videos/00000.mp4 ├── videos/00001.mp4 ├── ... ``` 使用此格式时,`--caption_column` 必须是 `prompts.txt`,`--video_column` 必须是 `videos.txt`。如果您将数据存储在 CSV 文件中,还可以指定 `--dataset_file` 为 CSV 的路径,`--caption_column` 和 `--video_column` 为 CSV 文件中的实际列名。 例如,让我们使用[这个](https://huggingface.co/datasets/Wild-Heart/Disney-VideoGeneration-Dataset) Disney 数据集进行微调。要下载,您可以使用 🤗 Hugging Face CLI。 ```bash huggingface-cli download --repo-type dataset Wild-Heart/Disney-VideoGeneration-Dataset --local-dir video-dataset-disney ``` TODO:添加一个关于创建和使用预计算嵌入的部分。 ## 训练 我们提供了与 [Cog 系列模型](https://huggingface.co/collections/THUDM/cogvideo-66c08e62f1685a3ade464cce) 兼容的文本到视频和图像到视频生成的训练脚本。 查看 `*.sh` 文件 注意:未在 MPS 上测试 ## 内存需求
| 使用 PyTorch 消除 OOM |
![]() |