返回模型
说明文档
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 流水线。
模型描述
- 开发者: Stability AI
- 模型类型: 基于扩散的文本生成图像模型
- 许可证: STABILITY AI 非商业研究社区许可证
- 模型描述: 这是 SDXL-Turbo 模型的转换版本,用于在 ONNX Runtime 上使用 CUDA 执行提供程序进行推理。
VAE 解码器从 sdxl-vae-fp16-fix 转换而来。其输出与原始 VAE 之间存在轻微差异,但解码后的图像对于大多数用途来说应该足够接近。
使用示例
按照演示说明操作。示例步骤如下:
-
按照这些说明安装 nvidia-docker。
-
克隆 onnxruntime 仓库。
git clone https://github.com/microsoft/onnxruntime
cd onnxruntime
- 从本仓库下载 SDXL ONNX 文件
git lfs install
git clone https://huggingface.co/tlwu/sdxl-turbo-onnxruntime
- 启动 docker
docker run --rm -it --gpus all -v $PWD:/workspace nvcr.io/nvidia/pytorch:23.10-py3 /bin/bash
- 从源码构建 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 以避免内存不足。
- 安装库和依赖项
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
- 执行 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