ONNX 模型库
返回模型

说明文档

简介

此演示应用程序("demoDiffusion")展示了使用 TensorRT 插件加速 Stable Diffusion 推理管道。

设置

克隆 TensorRT OSS 仓库

git clone git@github.com:NVIDIA/TensorRT.git -b release/8.5 --single-branch
cd TensorRT
git submodule update --init --recursive

启动 TensorRT NGC 容器

按照这些说明安装 nvidia-docker。

docker run --rm -it --gpus all -v $PWD:/workspace nvcr.io/nvidia/tensorrt:22.10-py3 /bin/bash

(可选)安装最新 TensorRT 版本

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade tensorrt

注意:或者,您可以从 NVIDIA TensorRT 开发者专区下载并安装 TensorRT 软件包。

构建 TensorRT 插件库

按照 TensorRT OSS 构建说明构建 TensorRT 插件库。

export TRT_OSSPATH=/workspace

cd $TRT_OSSPATH
mkdir -p build && cd build
cmake .. -DTRT_OUT_DIR=$PWD/out
cd plugin
make -j$(nproc)

export PLUGIN_LIBS=\"$TRT_OSSPATH/build/out/libnvinfer_plugin.so\"

安装所需依赖包

cd $TRT_OSSPATH/demo/Diffusion
pip3 install -r requirements.txt

# 创建输出目录
mkdir -p onnx engine output

注意:demoDiffusion 已在配备 NVIDIA A100、RTX3090 和 RTX4090 GPU 的系统上进行测试,软件配置如下:

cuda-python         11.8.1
diffusers           0.7.2
onnx                1.12.0
onnx-graphsurgeon   0.3.25
onnxruntime         1.13.1
polygraphy          0.43.1
tensorrt            8.5.1.7
tokenizers          0.13.2
torch               1.12.0+cu116
transformers        4.24.0

注意:可选择安装 HuggingFace accelerate 软件包,以实现更快速且内存占用更少的模型加载。

运行 demoDiffusion

查看使用说明

python3 demo-diffusion.py --help

HuggingFace 用户访问令牌

要下载 Stable Diffusion 推理管道的模型检查点,您需要一个 read 访问令牌。请参阅说明。

export HF_TOKEN=<your access token>

根据单个文本提示生成图像

LD_PRELOAD=${PLUGIN_LIBS} python3 demo-diffusion.py \"a beautiful photograph of Mt. Fuji during cherry blossom\" --hf-token=$HF_TOKEN -v

限制

  • 每次推理最多支持 16 个同时提示(最大批次大小)。
  • 要在不重新构建引擎的情况下生成动态尺寸的图像,请使用 --force-dynamic-shape。
  • 支持的图像尺寸在 256x256 到 1024x1024 之间。

camenduru/tensorrt-test-22.10

作者 camenduru

↓ 0 ♥ 0

创建时间: 2023-02-01 11:52:12+00:00

更新时间: 2023-02-01 12:30:38+00:00

在 Hugging Face 上查看

文件 (52)

.gitattributes
.gitignore
README.md
demo-diffusion.py
engine/clip.plan
engine/unet_fp16.plan
engine/vae.plan
models.py
onnx/clip.onnx ONNX
onnx/clip.opt.onnx ONNX
onnx/unet_fp16.onnx ONNX
onnx/unet_fp16.opt.onnx ONNX
onnx/vae.onnx ONNX
onnx/vae.opt.onnx ONNX
output/sd-fp16-als_beauti-1-1833.png
output/sd-fp16-als_beauti-1-2156.png
output/sd-fp16-als_beauti-1-2469.png
output/sd-fp16-als_beauti-1-4330.png
output/sd-fp16-als_beauti-1-5266.png
output/sd-fp16-als_beauti-1-6483.png
output/sd-fp16-als_beauti-1-8356.png
output/sd-fp16-als_beauti-10-8081.png
output/sd-fp16-als_beauti-11-6383.png
output/sd-fp16-als_beauti-12-3382.png
output/sd-fp16-als_beauti-13-8041.png
output/sd-fp16-als_beauti-14-8491.png
output/sd-fp16-als_beauti-15-1043.png
output/sd-fp16-als_beauti-16-5686.png
output/sd-fp16-als_beauti-2-3984.png
output/sd-fp16-als_beauti-2-5914.png
output/sd-fp16-als_beauti-2-7772.png
output/sd-fp16-als_beauti-3-4876.png
output/sd-fp16-als_beauti-3-5912.png
output/sd-fp16-als_beauti-3-6365.png
output/sd-fp16-als_beauti-4-2160.png
output/sd-fp16-als_beauti-4-5507.png
output/sd-fp16-als_beauti-4-9267.png
output/sd-fp16-als_beauti-5-7535.png
output/sd-fp16-als_beauti-5-7751.png
output/sd-fp16-als_beauti-5-8031.png
output/sd-fp16-als_beauti-6-2878.png
output/sd-fp16-als_beauti-6-6059.png
output/sd-fp16-als_beauti-6-8359.png
output/sd-fp16-als_beauti-7-2848.png
output/sd-fp16-als_beauti-7-6702.png
output/sd-fp16-als_beauti-7-9321.png
output/sd-fp16-als_beauti-8-2223.png
output/sd-fp16-als_beauti-8-5643.png
output/sd-fp16-als_beauti-8-5884.png
output/sd-fp16-als_beauti-9-6315.png
requirements.txt
utilities.py