CogVideoX-2b:从安装到上线,轻松搞定全过程!
CogVideoX简介
CogVideoX的推出标志着视频生成技术的一次重大突破。过去,如何在保持高效的同时提升视频质量一直是一个难题,但CogVideoX 通过其先进的3D变分自编码器,成功将视频数据压缩至原来的2%,大幅降低了资源消耗,并确保视频帧之间的流畅连贯。
其独特的3D旋转位置编码技术让视频在时间轴上如行云流水般自然呈现,每个画面都充满了生动的活力。同时,智谱AI的端到端视频理解模型能够精准地解析用户指令,生成内容丰富且高度相关的视频作品。
这一技术革新为创作者提供了更为广阔的创作空间,让他们在更少限制的情况下,发挥更大的创造力。通过这些尖端技术的结合,CogVideoX为视频创作带来了前所未有的自由和灵活性,从根本上改变了视频生成的规则,为用户带来了全新的体验与可能性。
如果您对CogVideoX感兴趣,以下资源将帮助您深入了解这一创新技术:
- 探索代码库:您可以在 GitHub 上找到我们最新的代码,轻松获取并开始您的项目。
- 模型下载:前往 Hugging Face 平台下载CogVideoX-2b模型,以便直接使用我们的技术成果。
- 技术详情:想了解更多技术背景和实现细节?请查看我们的 技术报告,获取完整的设计与开发信息。
- 加入丹摩智算平台:在 此处 注册,开启您的智能计算旅程,与我们共同探索AI的无限可能。
通过上述链接,可以全面了解并利用CogVideoX,开启您的创新视频生成体验。无论是代码、模型还是技术文档,这些资源都将助您一臂之力,迈向更卓越的创作之路。
创建丹摩实例
本次实践流程在丹摩服务器上进行部署和初步使用 CogVideoX,进入控制台,选择 GPU 云实例,点击创建实例。(实名认证有抵扣卷)
要在FP-16
精度下运行CogVideoX,至少需要具备18GB
显存来进行推理,而如果您计划进行模型微调,则需要40GB
的显存容量。我们建议使用L40S显卡(推荐)或4090显卡,以确保最佳性能表现。至于存储方面,您可以选择标准配置的100GB系统盘,加上50GB的数据盘,以满足基本的存储需求。
镜像选择 PyTorch2.3.0、Ubuntu-22.04,CUDA12.1镜像。
创建登录实例。(点击创建密钥对,输入个名称即可创建)
实例创建成功。
配置环境和依赖
丹摩平台已预置了调试好的代码库,可开箱即用,进入 JupyterLab 后,打开终端,首先拉取 CogVideo
代码的仓库。
wget http://file.s3/damodel-openfile/CogVideoX/CogVideo-main.tar
下载完成后解压缩CogVideo-main.tar
,完成后进入 CogVideo-main 文件夹,输入安装对应依赖。
依赖安装好后,可以在终端输入 python,进入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
下载完成后解压缩CogVideoX-2b.tar
。
tar -xf CogVideoX-2b.tar
解压后的效果图:
运行
进入CogVideo-main
文件夹,运行test.py
文件。
cd /root/workspace/CogVideo-main
python test.py
下面是test.py
脚本的简单介绍:该脚本主要利用diffusers库中的CogVideoXPipeline模型。它首先加载一个已经预训练好的CogVideo模型,然后根据用户提供的详细文本描述(即提示词),生成与之对应的视频片段。
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
文件。
cd /root/workspace/CogVideo-main
python gradio_demo.py
通过丹摩平台提供的端口映射能力,把内网端口映射到公网,进入GPU 云实例页面,点击操作-更多-访问控制。
点击添加端口,添加7870
端口。
添加成功后,通过访问链接即可访问到刚刚启动的 gradio 页面。
效果
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.
m 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.