探索丹摩智算平台的奇妙之旅:我的CogVideoX实践实验与深刻体验

news2024/9/21 14:57:43

在这里插入图片描述

📝个人主页🌹:Eternity._
🌹🌹期待您的关注 🌹🌹

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

❀CogVideoX

  • 📒1. 初识CogVideoX
  • 📚2. 部署与准备
    • 🌞在丹摩智算平台上创建实例
    • 🌸CogVideoX代码仓库的拉取、解压以及依赖的安装
  • 📜3. 实践实验
  • 📖4. 总结


前言:在当今这个数据驱动的时代,人工智能与大数据技术的飞速发展正深刻地改变着我们的生活和工作方式。作为这一领域的一名学习者与实践者,我有幸体验了丹摩智算平台,并特别选择了CogVideoX这一前沿的视频生成模型进行实践实验。通过这一过程,我不仅深入了解了视频生成技术的魅力,还深刻体会到了丹摩智算平台在算力支持、易用性等方面的卓越表现


📒1. 初识CogVideoX

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

在这里插入图片描述


技术亮点

  • 3D 变分自编码器:该技术将视频数据压缩至原来的 2%,极大地降低了模型处理视频时所需的计算资源,同时保持了视频帧与帧之间的连贯性,避免了生成过程中的闪烁问题
  • 3D 旋转位置编码(3D RoPE):通过这项技术,CogVideoX 能够更好地捕捉时间维度上的帧间关系,建立视频中的长期依赖关系,从而生成更加流畅和连贯的视频序列

在这里插入图片描述

CogVideoX 是一款功能强大、技术领先且易于使用的视频生成模型,它的出现将为视频创作领域带来革命性的变化!

以下网址可以让大家更好的了解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

📚2. 部署与准备

🌞在丹摩智算平台上创建实例

在丹摩智算平台的支持下,我开始了CogVideoX的部署与准备工作。首先,我根据官方文档的指导,选择了合适的GPU云实例,并配置了必要的环境和依赖。由于CogVideoX在FP-16精度下的推理至少需18GB显存我选择了性能强大的L40S显卡,并配置了PyTorch2.3.0、Ubuntu-22.04以及CUDA12.1的镜像环境

在这里插入图片描述

选择性能强大的L40S显卡,并配置了PyTorch2.3.0、Ubuntu-22.04以及CUDA12.1的镜像环境

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

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

在这里插入图片描述

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

在这里插入图片描述


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

仓库的拉取

在实例创建完成后,我们可以直接使用JupyterLab来进行操作,我们在进入后,使用终端对CogVideo代码仓库进行拉取

指令:wget http://file.s3/damodel-openfile/CogVideoX/CogVideo-main.tar

在这里插入图片描述

在拉取完成后,我们解压文件,进入文件夹,安装我们需要的依赖


依赖的安装

指令:

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

在这里插入图片描述

等待依赖安装(时间可能有点漫长),在安装完成后,进入python环境进行测试

指令:

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

输入指令,若没有出现报错代码,则证明依赖安装成功,我们quit()退出
在这里插入图片描述


模型与配置文件

在完成上面的步骤后,我们还需要进行 CogVideoX 模型文件和对应的配置文件的安装,平台已为您预置了 CogVideoX 模型,我们可以直接告诉下载安装

指令:

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

在这里插入图片描述

下载完成后,我们依然要对CogVideoX-2b.tar进行解压操作,解压后我们可以在文件中,直接找到

指令:

tar -xf CogVideoX-2b.tar

在这里插入图片描述

接下来,我通过平台预置的代码库和调试工具,顺利完成了CogVideoX代码仓库的拉取、解压以及依赖的安装。在确认一切配置无误后,我开始了模型的加载与初步测试


📜3. 实践实验

实践是检验真理的唯一标准。在成功部署CogVideoX后,我迫不及待地开始了实践实验。我利用模型提供的CogVideoXPipeline,根据一个详细的文本描述(prompt),尝试生成了一段生动的视频。这个prompt描述了一个穿着红色小夹克、戴着小帽子的熊猫,在宁静的竹林中坐在木凳上弹奏微型吉他,其他熊猫好奇地围观并打着节拍,阳光透过竹林洒在场地上,营造出一种和平而神奇的气氛(默认是这样,当然我们可以按自己意思修改)

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

指令:

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

