ONNX 模型库
返回模型

说明文档

Stable Diffusion XL Turbo ONNX Runtime CUDA 版

简介

本仓库托管了 SDXL Turbo 的优化 ONNX 模型,用于在 ONNX Runtime CUDA 执行提供程序上加速 Nvidia GPU 的推理。它无法在 CPU 或 DirectML 等其他提供程序上运行。

这些模型由 Olive 生成,命令如下:

python stable_diffusion_xl.py --provider cuda --model_id stabilityai/sdxl-turbo --optimize --use_fp16_fixed_vae

请参阅使用说明了解如何使用本仓库中托管的 ONNX 文件运行 SDXL 流水线。

模型描述

VAE 解码器从 sdxl-vae-fp16-fix 转换而来。其输出与原始 VAE 之间存在轻微差异,但解码后的图像对于大多数用途来说应该足够接近

使用示例

按照演示说明操作。示例步骤如下:

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

  2. 克隆 onnxruntime 仓库。

git clone https://github.com/microsoft/onnxruntime
cd onnxruntime
  1. 从本仓库下载 SDXL ONNX 文件
git lfs install
git clone https://huggingface.co/tlwu/sdxl-turbo-onnxruntime
  1. 启动 docker
docker run --rm -it --gpus all -v $PWD:/workspace nvcr.io/nvidia/pytorch:23.10-py3 /bin/bash
  1. 从源码构建 ONNX Runtime
export CUDACXX=/usr/local/cuda-12.2/bin/nvcc
git config --global --add safe.directory '*'
sh build.sh --config Release  --build_shared_lib --parallel --use_cuda --cuda_version 12.2 \
            --cuda_home /usr/local/cuda-12.2 --cudnn_home /usr/lib/x86_64-linux-gnu/ --build_wheel --skip_tests \
            --use_tensorrt --tensorrt_home /usr/src/tensorrt \
            --cmake_extra_defines onnxruntime_BUILD_UNIT_TESTS=OFF \
            --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=80 \
            --allow_running_as_root
python3 -m pip install build/Linux/Release/dist/onnxruntime_gpu-*-cp310-cp310-linux_x86_64.whl --force-reinstall

如果 GPU 不是 A100,请根据 GPU 计算能力修改命令行中的 CMAKE_CUDA_ARCHITECTURES=80(例如 RTX 4090 为 89,RTX 3090 为 86)。如果您的机器内存小于 64GB,请将 --parallel 替换为 --parallel 4 --nvcc_threads 1 以避免内存不足。

  1. 安装库和依赖项
python3 -m pip install --upgrade pip
cd /workspace/onnxruntime/python/tools/transformers/models/stable_diffusion
python3 -m pip install -r requirements-cuda12.txt
python3 -m pip install --upgrade polygraphy onnx-graphsurgeon --extra-index-url https://pypi.ngc.nvidia.com
  1. 执行 ONNX Runtime 优化推理
python3 demo_txt2img_xl.py \
  \"starry night over Golden Gate Bridge by van gogh\" \
  --version xl-turbo   \
  --engine-dir /workspace/sdxl-turbo-onnxruntime

onnxruntime/sdxl-turbo

作者 onnxruntime

text-to-image
↓ 0 ♥ 3

创建时间: 2024-01-19 22:43:11+00:00

更新时间: 2024-01-23 21:24:57+00:00

在 Hugging Face 上查看

文件 (20)

.gitattributes
LICENSE
README.md
model_index.json
scheduler/scheduler_config.json
text_encoder/model.onnx ONNX
text_encoder_2/model.onnx ONNX
text_encoder_2/model.onnx.data
tokenizer/merges.txt
tokenizer/special_tokens_map.json
tokenizer/tokenizer_config.json
tokenizer/vocab.json
tokenizer_2/merges.txt
tokenizer_2/special_tokens_map.json
tokenizer_2/tokenizer_config.json
tokenizer_2/vocab.json
unet/model.onnx ONNX
unet/model.onnx.data
vae_decoder/model.onnx ONNX
vae_encoder/model.onnx ONNX