1 CogVideoX-2b 介绍

CogVideoX的推出标志着视频生成领域进入了一个全新时代。在传统技术难以同时满足高效、优质的情况下,这一工具通过其创新的3D变分自编码器,将视频数据压缩至仅2%的大小,大大降低了资源消耗,并保证了视频帧的流畅衔接。

它采用了独特的3D旋转位置编码技术,使视频在时间轴上实现自然流畅的过渡效果,仿佛为每一帧注入了生命力。同时,智谱AI的端到端视频理解模型能够精准解读用户输入的指令,从而生成内容丰富且紧密相关的视频。

这种创新为创意工作者提供了广阔的发挥空间,让他们在更少限制下创造出富有创意的作品。借助这些尖端技术的综合应用,CogVideoX为视频制作提供了前所未有的灵活性和自由度,彻底重塑了视频生成领域的规则,使得AI工程师能够更高效地实现创意转化。

如果想深入了解CogVideoX,可以通过以下链接获取更多信息:

  • 浏览代码仓库:前往 GitHub 查看最新的代码资源。
  • 获取模型文件:下载 CogVideoX-2b 模型以尝试。
  • 查看技术文档:如需详细技术信息,请参阅 技术报告
  • 加入丹摩智算平台:在 此处 注册,开启您的智能计算旅程。

通过这些资源,可以更深入地探索CogVideoX的能力,为AI工程实践提供更多的创意可能。

2 创建实例

在这次实践中,我们在丹摩服务器上部署并初步使用CogVideoX。进入控制台后,选择GPU云实例并创建新实例。(实名认证享有抵扣优惠)

img

使用CogVideoX进行推理时,FP-16精度需要至少18GB显存,微调则要求40GB。推荐选择L40S或4090显卡,硬盘配置可为100GB系统盘50GB数据盘

img

请选择包含 PyTorch 2.3.0Ubuntu 22.04CUDA 12.1 的镜像进行操作,以确保最佳兼容性和性能表现。

img

生成并访问实例,只需点击生成密钥对,输入名称即可完成创建。

img

实例创建成功。

img

3 配置环境

丹摩平台提供了优化后的代码库,方便用户直接使用。打开 JupyterLab,启动终端,首先克隆 CogVideo 的代码仓库。

wget http://file.s3/damodel-openfile/CogVideoX/CogVideo-main.tar

img

下载完成后,将CogVideo-main.tar解压,进入CogVideo-main目录,接着安装所需的依赖,确保环境配置正确无误。

img

依赖安装完成后,你可以在终端键入 python,直接进入 Python 环境,准备开始编写和调试代码。

import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video

如果在过程中没有出现错误信息,则表示依赖已成功安装!要退出 Python 环境,只需输入quit()即可。

img

4 配置文件

除了设置代码和安装项目依赖外,还需上传 CogVideoX 模型及其配置文件。平台已提前配置好 CogVideoX 模型,您可以通过内网快速获取下载。

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

img

下载完成后解压缩CogVideoX-2b.tar

tar -xf CogVideoX-2b.tar

img

5 运行

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

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

以下是 test.py 的代码说明:脚本利用 diffusers 库中的 CogVideoXPipeline 模型,加载预训练的 CogVideo 模型。通过输入一段详细的文本描述(prompt),可以生成相应的视频内容。

import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video

# prompt里写自定义想要生成的视频内容
prompt = "A panda, dressed in a small, red jacket and a tiny hat, sits on a wooden stool in a serene bamboo forest. The panda's fluffy paws strum a miniature acoustic guitar, producing soft, melodic tunes. Nearby, a few other pandas gather, watching curiously and some clapping in rhythm. Sunlight filters through the tall bamboo, casting a gentle glow on the scene. The panda's face is expressive, showing concentration and joy as it plays. The background includes a small, flowing stream and vibrant green foliage, enhancing the peaceful and magical atmosphere of this unique musical performance."

pipe = CogVideoXPipeline.from_pretrained(
    "/root/workspace/CogVideoX-2b", # 这里填CogVideo模型存放的位置,此处是放在了数据盘中
    torch_dtype=torch.float16
).to("cuda")

# 参数do_classifier_free_guidance设置为True可以启用无分类器指导,增强生成内容一致性和多样性
# num_videos_per_prompt控制每个prompt想要生成的视频数量
# max_sequence_length控制输入序列的最大长度
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)

如果程序运行顺利,您将在 CogVideo-main 目录中发现一个名为 output.mp4 的视频文件,该文件是根据提供的提示词生成的。

img

官方还提供了 webUIDemo 功能。在 CogVideo-main 目录中,您可以通过运行 gradio_demo.py 文件来体验这一功能。

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

利用丹摩平台的端口映射功能,可以将内网端口公开访问。前往GPU 云实例页面,点击操作,然后选择更多,再选择访问控制。

img

点击添加端口,添加7870端口。

img

添加成功后,通过访问链接即可访问到刚刚启动的 gradio 页面。

img

6 效果

提示词:A street artist, clad in a worn-out denim jacket and a colorful bandana, stands before a vast concrete wall in the heart, holding a can of spray paint, spray-painting a colorful bird on a mottled wall.

img

Logo

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

更多推荐