在这里插入图片描述

这是文件中的默认选项:

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)

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

在这里插入图片描述

在模型的帮助下,我很快就得到了对应的视频文件。当看到视频中熊猫们栩栩如生的表演时,我深感震撼。CogVideoX不仅准确地捕捉了文本描述中的每一个细节,还通过流畅的帧间过渡和逼真的画面渲染,将这段文字转化为了生动的视觉体验

测试视频

假设我们将视频内容修改成A little dog is lying on the grass and rolling over in the sunny day.

测试2


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

指令:

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

在这里插入图片描述

通过丹摩平台提供的端口映射能力,把内网端口映射到公网,进入GPU 云实例页面,点击操作-更多-访问控制

在这里插入图片描述

添加端口,输入实例端口7870

在这里插入图片描述

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

在这里插入图片描述


📖4. 总结

  • 性能提升:随着技术的不断进步,CogVideoX 未来的版本将拥有更强的性能和更多的功能,例如支持更高分辨率的视频生成、更长的视频长度以及更丰富的视频内容
  • 应用拓展:CogVideoX 在影视制作、动画制作、游戏开发等领域具有广泛的应用前景,可以为用户提供更加高效和便捷的视频创作工具

不仅体会了CogVideoX的强大功能,还深刻体会到了丹摩智算平台在算力支持、易用性等方面的卓越表现,展现出了卓越的性能,我也期待看到更多像CogVideoX这样的创新技术不断涌现,为我们的生活和工作带来更多便利和惊喜

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2152622.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux基础命令——账户简单管理

一.添加用户 命令:useradd username eg:useradd yy 添加用户名为yy的用户 注意: inux中如果新建用户的时候没有用-d参数指定家目录,那么用户的家目录是什么? 指定的默认/home下面,以username命名 二.修改账户口令/密码 命令&…

漫步者头戴式耳机哪个型号好?热门主流头戴式耳机专业深度评测

一直以来头戴式蓝牙耳机凭借其独特的优势,逐渐成为了音乐爱好者、游戏玩家以及日常通勤者的首选,它们不仅融合了卓越的音质体验、便捷的无线连接,还融入了先进的降噪技术和人性化的佩戴设计,为用户带来了前所未有的听觉盛宴与舒适…

css实现居中的方法

水平居中 1. 行内设置text-align 给父元素设置text-align为center,一般用于实现文字水平居中 2. 给当前元素设置margin:0 auto 原理:块级独占一行,表现为在水平方向上占满整个父容器,当水平方向padding,…

500元以内头戴式耳机哪款好?盘点500元以内百元宝藏品牌机型推荐

作为耳机发烧友,我深知一副优质的头戴式耳机都能为我们带来沉浸式的听觉体验,但然而,面对市场上琳琅满目的耳机品牌和型号,500元以内头戴式耳机哪款好?对于这个问题我将为大家盘点500元以内百元宝藏品牌机型推荐无论你…

【chromedriver编译-绕过selenium机器人检测】

有小伙伴说使用selenium没能绕过机器人检测,盘他。 selenium机器人检测有2种,一是cdp检测,二是webdriver特征检测。cdp检测前面的博客已写过,这里就提下webdriver特征检测。一、selenium简介 Selenium 是一个强大的工具&#xff…

浅析OceanBase数据库的向量化执行引擎

本篇博客是偏数据库系统概念性的内容,不会深入到 OceanBase 中各个算子和表达式的在向量化中的详细设计和实现。 背景 为了提升OceanBase社区版用户解决问题的效率,OceanBase官方不久前推出了《OceanBase 从入门到实践》系列课程。在第七期直播课程后&a…

Linux笔记---简单指令

1. 使用的环境 博主使用的是华为云服务器xshell终端的方式学习的,因为据说这样的方式比较接近以后的工作环境。 其中云服务器安装的是Ubuntu操作系统(以Linux为内核,适合新手学习Linux的一个版本) 这里的云服务器不一定使用华为的,但是我在…

基于Spring JDBC AbstractRoutingDataSource 实现动态数据源

AbstractRoutingDataSource 实现动态数据源 AbstractRoutingDataSource 即抽象的路由数据源,提供了动态数据源切换的机制。你可以通过实现它的 determineCurrentLookupKey() 方法,根据不同的条件返回对应的数据源 key,基于这点可以根据外部输…

