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

超越sora,最新文生视频CogVideoX-5b模型分享

CogVideoX-5B是由智谱 AI 开源的一款先进的文本到视频生成模型,它是 CogVideoX 系列中的更大尺寸版本,旨在提供更高质量的视频生成效果。

CogVideoX-5B 采用了 3D 因果变分自编码器(3D causal VAE)技术,通过在空间和时间维度上对视频进行压缩,大幅度降低了计算复杂度,同时提高了视频生成的连续性和质量。

此外,模型还使用了专家 Transformer 技术,通过 3D-RoPE 作为位置编码,并采用 3D 全注意力机制来进行时空联合建模,改善视频与文本的对齐。

CogVideoX-5B模型能够生成高达 720×480 分辨率、每秒 8 帧、最长 6 秒的视频,使得生成的视频在动态表现上更为连贯流畅。

在硬件适配性上,CogVideoX-5B表现出色,可以在 RTX 3060 等桌面端显卡上运行,推理门槛大幅降低,使得更多的用户能够体验到顶尖的 AI 视频生成技术。

CogVideoX-5B模型支持多种精度的推理方式,如 FP16、BF16、FP32、INT8 等,用户可以根据自身硬件情况灵活选择,以在性能和效率之间找到最佳平衡点。

github项目地址:https://github.com/THUDM/CogVideo。

一、环境安装

1、python环境

建议安装python版本在3.10以上。

2、pip库安装

pip install torch==2.4.0+cu118 torchvision==0.19.0+cu118 torchaudio==2.4.0 --extra-index-url https://download.pytorch.org/whl/cu118

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

3、CogVideoX-5b模型下载

git lfs install

git clone https://www.modelscope.cn/AI-ModelScope/CogVideoX-5b.git

、功能测试

1、运行测试

(1)python代码调用测试

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

def generate_video(model_path, prompt, output_path, num_videos=1, inference_steps=50, num_frames=49, guidance_scale=6, seed=42, fps=8):
    try:
        # Initialize logger
        logging.basicConfig(level=logging.INFO)
        logger = logging.getLogger("VideoGeneration")

        # Load model
        logger.info("Loading model from path: %s", model_path)
        pipe = CogVideoXPipeline.from_pretrained(
            model_path,
            torch_dtype=torch.bfloat16
        )

        pipe.enable_model_cpu_offload()
        pipe.vae.enable_tiling()
        
        # Log device information
        logger.info("Using device: %s", torch.cuda.get_device_name(0))
        
        # Generate video
        logger.info("Generating video with prompt: %s", prompt)
        video = pipe(
            prompt=prompt,
            num_videos_per_prompt=num_videos,
            num_inference_steps=inference_steps,
            num_frames=num_frames,
            guidance_scale=guidance_scale,
            generator=torch.Generator(device="cuda").manual_seed(seed),
        ).frames[0]
        
        # Export video
        logger.info("Exporting video to file: %s", output_path)
        export_to_video(video, output_path, fps=fps)
        
        logger.info("Video generation completed successfully.")
    except Exception as e:
        logger.error("An error occurred during video generation: %s", str(e))

if __name__ == "__main__":
    model_path = "CogVideoX-5b"
    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.")
    output_path = "output.mp4"
    
    generate_video(model_path, prompt, output_path)

未完......

更多详细的欢迎关注:杰哥新技术


http://www.kler.cn/a/320761.html

相关文章:

  • 风电电力系统低碳调度论文阅读第一期
  • 如何利用SAP低代码平台快速构建企业级应用?
  • 使用Axios函数库进行网络请求的使用指南
  • 2024年09月CCF-GESP编程能力等级认证Python编程三级真题解析
  • 遇到 mysql_config not found 错误
  • MSTP知识点
  • 4.SPI外设—LCD小案例
  • 拓数派荣获上海数据交易所“数据治理服务商”认证
  • 无线领夹麦克风哪个牌子好,2024年新款领夹麦克风推荐
  • 回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测
  • 【监控体系搭建一】Docker安装与使用
  • 万界星空科技铜拉丝行业MES系统,实现智能化转型
  • Prometheus使用Pushgateway推送数据
  • 【数据结构】栈和队列(Stack Queue)
  • 统信服务器操作系统ade版【iostat】命令详解
  • LeetCode 136. 只出现一次的数字
  • 三,MyBatis-Plus 的各种查询的“超详细说明”,比如(等值查询,范围查询,模糊查询...)
  • Kafka集群扩容(新增一台kafka节点)
  • Could not load library libcudnn_cnn_train.so.8 问题及(非常简单)解决方案
  • 线阵相机的参数选型计算
  • vue.config.js devServer中changeOrigin的作用
  • VS Code实现flutter多语言(官方推荐Intl)
  • Golang | Leetcode Golang题解之第421题数组中两个数的最大异或值
  • 嵌入式硬件工程师与嵌入式软件工程师的区别(详细版)
  • 关于 ReentrantLock 中锁 lock() 和解锁 unlock() 的底层原理浅析
  • OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【文件系统】上