video-diffusion-pytorch

用 PyTorch 实现扩散模型,从文本生成连贯视频

video-diffusion-pytorch 是 Jonathan Ho 论文《Video Diffusion Models》的 PyTorch 实现,将 DDPM(去噪扩散概率模型)从图像生成扩展到视频生成。它解决的核心问题是:如何利用扩散模型生成连续、时序一致的高质量视频片段。项目提供完整的模型架构、训练和采样代码,支持文本到视频的生成,并包含多种注意力机制(如时空注意力)以捕捉视频中的时间和空间依赖。核心能力包括:基于 UNet 的 3D 扩散模型、文本条件注入、视频帧间一致性处理,以及灵活的配置选项(如分辨率、帧数、采样步数)。代码结构清晰,适合研究者快速上手复现论文结果,也便于开发者在此基础上进行二次开发。

开源 free 视频生成
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1386
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类视频生成
开发团队lucidrains
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型artificial-intelligence,ddpm,deep-learning,text-to-video,video-generation
GitHub 星标★ 1386
30天Star增速
HF 下载量
上线时间2022-04-08 00:00:00
最近更新2026-09-17 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 4 步

环境要求

  • 已安装 Python 与 pip 环境
  • 已安装 PyTorch(示例代码中 import torch)
  • 如需复现论文实验,需要较大算力(README 说明实验资源由 Stability.ai 提供)

安装与启动步骤

  1. 1安装依赖包

    README 只给出一条安装命令,直接在终端执行即可,无需克隆仓库。

    pip install video-diffusion-pytorch
  2. 2验证包可导入

    确认 Unet3D 与 GaussianDiffusion 能正常导入,避免装到了错误的 Python 环境。

    python -c "from video_diffusion_pytorch import Unet3D, GaussianDiffusion; print('ok')"
  3. 3编写示例脚本

    按 README 的 Usage 片段写入 demo.py:建 3D UNet 与扩散对象,随机生成一段视频张量。

    cat > demo.py <<'EOF'
    import torch
    from video_diffusion_pytorch import Unet3D, GaussianDiffusion
    
    model = Unet3D(
        dim = 64,
        dim_mults = (1, 2, 4, 8)
    )
    
    diffusion = GaussianDiffusion(
        model,
        image_size = 32,
        num_frames = 5,
        timesteps = 1000,   # number of steps
        loss_type = 'l1'    # L1 or L2
    )
    
    videos = torch.randn(1, 3, 5, 32, 32) # (batch, channels, frames, height, width),取值归一化到 -1 到 +1
    loss = diffusion(videos)
    print(loss)
    loss.backward()
    EOF
  4. 4运行示例

    执行脚本,首次运行会下载/初始化依赖并做一次前向与反向传播,CPU 上会较慢。

    python demo.py

关键配置

配置项必填说明示例
dim否UNet 基础通道维度,越大模型越大64
dim_mults否各层通道倍数,控制 UNet 深度与容量(1, 2, 4, 8)
image_size否视频帧的空间分辨率32
num_frames否生成的视频帧数5
timesteps否扩散过程的步数1000
loss_type否损失函数类型,可选 L1 或 L2l1

如何确认成功

运行 python demo.py 不报错并能打印出 loss 数值,说明前向与反向传播均正常。

常见问题

Q:安装成功后 import 报 ModuleNotFoundError 怎么办?

A:通常是装到了其他 Python 环境,可用 pip show video-diffusion-pytorch 确认安装位置,并用同一解释器重新执行安装命令。

Q:怎么实现文本到视频?

A:README 中本项目未给出文本条件的具体调用示例,并说明文本到视频的新进展集中到 lucidrains/imagen-pytorch 仓库,建议查阅该项目。

Q:显存不足怎么办?

A:可减小示例中的 image_size、num_frames,或降低 dim 与 dim_mults 的规模。

Q:loss_type 该选哪个?

A:README 注释说明可选 L1 或 L2,示例默认使用 'l1'。

注意事项

  • README 未提供训练/推理命令行脚本,使用方式以 Python API 为主。
  • 项目状态标注为 WIP(进行中),完整复现需要较大算力。
  • 文本到视频的后续研究已迁移到 imagen-pytorch 仓库,README 建议前往查看。

核心亮点

  • 忠实复现论文核心架构,时空注意力机制有效捕捉视频动态
  • 代码模块化清晰,易于修改和扩展训练配置
  • 支持文本条件生成,可直接用于 text-to-video 任务

不足之处

  • 训练视频数据需求大,普通 GPU 难以跑通完整流程
  • 文档偏少,示例和调参指南不够详细

适用场景

  • 学术研究:复现视频扩散模型基线,对比新方法
  • 原型开发:快速搭建文本到视频生成的最小可行产品
  • 教学演示:理解扩散模型在视频领域的应用

替代项目

Video Diffusion Models (Official)、Imagen Video、Make-A-Video

项目介绍

video-diffusion-pytorch 是视频领域的开源项目,由 lucidrains 开发,2022 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(1,386)位列前 30%,在视频分类中处于中上游。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-17。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:学术研究:复现视频扩散模型基线,对比新方法。同类可对比的替代方案包括 Video Diffusion Models (Official)、Imagen Video、Make-A-Video。

上一篇:text-to-video-synthesis-colab

下一篇:MagicTime

同类项目推荐

MoneyPrinterTurbo 开源

输入一句话,高清短视频自动出炉,文案配音全包了

利用 AI 大模型和自动化工作流,根据主题或关键词一键生成高清短视频。Generate HD short ···

★ 125106 2026-08-09
seedance-2.0-api 开源

快速上手字节Seedance 2.0,文本/图片一键生成视频

Seedance 2.0 API — text-to-video and image-to-video examples

★ 332 2026-08-26
openscreen 开源

免费无水印录屏做演示,替代 Screen Studio

Record your screen, ship a demo. Free and open-source, GPU-accelerated, no watermark···

★ 3185 2026-08-10
auto-subs 开源

在剪辑软件里直接生成字幕,省去导出导入的麻烦

On-device subtitle generation that connects directly to DaVinci Resolve, Premiere, a···

★ 4266 2026-08-10