AI个人学习
和实操指南
讯飞绘镜

DiffSynth-Engine:低现存部署FLUX、Wan2.1的开源引擎

综合介绍

DiffSynth-Engine 是魔搭社区(ModelScope)推出的开源项目,托管于 GitHub。它基于扩散模型技术,专注于高效生成图像和视频,适合开发者在生产环境中部署 AI 模型。项目从 DiffSynth-Studio 演进而来,经过全面工程化改造,优化了计算效率和部署便捷性。它支持多种模型(如 FLUX、Wan2.1),提供清晰的代码结构和灵活的内存管理。截至 2025 年 3 月,项目持续更新,受到开源社区广泛关注,旨在推动 AI 创作的实用化。

DiffSynth-Engine:低现存部署FLUX、Wan2.1的开源引擎-1


 

功能列表

  • 支持高效生成图像和视频,覆盖从静态图片到动态内容的多种需求。
  • 提供清晰可读的代码,无需依赖第三方库,方便开发者修改和扩展。
  • 兼容多种基础模型(如 FLUX、Wan2.1)和 LoRA 模型,适应不同场景。
  • 内置灵活的内存管理,支持 FP8、INT8 等量化模式,低显存设备也能运行。
  • 优化推理速度,支持张量并行计算,加速大规模生成任务。
  • 提供跨平台支持,兼容 Windows、macOS(含 Apple Silicon)和 Linux。
  • 支持文本到图像、文本到视频,以及视频风格化等多种功能。

 

使用帮助

安装流程

安装 DiffSynth-Engine 很简单,只需几步即可完成。

  1. 安装核心包
    在终端输入以下命令,通过 pip3 安装:
pip3 install diffsynth-engine

确保 Python 版本为 3.8 或以上。建议使用虚拟环境,避免依赖冲突。

  1. 下载模型文件
    项目不包含模型文件,需手动或通过代码下载。例如,获取 FLUX 模型:
from diffsynth_engine import fetch_model
model_path = fetch_model("muse/flux-with-vae", revision="20240902173035", path="flux1-dev-with-vae.safetensors")

下载后,模型文件通常放在本地指定目录,供脚本调用。

  1. 验证安装
    安装完成后,运行简单测试脚本确认环境正常:

    from diffsynth_engine import __version__
    print(__version__)
    

    输出版本号即表示安装成功。

主要功能操作

1. 生成图像(以 FLUX 为例)

  • 操作步骤
    使用以下代码生成图像:

    from diffsynth_engine.pipelines import FluxImagePipeline, FluxModelConfig
    from diffsynth_engine import fetch_model
    model_path = fetch_model("muse/flux-with-vae", revision="20240902173035", path="flux1-dev-with-vae.safetensors")
    config = FluxModelConfig(dit_path=model_path)
    pipe = FluxImagePipeline.from_pretrained(config, offload_mode="cpu_offload").eval()
    image = pipe(
    prompt="月球上的宇航员骑马,黑白摄影风格,颗粒感强,对比度高",
    width=1024,
    height=1024,
    num_inference_steps=30,
    seed=42,
    )
    image.save("flux_txt2img.png")
    
  • 特色说明
    默认需要 23GB 显存。若显存不足,可调整 offload_mode="sequential_cpu_offload",只需 4GB 显存即可运行,但生成时间会延长(如 91 秒)。支持多种量化精度(如 q8_0、q6_k),显存需求可降至 7-12GB。

2. 生成视频(以 Wan2.1 为例)

  • 操作步骤
    使用以下代码生成视频:

    from diffsynth_engine.pipelines import WanVideoPipeline, WanModelConfig
    from diffsynth_engine.utils.download import fetch_model
    from diffsynth_engine.utils.video import save_video
    config = WanModelConfig(
    model_path=fetch_model("muse/wan2.1-14b-bf16", path="dit.safetensors"),
    t5_path=fetch_model("muse/wan2.1-umt5", path="umt5.safetensors"),
    vae_path=fetch_model("muse/wan2.1-vae", path="vae.safetensors"),
    )
    pipe = WanVideoPipeline.from_pretrained(config)
    video = pipe(
    prompt="小狗在草地上奔跑,阳光照耀,背景有野花和蓝天",
    num_frames=41,
    width=848,
    height=480,
    seed=42,
    )
    save_video(video, "wan_t2v.mp4", fps=15)
    
  • 特色说明
    单卡生成 2 秒视频需 358 秒。若使用 4 张 A100 GPU 并开启张量并行(parallelism=4, use_cfg_parallel=True),时间缩短至 114 秒,加速比达 3.14 倍。

3. 低显存优化

  • 操作步骤
    在 FLUX 示例中,将 offload_mode 改为 sequential_cpu_offload

    pipe = FluxImagePipeline.from_pretrained(config, offload_mode="sequential_cpu_offload").eval()
    
  • 特色说明
    显存需求从 23GB 降至 3.52GB,适合普通设备。量化模式(如 q4_k_s)进一步平衡速度和质量,生成效果略有下降但仍实用。

4. 多卡并行推理

  • 操作步骤
    在 Wan2.1 示例中,添加并行参数:

    pipe = WanVideoPipeline.from_pretrained(config, parallelism=4, use_cfg_parallel=True)
    
  • 特色说明
    支持多 GPU 并行计算。2 张 GPU 加速 1.97 倍,4 张 GPU 加速 3.14 倍,适合工业级部署。

注意事项

  • 硬件要求:图像生成推荐 8GB 显存,视频生成建议 24GB 或多卡配置。
  • 模型路径:确保 fetch_model 下载的路径正确,否则需手动指定。
  • 文档参考:更多用法见官方 GitHub 页面 <https://github.com/modelscope/DiffSynth-Engine>

 

应用场景

  1. 个人创作
    用户可以用 FLUX 生成艺术图像,或用 Wan2.1 制作短视频,适合社交媒体分享。
  2. 工业部署
    企业可利用多卡并行推理,快速生成高质量视频内容,用于广告或影视制作。
  3. 技术研究
    开发者可修改代码,测试不同模型和量化策略,推动 AI 技术优化。
  4. 教育培训
    学生可通过简单安装,学习扩散模型的实际应用,探索 AI 生成原理。

 

QA

  1. 安装失败怎么办?
    检查 Python 版本和网络连接。确保 pip 是最新版(pip install --upgrade pip),或手动下载依赖。
  2. 支持哪些模型?
    支持 FLUX、Wan2.1 等基础模型,以及兼容 LoRA 微调模型,覆盖图像和视频生成。
  3. 低配电脑能用吗?
    可以。调整 offload_mode 和量化参数后,4GB 显存即可运行 FLUX。
  4. 多卡并行怎么设置?
    在管道初始化时添加 parallelism 参数,需确保 GPU 数量匹配。
未经允许不得转载:首席AI分享圈 » DiffSynth-Engine:低现存部署FLUX、Wan2.1的开源引擎
zh_CN简体中文