📑前言

在当今人工智能的发展浪潮中,生成式模型不断推陈出新,尤其是视频生成领域取得了突破性的进展。2023年8月6日,智谱AI发布了一款开源视频生成模型——CogVideoX,该模型具备强大的视频生成能力,为视频创作和自动生成领域提供了全新的思路。本篇博客将带领大家从创建实例、配置环境到生成视频,全方位了解如何在丹摩服务器上部署并使用CogVideoX模型。

一、CogVideoX 简介

CogVideoX 是一款基于3D变分自编码器的视频生成模型。该模型能够将视频数据压缩至原数据的2%,大幅降低计算资源消耗,同时通过先进的技术如3D旋转位置编码(3D RoPE),在处理视频时能够更好地捕捉时间维度上的帧间关系,从而生成更加连贯的长视频。

CogVideoX 的视频生成长度为6秒,每秒8帧,分辨率为720x480。这是初代模型,未来还会推出性能更强、参数量更大的升级版。此外,CogVideoX还具备对复杂文本提示的理解能力,允许用户输入超长提示词,以生成与提示内容高度一致的视频。关于CogVideoX的详细技术文档、代码仓库及模型下载信息如下:

二、部署 CogVideoX 模型

接下来,我们将通过丹摩服务器进行CogVideoX的部署。此部分包括创建GPU云实例、配置环境和依赖,以及上传模型和配置文件。

2.1 创建丹摩实例

首先,进入丹摩平台的控制台,选择GPU云实例,点击创建实例。由于CogVideoX在FP-16精度下的推理至少需要18GB显存,而微调则需要40GB显存,推荐选择L40S显卡或4090显卡。硬盘可以选择默认的100GB系统盘和50GB数据盘,镜像选择PyTorch2.3.0、Ubuntu-22.04,CUDA12.1镜像。

在创建实例时,请确保绑定密钥对以便后续通过SSH连接实例。实例创建成功并启动后,您可以通过SSH连接进入服务器。

2.2 配置环境与依赖

在实例中配置CogVideoX的依赖环境是成功运行模型的关键步骤。官方代码仓库可以从 GitHub 获取。您也可以使用丹摩平台预置的调试代码库,按以下步骤操作:

  • 首先,通过SSH连接到实例,并进入JupyterLab。打开终端,拉取CogVideo的代码库:
wget http://file.s3/damodel-openfile/CogVideoX/CogVideo-main.tar

下载完成后,解压缩文件:

tar -xf CogVideo-main.tar
  • 接下来,进入解压后的 CogVideo-main 文件夹,安装依赖:
cd CogVideo-main/
pip install -r requirements.txt
  • 安装完成后,您可以通过以下代码测试依赖是否安装成功:
import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video

如果终端没有报错,则表明环境配置成功。

2.3 上传模型和配置文件

除了配置代码文件和项目依赖,CogVideoX还需要模型文件和对应的配置文件。您可以从官方模型仓库下载模型文件:

在丹摩平台上,您可以通过内网高速下载模型文件。执行以下命令:

cd /root/workspace
wget http://file.s3/damodel-openfile/CogVideoX/CogVideoX-2b.tar

下载完成后,解压缩模型文件:

tar -xf CogVideoX-2b.tar

解压后的目录应包括模型权重和配置文件。

三、生成视频与测试

完成以上配置后,您可以开始使用CogVideoX生成视频了。我们将通过编写Python脚本来调试和生成视频。

3.1 运行测试脚本

进入 CogVideo-main 文件夹,运行 test.py 文件:

cd /root/workspace/CogVideo-main
python test.py

test.py 脚本中使用了diffusers库中的 CogVideoXPipeline 模型。以下是脚本的简化示例:

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,
    max_sequence_length=226,
    device="cuda",
    dtype=torch.float16,
)

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 文件。

3.2 使用 Web UI 进行交互

CogVideoX 还提供了简单的WebUI,便于用户通过图形界面生成视频。进入 CogVideo-main 文件夹,运行 gradio_demo.py 文件:

cd /root/workspace/CogVideo-main
python gradio_demo.py

运行后,您可以通过浏览器访问本地地址(例如:http://0.0.0.0:7870)进入Gradio页面。

四、总结

本文从CogVideoX模型的基本介绍出发,详细介绍了如何在丹摩服务器上部署和使用该模型,帮助大家实现视频生成的基本流程。CogVideoX作为一款开源视频生成模型,具备强大的文本理解与生成能力,在未来的视频创作中具有广泛的应用前景。

如果您想深入了解CogVideoX的更多功能,可以访问官方文档和代码仓库,尝试定制化的生成方案,实现更多有趣的AI视频创作!

Logo

尧米是由西云算力与CSDN联合运营的AI算力和模型开源社区品牌,为基于DaModel智算平台的AI应用企业和泛AI开发者提供技术交流与成果转化平台。

更多推荐