OpenRestry(一个Nginx集成工具)的安装与使用

文章目录 一、OpenRestry介绍1、什么是Nginx呢?2、Nginx的反向代理3、Nginx的作用4、什么是OpenRestry? 二、OpenRestry的安装三、OpenRestry中nginx的使用1、Ngnix可以当做web服务器2、Nginx中可以编写Lua脚本 一、OpenRestry介绍 要想了解什么是OpenR…

ChatGPT搭上langchain的知识库RAG应用,效果超预期

最近利用LangchainChatGPT实现了上传文档实现个人知识库应用的能力,效果比想象得要好。文末大家可以体验一下效果~~ 给大家大致介绍下实现方式,参考了Langchain chatchat。 一、LangchainChatGPT 1、概述 LangChain 是一个强大的框架,可以…

数据技术进化史:从数据仓库到数据中台再到数据飞轮的旅程

随着大数据时代的到来,数据已经成为企业的核心资产之一。在过去几十年间,数据技术也随之不断演进,从早期的数据仓库到近年来热门的数据中台,再到正在快速发展的数据飞轮概念,每一步都是技术革新的体现。 一、数据仓库&…

信息安全工程师(10)网络信息安全法律与政策文件

前言 网络信息安全法律与政策文件是保障网络安全、维护网络空间秩序、保护公民和组织合法权益的重要基石。 一、主要法律文件 《中华人民共和国网络安全法》 发布时间:2016年11月7日,由第十二届全国人民代表大会常务委员会第二十四次会议通过。主要内容&…

9。maven必备小技巧

(1)配置Maven加速时,除了settings之外,还可如下图所示,配置如下: 若想实现Maven加速,最重要的即User settings file。(先修改settings.xml) (2)当…

微服务容错及解决

学前必备知识 学之前我们要理解一些概念,之后我们会遇到QPS,并发量,线程等专有名词。 一文搞懂高并发性能指标:QPS、TPS、RT、并发数、吞吐量 - 知乎 (zhihu.com) 雪崩问题 1 是什么 在微服务远程调用的过程中,还…

【C++】—— stack queue deque

【C】—— stack & queue & deque 1 stack 与 queue 的函数接口2 适配器2.1 发现问题2.2 什么是适配器 3 stack 与 queue的模拟实现3.1 栈的基础框架3.2 栈的模拟实现3.3 队列的模拟实现 4 模板的按需实例化5 deque 的简单介绍5.1 vector 与list对比5.1.1 vector5.1.2 …

Spring Boot 3项目使用Swagger3教程

Spring Boot 3项目使用Swagger3教程 Swagger&#xff1a;自动生成接口文档 添加依赖(pom.xml) <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><version>4.1…

音视频入门基础:AAC专题(7)——FFmpeg源码中计算AAC裸流每个packet的size值的实现

音视频入门基础&#xff1a;AAC专题系列文章&#xff1a; 音视频入门基础&#xff1a;AAC专题&#xff08;1&#xff09;——AAC官方文档下载 音视频入门基础&#xff1a;AAC专题&#xff08;2&#xff09;——使用FFmpeg命令生成AAC裸流文件 音视频入门基础&#xff1a;AAC…

零工市场小程序:推动零工市场建设

人力资源和社会保障部在2024年4月发布了标题为《地方推进零工市场建设经验做法》的文章。 零工市场小程序的功能 信息登记与发布 精准匹配、推送 在线沟通 权益保障 零工市场小程序作为一个找零工的渠道&#xff0c;在往后随着技术的发展和政策的支持下&#xff0c;功能必然…

自注意力与多头自注意力的区别

自注意力机制和多头自注意力机制在深度学习&#xff0c;尤其是Transformer模型中是核心组件。它们的主要区别在于如何处理输入信息和增强模型的表达能力。 1. 自注意力机制&#xff08;Self-Attention&#xff09; 自注意力机制的主要作用是让模型在处理每个输入元素时&#…

计算机人工智能前沿进展-大语言模型方向-2024-09-20

计算机人工智能前沿进展-大语言模型方向-2024-09-20 1. Multimodal Fusion with LLMs for Engagement Prediction in Natural Conversation Authors: Cheng Charles Ma, Kevin Hyekang Joo, Alexandria K. Vail, Sunreeta Bhattacharya, Alvaro Fern’andez Garc’ia, Kailan…