部署cogvideox视频生成模型

devtools/2024/10/21 17:32:16/

      CogVideoX是智谱AI开源的一款视频生成模型,其核心在于3D变分自编码器和3D旋转位置编码(3D RoPE)技术。这些技术使得CogVideoX能够在保持视频帧间连贯性的同时,极大地降低计算资源需求,并生成流畅、连贯的视频序列。此外,CogVideoX还具备强大的文本理解能力,能够处理超长且复杂的文本提示,生成与用户输入高度相关的视频内容.

查看显存

nvidia-smi

在线创建Python虚拟环境

 python3.10 -m venv python310

激活Python虚拟环境

 #source /usr/local/bin/python310/bin/activate

拉取CogVideo代码

#cd /home

git clone https://github.com/THUDM/CogVideo.git

安装CogVideo依赖

pip install -r requirements.txt  

modelscope下载cogvideox-2b模型

pip install modelscope

modelscope download --model zhipuai/cogvideox-2b

模型具体位置:

/home/admin/workspace/.cache/modelscope/hub/zhipuai/cogvideox-2b

创建test.py

vi test.py

python">import torchfrom diffusers import CogVideoXPipelinefrom diffusers.utils import export_to_videoimport osos.environ['PYTORCH_CUDA_ALLOC_CONF'] = 'expandable_segments:True'# 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("/home/admin/workspace/.cache/modelscope/hub/zhipuai/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,)# 释放不需要的张量del _torch.cuda.empty_cache()# 生成视频video = pipe(num_inference_steps=10,  # 减少推理步骤guidance_scale=4,  # 降低指导比例prompt_embeds=prompt_embeds,).frames[0]#使用较少的推理步骤和较低的指导比例来减少显存使用。export_to_video(video, "output.mp4", fps=8)

运行test.py

#python test.py

模型对比

模型名

CogVideoX-2B (本仓库)

CogVideoX-5B

CogVideoX-5B-I2V

模型介绍

入门级模型,兼顾兼容性。运行,二次开发成本低。

视频生成质量更高,视觉效果更好的更大尺寸模型。

CogVideoX-5B 图生视频版本。

推理精度

FP16*(推荐), BF16, FP32,FP8*,INT8,不支持INT4

BF16(推荐), FP16, FP32,FP8*,INT8,不支持INT4

单GPU显存消耗

SAT FP16: 18GB
diffusers FP16: 4GB起*
diffusers INT8(torchao): 3.6G起*

SAT BF16: 26GB
diffusers BF16 : 5GB起*
diffusers INT8(torchao): 4.4G起*

多GPU推理显存消耗

FP16: 10GB* using diffusers

BF16: 15GB* using diffusers

推理速度
(Step = 50, FP/BF16)

单卡A100: ~90秒
单卡H100: ~45秒

单卡A100: ~180秒
单卡H100: ~90秒

微调精度

FP16

BF16

微调显存消耗

47 GB (bs=1, LORA)
61 GB (bs=2, LORA)
62GB (bs=1, SFT)

63 GB (bs=1, LORA)
80 GB (bs=2, LORA)
75GB (bs=1, SFT)

78 GB (bs=1, LORA)
75GB (bs=1, SFT, 16GPU)

提示词语言

English*

提示词长度上限

226 Tokens

视频长度

6 秒

帧率

8 帧 / 秒

视频分辨率

720 * 480,不支持其他分辨率(含微调)

位置编码

3d_sincos_pos_embed

3d_rope_pos_embed

3d_rope_pos_embed + learnable_pos_embed


http://www.ppmy.cn/devtools/125796.html

相关文章

每天一个数据分析题(五百)- 关联规则

广为流传的“啤酒与尿布”的故事,其背后的模型实际上是哪一类? A. 分类(Classification) B. 分群(Clustering) C. 关联(Association) D. 预测(Prediction&#xff09…

C语言笔记 9

循环控制 判断素数的程序 ①以无法证伪来证明是真的 #include <stdio.h>int main() {int x;scanf("%d", &x);int i;int isPrime 1;for ( i2; i<x; i ) {if ( x%i 0 ) {isPrime 0;}}if ( isPrime 1) {printf ("是素数\n");} else {print…

k3s安装指定版本以及离线安装(docker)

首先下载你所需要版本的k3s安装包&#xff0c;目录结构如下所示&#xff0c;我这里是v1.19.15k3s2。 1.首先赋予可执行权限后进行安装。 # k3s 需要赋予可执行权限 sudo chmod x k3s sudo chmod x k3s-install.sh2.然后将k3s的二进制文件复制到/usr/local/bin/ cp k3s /us…

Chromium 中chrome.downloads扩展接口c++

一、前端chrome.downloads 使用 chrome.downloads API 以编程方式启动、监控、操作和搜索下载内容。 权限 downloads 您必须在扩展程序清单中声明 "downloads" 权限&#xff0c;才能使用此 API。 {"name": "My extension",..."permiss…

倾斜的角标 android倾斜角标实现

android倾斜角标实现_android 图片角标如何制作-CSDN博客 import android.annotation.TargetApi; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint;…

【Matlab算法】MATLAB实现简单的图像隐写术(附MATLAB完整代码)

MATLAB实现简单的图像隐写术 前言正文:实现原理1. 消息预处理:2. 图像准备:3. 信息嵌入:4. 生成隐写图像:5. 信息提取:代码实现代码主要组成部分及功能解释代码如何使用总结前言 图像隐写术是一种将秘密信息隐藏在数字图像中的技术,使得除了预期的接收者外,其他人难以…

LabVIEW空间相机测控系统

空间相机是遥感技术中的核心设备&#xff0c;其在太空中的性能对任务的成功至关重要。为了确保空间相机能够在极端环境下稳定工作&#xff0c;地面模拟测试成为必不可少的环节。LabVIEW开发的空间相机测控系统&#xff0c;通过对温度、应力和应变等参数进行高精度测量&#xff…

前端布局与响应式设计综合指南(末)

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Css篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Css篇专栏内容:前端布局与响应式设计综合指南(末) 目录 61、为什么要初始化CSS样式 62、CSS3 有哪些新特性 63、…