智谱清影 - CogVideoX-2b-部署与使用

embedded/2024/9/25 18:57:44/
🍑个人主页:Jupiter.
🚀 所属专栏:Linux从入门到进阶
欢迎大家点赞收藏评论😊

在这里插入图片描述

在这里插入图片描述

目录

        • `体验地址:`[丹摩DAMODEL官网](https://www.damodel.com/console/overview)
    • `CogVideoX 简介`
            • `本篇将详细介绍使用丹摩服务器部署和初步使用 CogVideoX 的实践流程。`
    • `CogVideoX 部署实践流程`
        • `创建丹摩实例`
        • `配置环境和依赖`
        • `模型与配置文件`
        • `开始运行`
          • `调试`
        • `webUI`


体验地址:丹摩DAMODEL官网

CogVideoX 简介

智谱 AI 在 8 月 6 日宣布了一个令人兴奋的消息:他们将开源视频生成模型 CogVideoX,目前,其提示词上限为 226 个 token,视频长度为 6 秒,帧率为 8 帧 / 秒,视频分辨率为 720*480,而这仅仅是初代,性能更强参数量更大的模型正在路上。

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

在这里插入图片描述

  • 为了进一步提升内容的连贯性,CogVideoX 采用了 3D 旋转位置编码(3D RoPE)技术,使得模型在处理视频时能够更好地捕捉时间维度上的帧间关系,建立起视频中的长期依赖关系,从而生成更加流畅和连贯的视频序列。

  • 在可控性方面,智谱 AI 研发了一款端到端的视频理解模型,这个模型能够为视频数据生成精确且与内容紧密相关的描述。这一创新极大地增强了 CogVideoX 对文本的理解和对用户指令的遵循能力,确保了生成的视频不仅与用户的输入高度相关,而且能够处理超长且复杂的文本提示。

代码仓库链接,点击跳转
模型下载链接,点击跳转
技术报告链接,点击跳转

本篇将详细介绍使用丹摩服务器部署和初步使用 CogVideoX 的实践流程。

CogVideoX 部署实践流程

创建丹摩实例
  • 首先进入控制台,选择 GPU 云实例,点击创建实例:
    在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 创建成功,运行中:

在这里插入图片描述

配置环境和依赖

官方代码仓库,点击跳转
基于官方代码仓库的配置方法推荐您阅读,点击跳转

平台已预置了调试好的代码库,您可开箱即用,以下是配置方法:

  • 进入 JupyterLab 后,打开终端,首先拉取 CogVideo 代码的仓库
wget http://file.s3/damodel-openfile/CogVideoX/CogVideo-main.tar
  • 下载完成后解压缩CogVideo-main.tar
tar -xf CogVideo-main.tar
  • 其次,进入 CogVideo-main 文件夹,输入安装对应依赖:
cd CogVideo-main/
pip install -r requirements.txt

在这里插入图片描述

以上依赖安装好后,可以在终端输入 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 模型,然后根据一个详细的文本描述(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)
  • 运行成功后,可以在当前文件夹中找到对应prompt生成的 output.mp4 视频:

在这里插入图片描述

webUI

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

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

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

进入GPU 云实例页面,点击操作-更多-访问控制:

在这里插入图片描述

点击添加端口,添加7870端口

在这里插入图片描述

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

在这里插入图片描述



http://www.ppmy.cn/embedded/116772.html

相关文章

通过 OBD Demo 体验 OceanBase 4.3 社区版

本文作者:马顺华 引言 OceanBase 4.3 是一个专为实时分析 AP 业务设计的重大更新版本。它基于LSM-Tree架构,引入了列存引擎,实现了行存与列存数据存储的无缝整合。这一版本不仅显著提升了AP场景的查询性能,同时也确保了TP业务场景…

Python基础 | 在虚拟环境中安装并在指定文件夹中打开Jupyter notebook

在虚拟环境中安装并在指定文件夹中打开Jupyter notebook 前言一、在虚拟环境下安装Jupyter notebook二、在指定路径下打开Jupyter notebook 前言 Jupyter Notebook 是一个基于 Web 的交互式计算环境,主要功能是将代码、文本、数学方程式、可视化和其他相关元素组合…

前端和后端的相对路径和绝对路径

1. 相对路径访问图片 test.html 位于 web/a/b/c/ 目录中&#xff1a; 若要访问 static/img/ 文件夹中的图片&#xff08;假设图片名为 image.png&#xff09;&#xff0c;相对路径应该是&#xff1a; <img src"../../../static/img/image.png" alt"Image&quo…

HarmonyOS鸿蒙开发实战(5.0)自定义全局弹窗实践

鸿蒙HarmonyOS开发实战往期文章必看&#xff1a; HarmonyOS NEXT应用开发性能实践总结 最新版&#xff01;“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线&#xff01;&#xff08;从零基础入门到精通&#xff09; 非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线&am…

PostgreSQL 基础操作

PostgreSQL&#xff08;简称pgsql&#xff09;的基础命令行操作涉及多个方面&#xff0c;包括数据库和表的管理、数据操作以及系统信息的查询等。以下是一些常用的PostgreSQL基础命令行操作&#xff1a; 1. 数据库管理 创建数据库&#xff1a; CREATE DATABASE 数据库名;例如…

harmonyos面试题

你在项目中用过线程通信吗&#xff0c;线程是怎么进行通信的? 页面的生命周期有哪些? UAbility的生命周期呢? 你在项目中使用首选项主要用来数什么 组件通信的方式有息些 弹室UI是怎么在页面UI中使用的 常用的修饰符有愿些介绍一下 缓冲区是什么与16进制和数组有什么关…

HarmonyOS Next开发----使用XComponent自定义绘制

XComponent组件作为一种绘制组件&#xff0c;通常用于满足用户复杂的自定义绘制需求&#xff0c;其主要有两种类型"surface和component。对于surface类型可以将相关数据传入XComponent单独拥有的NativeWindow来渲染画面。 由于上层UI是采用arkTS开发&#xff0c;那么想要…

【深度学习】深度学习模型的加密及解密方案及源码

本文摘要 本文主要根据自己遇到的情况,例如:对于yolo或paddle训练的模型文件,对外使用,不想要别人拿到我的模型文件随意乱用,此时就涉及到对模型文件进行加密与解密 深度学习模型的加密保护非常重要,尤其在商业应用场景下。常见的模型加密方法包括模型文件加密、加密硬件…