ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

TensorRT-LLM 如何用 VisualGen 运行 FLUX 文生图模型

TensorRT-LLM 如何用 VisualGen 运行 FLUX 文生图模型 TensorRT-LLM 如何用 VisualGen 运行 FLUX 文生图模型【免费下载链接】TensorRT-LLMTensorRT LLM provides users with an easy-to-use Python API to define Large Language Models (LLMs) and supports state-of-the-art optimizations to perform inference efficiently on NVIDIA GPUs. TensorRT LLM also contains components to create Python and C runtimes that orchestrate the inference execution in a performant way.项目地址: https://gitcode.com/GitHub_Trending/te/TensorRT-LLMTensorRT-LLM 的 VisualGen 模块为扩散模型DiT提供统一推理栈支持列表中包含black-forest-labs/FLUX.1-dev和black-forest-labs/FLUX.2-dev两个文生图模型。本文的目标是用 VisualGen 在 NVIDIA GPU 上跑通 FLUX 文生图从安装依赖、选择运行配置到执行生成并确认输出图片。该功能目前处于 beta 阶段API、支持模型和优化选项可能在未来版本中变化配置和接口以仓库当前文档为准见 Visual Generation 文档。准备条件在仓库根目录安装依赖示例目录 README 给出的安装方式pip install -r requirements-dev.txt准备模型权重。示例脚本的--model参数接受模型路径或 HuggingFace Hub ID默认值就是 Hub IDFLUX.1black-forest-labs/FLUX.1-devFLUX.2black-forest-labs/FLUX.2-dev如果本地已有 checkpoint 目录可以直接把--model指向本地路径不需要改动其他配置。确认 GPU 可用。下文的主路径配置均为单 GPU 场景cfg_size: 1、ulysses_size: 1。用示例脚本离线生成图片主路径仓库为 FLUX 提供了两个现成脚本命令行参数已封装好只需按需覆盖。以下命令均在仓库根目录下执行。运行 FLUX.1 文生图# 使用模型默认设置BF16/FP16 基线不带 quant_config python examples/visual_gen/models/flux1.py # 附加引擎配置NVFP4 动态量化单卡 python examples/visual_gen/models/flux1.py \ --visual_gen_args examples/visual_gen/configs/flux1-dev-fp4-1gpu.yaml脚本支持的主要参数来自 flux1.py参数默认值用途--modelblack-forest-labs/FLUX.1-dev模型路径或 HuggingFace Hub ID可替换为本地 checkpoint 目录--promptA cat sitting on a windowsill, cinematic lighting, highly detailed文生图提示词--num_images_per_prompt1每个提示词生成的图片数需 1--output_pathflux1_output.png输出路径生成多张图片时自动追加索引后缀--visual_gen_args无VisualGenArgsYAML 配置路径省略时应用模型自身默认设置请求参数由脚本从visual_gen.default_params起步——该对象已预置模型默认的分辨率、步数、guidance 和 seed脚本只覆盖图片数量不需要手工指定height/width。配置文件里各字段的作用flux1-dev-fp4-1gpu.yaml的完整内容很短见 configs 目录# 1-GPU FLUX.1-dev with NVFP4 dynamic quantization. quant_config: quant_algo: NVFP4 dynamic: true attention_config: backend: VANILLA parallel_config: cfg_size: 1 ulysses_size: 1 cuda_graph_config: enable: false对照 Visual Generation 文档 的说明quant_config是 ModelOpt 的量化配置格式dynamic: true表示从 BF16 checkpoint 在加载权重时做动态量化quant_algo文档中列出的取值包括FP8、FP8_BLOCK_SCALES、NVFP4。省略整个quant_config即为 BF16/FP16 基线。attention_config.backend: VANILLA选择 PyTorch SDPA 后端是文档列出的可插拔 attention 后端之一。parallel_config保持单卡cfg_size: 1、ulysses_size: 1。注意 FLUX 使用内嵌 guidance没有单独的 negative prompt 路径因此 CFG 并行不适用于 FLUX这里保持 1 是必须的。cuda_graph_config.enable: false关闭 CUDA Graph 捕获。FLUX.2 使用同名结构的配置flux2-dev-fp4-1gpu.yaml字段含义相同。运行 FLUX.2可选分支flux2.py 在 FLUX.1 的基础上多了参考图能力和更细的请求参数# 纯文生图 python examples/visual_gen/models/flux2.py \ --visual_gen_args examples/visual_gen/configs/flux2-dev-fp4-1gpu.yaml # 带参考图--image 可重复传入多张共享参考图 python examples/visual_gen/models/flux2.py \ --image subject.png --image style.png \ --prompt your prompt hereFLUX.2 接受的参考图会写入params.image_referenceMediaRef列表。额外参数--height/--width输出尺寸。带参考图时省略这两个参数脚本会让 FLUX.2 从第一张处理后的参考图推导尺寸。--num_inference_steps/--guidance_scale覆盖模型默认的步数与 embedded guidance scale省略则用默认值。--seed省略时每次选取新的随机种子。结果验证脚本在generate完成后调用output.save(...)并打印保存位置成功标志是终端输出Saved:后跟实际路径Saved: flux1_output.png生成的文件出现在当前工作目录图片模型输出固定为.png格式见 examples README。直接打开该文件确认图片内容即完成整个任务。通过 trtllm-serve 提供 OpenAI 兼容接口可选路径如果目标不是跑一次脚本而是对外提供生成服务trtllm-serve会通过 checkpoint 目录中的model_index.json自动识别扩散模型并启动带/v1/images/generations等 OpenAI 兼容端点的服务。serve 示例 README 给出的 FLUX.1 启动命令# $LLM_MODEL_DIR 需替换为本地 FLUX.1-dev checkpoint 所在目录 trtllm-serve $LLM_MODEL_DIR/FLUX.1-dev --visual_gen_args ./configs/flux1.yml其中./configs/flux1.yml对应仓库内的 serve 配置与离线 YAML 不同它开启了 TeaCacheteacache_thresh: 0.6文档说明示例配置中 FLUX.1 使用 0.6并固定单卡并行。也可以后台运行并用日志确认服务启动状态trtllm-serve $LLM_MODEL_DIR/FLUX.1-dev --visual_gen_args ./configs/flux1.yml /tmp/serve.log 21 tail -f /tmp/serve.log服务起来后用示例客户端发起同步文生图请求POST /v1/images/generations# FLUX.1sync_image_gen.py 默认是 FLUX.2 python sync_image_gen.py --model flux1客户端默认连接http://localhost:8000/v1成功后把图片保存为output_generation.png多张时带编号。该脚本同时演示了 OpenAI Python SDK 的调用方式可作为后续对接的参考。限制与注意事项不支持 CPU offloading功能矩阵中 FLUX.1 与 FLUX.2 的 CPU Offloading 均为 No显存不足时不能靠该选项缓解。CFG 并行不适用FLUX 使用内嵌 guidancecfg_size: 2这类 CFG 并行配置对 FLUX 无效。无模型专属 extra_paramsserve 文档明确指出 Wan 2.1 / Flux 未声明任何模型专属extra_params键请求中未知的顶层字段会被服务端以 HTTP 422 拒绝。量化与参考图的关系带参考图的 FLUX.2 请求在尺寸参数省略时依赖第一张参考图推导height/width自行指定尺寸时以显式值为准。跑通单卡生成后多卡扩展方向Ulysses 序列并行、Tensor 并行和更多模型示例见 examples/visual_gen 目录 与 Visual Generation 文档 的 Multi-GPU Parallelism 章节。【免费下载链接】TensorRT-LLMTensorRT LLM provides users with an easy-to-use Python API to define Large Language Models (LLMs) and supports state-of-the-art optimizations to perform inference efficiently on NVIDIA GPUs. TensorRT LLM also contains components to create Python and C runtimes that orchestrate the inference execution in a performant way.项目地址: https://gitcode.com/GitHub_Trending/te/TensorRT-LLM创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表