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

Derniers outils d'IAPosté il y a 2 mois Sharenet.ai
454 0
Trae

Introduction générale

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

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

 

Liste des fonctions

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

 

Utiliser l'aide

Processus d'installation

安装 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 为例)

  • procédure
    使用以下代码生成图像:

    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")
    
  • Description détaillée
    默认需要 23GB 显存。若显存不足,可调整 offload_mode="sequential_cpu_offload",只需 4GB 显存即可运行,但生成时间会延长(如 91 秒)。支持多种量化精度(如 q8_0、q6_k),显存需求可降至 7-12GB。

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

  • procédure
    使用以下代码生成视频:

    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)
    
  • Description détaillée
    单卡生成 2 秒视频需 358 秒。若使用 4 张 A100 GPU 并开启张量并行(parallelism=4, use_cfg_parallel=True),时间缩短至 114 秒,加速比达 3.14 倍。

3. 低显存优化

  • procédure
    在 FLUX 示例中,将 offload_mode 改为 sequential_cpu_offload: :

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

4. 多卡并行推理

  • procédure
    在 Wan2.1 示例中,添加并行参数:

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

mise en garde

  • exigences en matière de matériel:图像生成推荐 8GB 显存,视频生成建议 24GB 或多卡配置。
  • 模型路径:确保 fetch_model 下载的路径正确,否则需手动指定。
  • référence de la documentation:更多用法见官方 GitHub 页面 <https://github.com/modelscope/DiffSynth-Engine>.

 

scénario d'application

  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 数量匹配。
© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

aucun
Pas de commentaires...