当前位置: 首页 > news >正文

解锁视频生成新时代! 探索智谱CogVideoX-2b:轻松生成6秒视频的详细指南

文章目录

  • 一、CogVideoX的诞生背景
  • 二、 创建丹摩平台实例
  • 三、 环境配置与依赖安装
  • 四、模型文件与配置
  • 五、 模型运行
  • 六、使用 Web 界面生成视频

一、CogVideoX的诞生背景

CogVideoX 的推出标志着视频生成技术进入了一个全新的阶段。在视频生成领域,长期以来一直存在效率与质量之间的平衡问题,然而 CogVideoX 的 3D 变分自编码器(VAE)技术通过将视频数据压缩率提升至 2%,大幅减少了计算资源的占用,同时保持了视频帧的流畅连贯性。
尤其值得关注的是,CogVideoX 引入了 3D 旋转位置编码技术,这一革新使得生成的视频在时间维度上表现得更加自然流畅,就像赋予了内容动态生命般的流动感。用户在创作过程中可以体验到更加逼真的视觉效果,为观众提供了前所未有的视觉享受。

除此之外,智谱 AI 还开发了一款端到端的视频理解模型,为 CogVideoX 提供了更强大的文本解析能力。这一进展意味着,用户的创作意图可以更准确地被模型捕捉,生成的视频内容也因此更加相关、丰富,创作体验更加灵活自如。

CogVideoX代码仓库:https://github.com/THUDM/CogVideo
模型下载:https://huggingface.co/THUDM/CogVideoX-2b
技术报告:https://github.com/THUDM/CogVideo/blob/main/resources/CogVideoX.pdf
丹摩智算平台:https://damodel.com/register?source=C4FB0342
在这里插入图片描述

二、 创建丹摩平台实例

  1. 进入丹摩平台控制台,选择 GPU 云实例,并点击“创建实例”
    在这里插入图片描述
  2. CogVideoX 在 FP-16 精度下至少需要 18GB 显存来进行推理,微调则需 40GB 显存。因此,建议选择 L40S 显卡(或4090显卡),并配置 100GB 系统盘和 50GB 数据盘。
    在这里插入图片描述
  3. 镜像选择 PyTorch2.3.0、Ubuntu-22.04,CUDA12.1,以确保模型运行环境的兼容性。
    在这里插入图片描述
  4. 点击创建密钥对,设置名称,完成后成功创建实例。在这里插入图片描述

三、 环境配置与依赖安装

丹摩平台已预置了调试好的代码库,用户可以直接使用,避免繁琐的环境搭建过程。

  1. 登录 JupyterLab 后,打开终端并拉取 CogVideoX 的代码仓库。
wget http://file.s3/damodel-openfile/CogVideoX/CogVideo-main.tar

在这里插入图片描述2. 下载完成后,解压并进入 CogVideo-main 文件夹,安装相应的依赖。

tar -xf CogVideo-main.tar
cd CogVideo-main
pip install -r requirements.txt

在这里插入图片描述
在这里插入图片描述
3. 确保依赖安装成功后,进入 Python 环境进行测试。

import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video

没有报错即表明依赖安装成功。输入 quit() 退出 Python。在这里插入图片描述

四、模型文件与配置

用户需要上传 CogVideoX 的模型文件和配置文件以完成后续操作。

  1. 在丹摩平台上,CogVideoX 模型可以通过内网高速下载。

cd /root/workspace
wget http://file.s3/damodel-openfile/CogVideoX/CogVideoX-2b.tar

在这里插入图片描述

  1. 解压下载的模型文件:
tar -xf CogVideoX-2b.tar

在这里插入图片描述

五、 模型运行

  1. 进入 CogVideo-main 文件夹,运行 test.py 脚本来生成视频。
cd /root/workspace/CogVideo-main
python test.py
  1. 代码将加载预训练的 CogVideoX 模型,并根据自定义的文本描述生成对应视频。
import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video# 自定义生成内容
prompt = "A panda, dressed in a small, red jacket and a tiny hat, sits on a wooden stool in a serene bamboo forest..."pipe = CogVideoXPipeline.from_pretrained("/root/workspace/CogVideoX-2b", torch_dtype=torch.float16).to("cuda")# 启用无分类器指导,生成视频
prompt_embeds, _ = pipe.encode_prompt(prompt=prompt, do_classifier_free_guidance=True, num_videos_per_prompt=1)video = pipe(num_inference_steps=50, guidance_scale=6, prompt_embeds=prompt_embeds).frames[0]export_to_video(video, "output.mp4", fps=8)
  1. 运行成功后,生成的视频文件 output.mp4 将保存在 CogVideo-main 文件夹中。
    在这里插入图片描述

六、使用 Web 界面生成视频

CogVideoX 还支持 Web 界面操作,用户可以通过 Gradio 启动 Web 端生成视频。

  1. 运行 gradio_demo.py 文件来启动 Web 界面。

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

在这里插入图片描述

  1. 使用丹摩平台的端口映射功能,将内网端口映射到公网。

在这里插入图片描述

  1. 添加端口 7870,成功后访问生成的链接即可访问 Gradio 界面进行视频生成操作。
    在这里插入图片描述
    在这里插入图片描述

通过这种方式,用户可以在浏览器中轻松生成视频,体验 CogVideoX 所带来的强大功能与创作自由。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ReKep——李飞飞团队提出的让机器人具备空间智能:基于视觉语言模型GPT-4o和关系关键点约束
  • C语言常见字符串函数模拟实现一:(strlen,strcpy,strcat,strcmp,strstr )
  • 最新最详细的Mastercam安装包下载安装教程(保姆级)
  • Go语言的垃圾回收(GC)机制的迭代和优化历史
  • 在HTML中添加图片
  • 使用vite+react+ts+Ant Design开发后台管理项目(二)
  • 张朝阳的物理课第三卷:量子力学的硬核探索与启发
  • 网页交互模拟:模拟用户输入、点击、选择、滚动等交互操作
  • 内外网办公环境路由配置
  • 【go/方法记录】cgo静态库编译以及使用dlv定位cgo崩溃问题
  • CNN网络训练WISDM数据集:模型仿真及可视化分析
  • 三光吊舱详解!
  • C++之 string(中)
  • Arthas vmoption(查看和修改 JVM里诊断相关的option)
  • 企业身份安全管理面临的问题和解决方案
  • 【译】JS基础算法脚本:字符串结尾
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • DOM的那些事
  • FastReport在线报表设计器工作原理
  • Mysql优化
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Rancher-k8s加速安装文档
  • Redis学习笔记 - pipline(流水线、管道)
  • XForms - 更强大的Form
  • 分类模型——Logistics Regression
  • 关于extract.autodesk.io的一些说明
  • 解决iview多表头动态更改列元素发生的错误
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 突破自己的技术思维
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 在electron中实现跨域请求,无需更改服务器端设置
  • C# - 为值类型重定义相等性
  • 从如何停掉 Promise 链说起
  • 大数据全解:定义、价值及挑战
  • # include “ “ 和 # include < >两者的区别
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (BFS)hdoj2377-Bus Pass
  • (分布式缓存)Redis分片集群
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (六)Hibernate的二级缓存
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (新)网络工程师考点串讲与真题详解
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (原)本想说脏话,奈何已放下
  • (转)nsfocus-绿盟科技笔试题目
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .NET MVC第三章、三种传值方式
  • .NET开发人员必知的八个网站
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • /bin/rm: 参数列表过长"的解决办法
  • /deep/和 >>>以及 ::v-deep 三者的区别