前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >丹摩征文活动|CogVideoX-2b部署与AI视频生成的新篇章

丹摩征文活动|CogVideoX-2b部署与AI视频生成的新篇章

作者头像
Eternity._
发布2024-11-12 08:24:50
770
发布2024-11-12 08:24:50
举报
文章被收录于专栏:登神长阶
代码语言:txt
复制
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-2b展示效果:https://live.csdn.net/v/embed/433472

前言:丹摩平台,作为一个集创新、高效与便捷于一体的综合性平台,为CogVideoX-2b的部署与应用提供了得天独厚的环境。在这里,CogVideoX-2b不仅能够充分发挥其强大的视频生成能力,还能在丹摩平台的支持下,实现更加灵活、高效的部署与优化。

1. CogVideoX

随着人工智能技术的飞速发展,AI视频生成已经成为了一个备受瞩目的领域。在众多前沿技术中,CogVideoX以其卓越的性能和广泛的应用前景,成为了众多研究者和开发者关注的焦点。

CogVideoX作为一种先进的AI模型,不仅在视频生成方面展现出了惊人的创造力,还在部署方面提供了极大的灵活性和便捷性。通过精心设计和优化,CogVideoX能够在各种环境中稳定运行,为AI视频生成带来了前所未有的可能性。

CogVideoX 的核心在于它的 3D 变分自编码器,这项技术能够将视频数据压缩至原来的 2%,极大地降低了模型处理视频时所需的计算资源,还巧妙地保持了视频帧与帧之间的连贯性,有效避免了视频生成过程中可能出现的闪烁问题。

CogVideoX技术亮点:

  • 多尺寸模型支持: CogVideoX提供多个不同尺寸的模型,满足从个人创作到企业级应用的不同需求。这种灵活性使得CogVideoX能够适用于各种场景,无论是短视频创作还是长篇影视制作,都能找到合适的模型进行支持。
  • 3D Causal VAE视频压缩技术: CogVideoX采用了基于3D变分自编码器(3D VAE)的视频压缩技术,这种技术通过三维卷积同时压缩视频的空间和时间维度,实现了更高的压缩率和更好的重建质量。这种技术不仅降低了视频扩散生成模型的训练成本和难度,还提高了视频生成的质量和效率。
  • 复杂语义理解能力: CogVideoX在复杂语义理解方面表现出色,能够准确理解用户的输入需求,并生成符合用户期望的视频内容。这种能力使得CogVideoX在视频生成领域具有更高的智能化水平。

以下网址能让对CogVideoX的了解更进一层:

  • 代码仓库: https://github.com/THUDM/CogVideo
  • 模型下载: https://huggingface.co/THUDM/CogVideoX-2b
  • 技术报告: https://github.com/THUDM/CogVideo/blob/main/resources/CogVideoX.pdf

2. CogVideoX 部署实践流程


创建丹摩实例


  1. 首先进入控制台,选择 GPU 云实例,点击创建实例:
  2. 由于 CogVideoX 在 FP-16 精度下的推理至少需 18GB 显存,微调则需要 40GB 显存,我们这里可以选择L40S 显卡(推荐)或者4090 显卡,硬盘可以选择默认的 100GB 系统盘和 50GB 数据盘,镜像选择 PyTorch2.3.0、Ubuntu-22.04,CUDA12.1 镜像,创建并绑定密钥对,最后启动。

我们这里为了方便,节省时间选择性能强大的4090 显卡显卡,并配置了PyTorch2.3.0、Ubuntu-22.04以及CUDA12.1的镜像环境

登录实例,创建密钥对 -> 这里输入密钥对名称即可

在完成创建后,等待示例运行

配置环境和依赖


1. CogVideoX代码仓库的拉取、解压以及依赖的安装:

  • 平台已预置了调试好的代码库,您可开箱即用,我们可以直接进入 JupyterLab 后,打开终端,首先拉取 CogVideo 代码的仓库:
代码语言:javascript
复制
wget http://file.s3/damodel-openfile/CogVideoX/CogVideo-main.tar

