文章目录
前言
一、平台账号注册并登录
二、部署CogVideoX
(一)简介
(二)部署
1. 创建实例
2. 配置环境和依赖
3.预制模型与配置文件
三、开始运行
总结
前言
该文章主要记录DAMODEL丹摩智算平台实践过程与心得体会,本次实践的内容为CogVideoX-2b-部署与使用;DAMODEL平台地址为:丹摩DAMODEL|让AI开发更简单!算力租赁上丹摩!
一、平台账号注册并登录
点击上方DAMODEL地址,点击右上角"登录"按钮,选择下方的"去注册"按钮,设置用户名密码以及手机号后点击"立即注册"即可
注册完成后进到登录界面,使用账号登录或手机号登录
登录后的主界面为
二、部署CogVideoX
(一)简介
智谱AI于8月6日宣布开源视频生成模型CogVideoX。该模型支持最多226个token的提示词生成6秒视频,帧率为8帧/秒,分辨率为720x480。这只是初代版本,未来将推出性能更强、参数量更大的模型。CogVideoX的核心技术是3D变分自编码器,能将视频数据压缩至原来的2%,在大幅降低计算资源需求的同时,保持视频帧的连贯性,解决生成过程中闪烁的问题。
(二)部署
1. 创建实例
进入控制台,选择GPU云实例,点击"创建按钮"
由于CogVideoX 在 FP-16 精度下的推理至少需 18GB 显存,微调则需要 40GB 显存,所以实例配置可以选择NVIDIA-L40S,GPU数量、硬盘数量按照默认配置即可
框架选择PyTorch 2.3.0,设置好登录实例后并点击立即创建
立即创建之后等实例状态变成运行中就是创建成功了
2. 配置环境和依赖
(1)控制台实例界面进入JupyterLab
(2)点击Other页签下的Terminal进入终端
(3)拉取CogVideo代码的仓库
wget http://file.s3/damodel-openfile/CogVideoX/CogVideo-main.tar
效果图:
(4)下载后解压缩 CogVideo-main.tar
tar -xf CogVideo-main.tar
效果图:
(5)进入 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
3.预制模型与配置文件
处理配置环境和依赖之外,还需要上传CogVideoX模型和对于的配置文件,同样在终端执行以下命令:
(1)下载CogVideoX模型
cd /root/workspace
wget http://file.s3/damodel-openfile/CogVideoX/CogVideoX-2b.tar
效果图:
(2)下载完解压缩
tar -xf CogVideoX-2b.tar
(3)解压后的目录如图
三、开始运行
调试
按照第二点部署环境后,接下来就是调试,CogVideoX所用的编程语言是Python,进入CogVideo-main
文件夹,使用该路径下的test.py文件进行测试,运行完后会生成一个output.mp4的文件
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)
总结
CogVideoX环境搭建好后,将test.py里的变量prompt的值改成相对应的文本,运行test.py文件即可生成对应的视频文件,非常适合需要文本转视频的人员使用!