文章目录
- 一、CogVideoX的诞生背景
- 二、 创建丹摩平台实例
- 三、 环境配置与依赖安装
- 四、模型文件与配置
- 五、 模型运行
- 六、使用 Web 界面生成视频
一、CogVideoX的诞生背景
CogVideoX 的推出标志着视频生成技术进入了一个全新的阶段。在视频生成领域,长期以来一直存在效率与质量之间的平衡问题,然而 CogVideoX 的 3D 变分自编码器(VAE)技术通过将视频数据压缩率提升至 2%,大幅减少了计算资源的占用,同时保持了视频帧的流畅连贯性。
尤其值得关注的是,CogVideoX 引入了 3D 旋转位置编码技术,这一革新使得生成的视频在时间维度上表现得更加自然流畅,就像赋予了内容动态生命般的流动感。用户在创作过程中可以体验到更加逼真的视觉效果,为观众提供了前所未有的视觉享受。
除此之外,智谱 AI 还开发了一款端到端的视频理解模型,为 CogVideoX 提供了更强大的文本解析能力。这一进展意味着,用户的创作意图可以更准确地被模型捕捉,生成的视频内容也因此更加相关、丰富,创作体验更加灵活自如。
CogVideoX代码仓库:https://github.com/THUDM/CogVideo
模型下载:https://huggingface.co/THUDM/CogVideoX-2b
技术报告:https://github.com/THUDM/CogVideo/blob/main/resources/CogVideoX.pdf
丹摩智算平台:https://damodel.com/register?source=C4FB0342
二、 创建丹摩平台实例
- 进入丹摩平台控制台,选择 GPU 云实例,并点击“创建实例”
- CogVideoX 在 FP-16 精度下至少需要 18GB 显存来进行推理,微调则需 40GB 显存。因此,建议选择 L40S 显卡(或4090显卡),并配置 100GB 系统盘和 50GB 数据盘。
- 镜像选择 PyTorch2.3.0、Ubuntu-22.04,CUDA12.1,以确保模型运行环境的兼容性。
- 点击创建密钥对,设置名称,完成后成功创建实例。
三、 环境配置与依赖安装
丹摩平台已预置了调试好的代码库,用户可以直接使用,避免繁琐的环境搭建过程。
- 登录 JupyterLab 后,打开终端并拉取 CogVideoX 的代码仓库。
wget http://file.s3/damodel-openfile/CogVideoX/CogVideo-main.tar
2. 下载完成后,解压并进入 CogVideo-main 文件夹,安装相应的依赖。
tar -xf CogVideo-main.tar
cd CogVideo-main
pip install -r requirements.txt
3. 确保依赖安装成功后,进入 Python 环境进行测试。
import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video
没有报错即表明依赖安装成功。输入 quit() 退出 Python。
四、模型文件与配置
用户需要上传 CogVideoX 的模型文件和配置文件以完成后续操作。
- 在丹摩平台上,CogVideoX 模型可以通过内网高速下载。
cd /root/workspace
wget http://file.s3/damodel-openfile/CogVideoX/CogVideoX-2b.tar
- 解压下载的模型文件:
tar -xf CogVideoX-2b.tar
五、 模型运行
- 进入 CogVideo-main 文件夹,运行 test.py 脚本来生成视频。
cd /root/workspace/CogVideo-main
python test.py
- 代码将加载预训练的 CogVideoX 模型,并根据自定义的文本描述生成对应视频。
import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video
# 自定义生成内容
prompt = "A panda, dressed in a small, red jacket and a tiny hat, sits on a wooden stool in a serene bamboo forest..."
pipe = CogVideoXPipeline.from_pretrained("/root/workspace/CogVideoX-2b", torch_dtype=torch.float16).to("cuda")
# 启用无分类器指导,生成视频
prompt_embeds, _ = pipe.encode_prompt(prompt=prompt, do_classifier_free_guidance=True, num_videos_per_prompt=1)
video = pipe(num_inference_steps=50, guidance_scale=6, prompt_embeds=prompt_embeds).frames[0]
export_to_video(video, "output.mp4", fps=8)
- 运行成功后,生成的视频文件 output.mp4 将保存在 CogVideo-main 文件夹中。
六、使用 Web 界面生成视频
CogVideoX 还支持 Web 界面操作,用户可以通过 Gradio 启动 Web 端生成视频。
- 运行 gradio_demo.py 文件来启动 Web 界面。
cd /root/workspace/CogVideo-main
python gradio_demo.py
- 使用丹摩平台的端口映射功能,将内网端口映射到公网。
- 添加端口 7870,成功后访问生成的链接即可访问 Gradio 界面进行视频生成操作。
通过这种方式,用户可以在浏览器中轻松生成视频,体验 CogVideoX 所带来的强大功能与创作自由。