下载完成后解压缩CogVideo-main.tar

代码语言:javascript
复制
tar -xf CogVideo-main.tar

其次,进入 CogVideo-main 文件夹,输入安装对应依赖:

代码语言:javascript
复制
cd CogVideo-main/
pip install -r requirements.txt

以上依赖安装好后,可以在终端输入 python,然后输入以下代码进行测试:

代码语言:javascript
复制
import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video

显示如下状态,没有报错就说明依赖安装成功!输入quit()可退出 python。

模型与配置文件


除了配置代码文件和项目依赖,还需要上传 CogVideoX 模型文件和对应的配置文件。平台已为您预置了 CogVideoX 模型,我们可内网高速下载

代码语言:javascript
复制
cd /root/workspace
wget http://file.s3/damodel-openfile/CogVideoX/CogVideoX-2b.tar

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

代码语言:javascript
复制
tar -xf CogVideoX-2b.tar

解压后的目录如图所示:

3. 实践实现功能


通过丹摩平台提供的便捷环境,我得以轻松部署CogVideoX-2b模型,并开始了我的视频生成之旅。我尝试输入各种创意指令和精美图片,CogVideoX-2b总能迅速响应,生成出既符合指令要求又充满个性的视频内容。从简单的风景描绘到复杂的角色动画,CogVideoX-2b都展现出了惊人的生成能力和创造力。

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

代码语言:javascript
复制
cd /root/workspace/CogVideo-main
python test.py

test.py 代码内容如下,主要使用diffusers库中的CogVideoXPipeline模型,加载了一个预训练的 CogVideo 模型,然后根据一个详细的文本描述(prompt),生成对应视频:

代码语言:javascript
复制
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)

运行成功后,可以在当前文件夹中找到对应 prompt 生成的 output.mp4 视频:

我们来生成一个属于自己的视频:

实践视频


4. webUI


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

代码语言:javascript
复制
cd /root/workspace/CogVideo-main
python gradio_demo.py

运行后我们可以看到,访问路径是本地 urlhttp://0.0.0.0:7870:

此时我们需要通过丹摩平台提供的端口映射能力,把内网端口映射到公网;

路径:进入GPU 云实例页面,点击操作-更多-访问控制: 点击添加端口,添加7870端口

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

5. 实践感想

作为一名热衷于AI技术探索的开发者,我有幸在丹摩平台上部署并实践了CogVideoX-2b这一前沿的AI视频生成技术。这次实践不仅让我深刻体验到了CogVideoX-2b的强大功能,也让我对丹摩平台的便捷性和高效性有了更深入的认识。

在部署CogVideoX-2b的过程中,我首先被其简洁明了的部署流程所吸引。丹摩平台提供了完善的文档和教程,让我能够迅速上手,避免了繁琐的配置和调试过程。同时,平台的稳定性也为我提供了可靠的保障,确保了CogVideoX-2b能够持续、高效地运行。

  • 高效与便捷:丹摩平台提供了完善的部署环境和API接口,使得CogVideoX-2b的部署和使用变得非常高效和便捷。
  • 丰富的生成能力:CogVideoX-2b能够根据输入的指令和图片生成风格各异的视频内容,展现出了极高的创意性和个性化。
  • 不断学习与优化:虽然CogVideoX-2b已经展现出了强大的生成能力,但仍有进一步优化的空间。例如,可以通过调整模型参数、增加训练数据等方式来提高生成视频的质量和准确性。

我相信,在未来的日子里,随着技术的不断进步和应用场景的不断拓展,CogVideoX-2b将在AI视频生成领域发挥更加重要的作用,而丹摩平台也将成为更多开发者探索和创新的首选平台。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. CogVideoX
  • 2. CogVideoX 部署实践流程
    • 创建丹摩实例
      • 配置环境和依赖
        • 模型与配置文件
        • 3. 实践实现功能
        • 4. webUI
        • 5. 实践感想
        相关产品与服务
        GPU 云服务器
        GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档