丹摩征文活动 | 智谱清影 -CogVideoX-2b-部署与使用,带你揭秘生成6s视频的极致体验!
一、 CogVideoX 背景 CogVideoX 的问世可以说是视频生成领域的一次革命性变革。传统技术在追求高效与高质的过程中常常面临两难,而如今,通过其先进的3D变分自编码器,视频数据压缩到了原本的2%,显著减少了资源使用,同时确保了视频帧之间的连贯流畅。 独特的3D旋转位置编码技术赋予了视频在时间轴上自然流动的特性
CogVideoX-2b-从零到6秒精彩视频,带你感受创造的震撼时刻!
一、 CogVideoX 背景
CogVideoX 的问世可以说是视频生成领域的一次革命性变革。传统技术在追求高效与高质的过程中常常面临两难,而如今,通过其先进的3D变分自编码器,视频数据压缩到了原本的2%,显著减少了资源使用,同时确保了视频帧之间的连贯流畅。
独特的3D旋转位置编码技术赋予了视频在时间轴上自然流动的特性,仿佛让每个画面都充满了生命力。而智谱AI的端到端视频理解模型,能够精确解读用户指令,实现内容丰富且紧密相关的视频生成。
这一创新为创作者带来了更广阔的创作空间,允许他们以更少的限制实现更具创意的作品。通过这些前沿技术的结合,CogVideoX 为视频创作提供了前所未有的自由和灵活性,真正改变了视频生成的游戏规则。
CogVideoX 在增强对文本理解和执行用户指令的能力方面取得了重大突破。这项创新确保生成的视频不仅与用户的输入高度匹配,还能够轻松应对超长和复杂的文本提示。这样的技术进步标志着CogVideoX的全新起点,我们对其未来的发展充满期待,相信它将在视频生成领域带来更多惊喜。
如果您对CogVideoX感兴趣,可以通过以下链接探索更多内容:
- 访问代码库:在 [GitHub](https://github.com/THUDM/CogVideo) 上获取最新代码。
- 下载模型:获取 [CogVideoX-2b](https://huggingface.co/THUDM/CogVideoX-2b) 模型。
- 阅读技术报告:了解详细技术细节,请查看 [技术报告](https://github.com/THUDM/CogVideo/blob/main/resources/CogVideoX.pdf)。
- 加入丹摩智算平台:在 [这里](https://damodel.com/register?source=C4FB0342) 注册,开启您的智能计算之旅。
二、创建丹摩实例
> 本次实践流程在**丹摩服务器**上进行部署和初步使用 CogVideoX。
1. 进入控制台,选择 GPU 云实例,点击创建实例。(实名认证有抵扣卷)
2. CogVideoX 在 `FP-16` 精度下的推理至少需 18GB 显存,微调则需要 `40GB` 显存 。选择L40S 显卡(推荐)或者4090 显卡,硬盘可以选择默认的100GB系统盘和 50GB数据盘。
3. 镜像选择 **PyTorch2.3.0、Ubuntu-22.04,CUDA12.1** 镜像。
4. 创建登录实例。(点击创建密钥对,输入个名称即可创建)
5. 实例创建成功。
三、配置环境和依赖
丹摩平台已预置了调试好的代码库,可开箱即用。
1. 进入 JupyterLab 后,打开终端,首先拉取 `CogVideo` 代码的仓库。
bash
wget http://file.s3/damodel-openfile/CogVideoX/CogVideo-main.tar
2. 下载完成后解压缩`CogVideo-main.tar`,完成后进入 CogVideo-main 文件夹,输入安装对应依赖。
3. 依赖安装好后,可以在终端输入 python,进入python环境。
输入代码进行测试:
python
import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video
没有报错就说明依赖安装成功!输入`quit()`可退出 python。
四、模型与配置文件
除了配置代码文件和项目依赖,还需要上传 CogVideoX 模型文件和对应的配置文件。
1. 平台已为您预置了 CogVideoX 模型,您可内网高速下载。
bash
cd /root/workspace
wget http://file.s3/damodel-openfile/CogVideoX/CogVideoX-2b.tar
2. 下载完成后解压缩`CogVideoX-2b.tar`。
tar -xf CogVideoX-2b.tar
解压后的效果图:
五、运行
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 云实例页面](https://www.damodel.com/console/instance),点击操作-更多-访问控制。
6. 点击添加端口,添加`7870`端口。
7. 添加成功后,通过访问链接即可访问到刚刚启动的 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.
更多推荐
所有评论(0)