在这里插入图片描述

一、生成视频效果

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(一位街头艺术家,身穿破旧的牛仔夹克,系着一条色彩斑斓的头巾,站在城市中心一面宽大的水泥墙前,手握喷漆罐,在斑驳的墙面上喷绘出一只色彩鲜艳的鸟。).

在这里插入图片描述

二、CogVideoX 技术新起点

CogVideoX 的出现被誉为视频生成领域的重大突破,特别是在短视频生成和内容创意方面展现出了强大的潜力。相比传统的视频生成工具,CogVideoX 不仅提升了生成速度,还显著提高了生成内容的质量和细节表现力,使得 AI 在视频生成领域的应用更加广泛和便捷。对于创作者来说,这意味着他们可以更快地制作高质量的视频内容,从而推动整个行业向前迈出一大步。

引入的 3D 旋转位置编码技术 是视频生成领域的一项创新突破。这项技术通过在三维空间中编码物体的旋转位置,为生成的视频提供了更加准确和自然的视觉效果。相比传统的二维位置编码,3D 旋转位置编码能够更精准地捕捉物体在空间中的方位变化,使视频中的动态效果更加逼真流畅,特别是在涉及旋转和视角变化的场景中尤为显著。这种编码技术不仅增强了视频生成的真实感,还为复杂的场景创作提供了新的可能性。

在这里插入图片描述
这一创新显著提升了 CogVideoX 对文本的深层理解和对用户指令的精确遵循能力。通过这一改进,生成的视频不仅能高度契合用户的输入要求,还能轻松应对超长、复杂的文本提示,使视频内容更加符合用户的创意意图。这种能力让 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

三、CogVideoX 上手部署

本次实践流程在丹摩服务器上进行部署和初步使用 CogVideoX。

3.1 创建丹摩实例

(1)进入控制台,选择 GPU 云实例,点击创建实例。(实名认证有抵扣卷)

在这里插入图片描述

(2)CogVideoX 在 FP-16 精度下的推理至少需 18GB 显存,微调则需要 40GB 显存 。

(2.1)选择L40S 显卡(推荐)或者4090 显卡,硬盘可以选择默认的 100GB 系统盘和 50GB 数据盘。

在这里插入图片描述

(2.2)镜像选择 PyTorch2.3.0、Ubuntu-22.04,CUDA12.1 镜像。

在这里插入图片描述

(2.3)创建登录实例。(点击创建密钥对,输入个名称即可创建)

在这里插入图片描述

(2.4)实例创建成功。

在这里插入图片描述

3.2 配置环境和依赖

丹摩平台已预置了调试好的代码库,可开箱即用。

(1)进入 JupyterLab 后,打开终端,首先拉取 CogVideo 代码的仓库。

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

在这里插入图片描述

(2) 下载完成后解压缩CogVideo-main.tar,完成后进入 CogVideo-main 文件夹,输入安装对应依赖。

在这里插入图片描述

(3)依赖安装好后,可以在终端输入 python,进入python环境。

输入代码进行测试:

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

没有报错就说明依赖安装成功!输入quit()可退出 python。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.3 模型与配置文件

除了配置代码文件和项目依赖,还需要上传 CogVideoX 模型文件和对应的配置文件。

(1)平台已为您预置了 CogVideoX 模型,您可内网高速下载。

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

在这里插入图片描述

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

tar -xf CogVideoX-2b.tar

解压后的效果图:

在这里插入图片描述

3.4 运行

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

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

在这里插入图片描述

(2)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)

(3)运行成功后,可以在 CogVideo-main 文件夹中找到对应 prompt 生成的 output.mp4 视频。

在这里插入图片描述

(4)模型官方也提供了 webUIDemo,进入CogVideo-main文件夹,运行gradio_demo.py文件。

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

在这里插入图片描述

(5)通过丹摩平台提供的端口映射能力,把内网端口映射到公网,进入GPU 云实例页面,点击操作-更多-访问控制。

在这里插入图片描述

(6)点击添加端口,添加7870端口。

在这里插入图片描述

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

)

3.5 问题与处理方法

端口号被占用。

安装 lsof

apt-get update
apt-get install lsof
# 查占用端口
lsof -i :7870
# 杀进程
kill -9 <PID>

在这里插入图片描述

四、CogVideoX-2b 用创新点燃未来

CogVideoX-2b的出现,标志着视频生成技术的一次重大跨越。凭借强大的3D变分自编码器和3D旋转位置编码技术,CogVideoX-2b不仅优化了资源消耗,还显著提升了生成视频的连贯性和质量。同时,通过智谱AI的端到端视频理解模型,CogVideoX-2b实现了更加智能的内容生成,精准响应用户的需求。

未来,CogVideoX-2b将在视频创作、虚拟现实、教育、广告等领域展现更多潜力。其创新技术不仅为创作者提供了更高效的工具,也将推动视频生成应用走向更加多样化和个性化的方向。CogVideoX-2b用前沿的技术点燃了视频生成的未来,必将引领行业向全新的高度迈进。

推荐平台:丹摩智算平台

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