文章目录
-
- [1. CogVideoX-2b简介](#1. CogVideoX-2b简介)
- 2.创建实例
- 3.配置环境
- 4.上传模型文件
- 5.运行CogVideoX-2b
- 6.效果展示
1. CogVideoX-2b简介
在视频生成领域,CogVideoX 的出现无疑是一次突破。传统方法在提升效率和质量的过程中常常陷入困境,而 CogVideoX 则通过创新的3D变分自编码器技术,将视频数据压缩至原先的2%。这不仅大幅降低了资源消耗,还确保了视频帧的流畅衔接。
其独有的3D旋转位置编码技术,使得视频在时间轴上展现出自然的流动感,每一帧都仿佛充满活力。此外,智谱AI的端到端视频理解模型,能够精准捕捉用户需求,从而生成结构紧凑且内容丰富的视频。
这项创新为视频创作者打开了新的大门,使他们能在更少的限制下施展创意。凭借这些尖端技术的结合,CogVideoX 为视频创作注入了前所未有的灵活性和自由度,彻底颠覆了传统视频生成的模式,成为创作领域的一大革新。
CogVideoX 在文本理解和执行用户指令方面取得了显著提升。这项技术革新不仅确保生成的视频能够准确反映用户的输入,还能够灵活处理长段和复杂的文本提示。这一进步为 CogVideoX 开启了一个全新的发展阶段。
通过这一创新,CogVideoX 不仅能生成与用户需求高度契合的视频内容,还能应对各种复杂的创作场景。这使得用户在使用过程中享受到了更简便的体验和更高的创作自由度。凭借在文本处理上的突破,CogVideoX 为视频生成领域注入了新的活力。
2.创建实例
在丹摩服务器上进行部署和初步使用 CogVideoX。
进入控制台,选择 GPU 云实例,点击创建实例。(实名认证有抵扣卷)
在使用CogVideoX进行推理和微调时,显存需求需要特别注意。在FP-16模式下,推理操作最低需要18GB的显存,而微调则要求显存达到40GB。因此,建议采用L40S显卡(首选)或4090显卡,以确保满足这些性能需求。
镜像选择 PyTorch2.3.0、Ubuntu-22.04,CUDA12.1 镜像。
创建登录实例。(点击创建密钥对,输入个名称即可创建)
实例创建成功。
3.配置环境
丹摩平台已预置了调试好的代码库,可开箱即用。进入 JupyterLab 后,打开终端,首先拉取 CogVideo
代码的仓库。
bash
wget http://file.s3/damodel-openfile/CogVideoX/CogVideo-main.tar
下载完成后解压缩CogVideo-main.tar
,完成后进入 CogVideo-main 文件夹,输入安装对应依赖。
依赖安装好后,可以在终端输入 python,进入python环境,输入代码进行测试。
python
import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video
没有报错就说明依赖安装成功!输入quit()
可退出 python。
4.上传模型文件
除了设置代码文件和项目的依赖包之外,还需要将CogVideoX的模型文件和相关的配置文件上传到系统中。平台已经提前为您准备了CogVideoX模型,您可以通过内网快速下载这些资源。
bash
cd /root/workspace
wget http://file.s3/damodel-openfile/CogVideoX/CogVideoX-2b.tar
这种预加载功能大大简化了您的准备工作,使您能够专注于项目的开发和实现。通过这种方式,您无需担心模型文件的获取和上传过程,因为平台已经为您提供了便捷的解决方案。只需简单几步,您就可以迅速得到所需文件,并投入到更具创造性的工作中。
下载完成后解压缩CogVideoX-2b.tar
。
bash
tar -xf CogVideoX-2b.tar
解压后的效果图:
5.运行CogVideoX-2b
进入CogVideo-main
文件夹,运行test.py
文件。
bash
cd /root/workspace/CogVideo-main
python test.py
test.py 代码内容如下,主要使用diffusers库中的CogVideoXPipeline模型,加载了一个预训练的 CogVideo 模型,然后根据一个详细的文本描述(prompt),生成对应视频。
python
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 文件夹中找到对应 prompt 生成的 output.mp4 视频。
模型官方也提供了 webUIDemo ,进入CogVideo-main
文件夹,运行gradio_demo.py
文件。
bash
cd /root/workspace/CogVideo-main
python gradio_demo.py
通过丹摩平台提供的端口映射能力,把内网端口映射到公网,进入GPU 云实例页面,点击操作-更多-访问控制。
点击添加端口,添加7870
端口。
添加成功后,通过访问链接即可访问到刚刚启动的 gradio 页面。
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.