【深度学习】SDXL tensorRT 推理,Stable Diffusion 转onnx,转TensorRT

sdxl 转 diffusers

def convert_sdxl_to_diffusers(pretrained_ckpt_path, output_diffusers_path):
    import os
    os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"  # 设置 HF 镜像源(国内用户使用)
    os.environ["CUDA_VISIBLE_DEVICES"] = "1"  # 设置 GPU 所使用的节点

    import torch
    from diffusers import StableDiffusionXLPipeline
    pipe = StableDiffusionXLPipeline.from_single_file(pretrained_ckpt_path, torch_dtype=torch.float16).to("cuda")
    pipe.save_pretrained(output_diffusers_path, variant="fp16")

转onnx

项目:https://huggingface.co/docs/diffusers/optimization/onnx

比如转sdxl模型:

optimum-cli export onnx --model stabilityai/stable-diffusion-xl-base-1.0 --task stable-diffusion-xl sd_xl_onnx/
optimum-cli export onnx --model frankjoshua/juggernautXL_version6Rundiffusion --task stable-diffusion-xl sdxl_onnx_juggernautXL_version6Rundiffusion

转TensorRT

stabilityai/stable-diffusion-xl-1.0-tensorrt

项目:https://huggingface.co/stabilityai/stable-diffusion-xl-1.0-tensorrt

TensorRT环境:

git clone https://github.com/rajeevsrao/TensorRT.git
cd TensorRT
git checkout release/9.2


stabilityai/stable-diffusion-xl-1.0-tensorrt项目

git lfs install 
git clone https://huggingface.co/stabilityai/stable-diffusion-xl-1.0-tensorrt
cd stable-diffusion-xl-1.0-tensorrt
git lfs pull
cd ..

进入容器:

docker run -it --gpus all -v $PWD:/workspace nvcr.io/nvidia/pytorch:23.11-py3 /bin/bash

安装环境:

cd demo/Diffusion
python3 -m pip install --upgrade pip
pip3 install -r requirements.txt
python3 -m pip install --pre --upgrade --extra-index-url https://pypi.nvidia.com tensorrt

执行SDXL推理:

python3 demo_txt2img_xl.py   "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"   --build-static-batch   --use-cuda-graph   --num-warmup-runs 1   --width 1024   --height 1024   --denoising-steps 30  --version=xl-1.0   --onnx-dir /workspace/stable-diffusion-xl-1.0-tensorrt/sdxl-1.0-base   --onnx-refiner-dir /workspace/stable-diffusion-xl-1.0-tensorrt/sdxl-1.0-refiner
python3 demo_txt2img_xl.py   "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"   --build-static-batch   --use-cuda-graph   --num-warmup-runs 1   --width 1024   --height 1024   --denoising-steps 30  --version=xl-1.0   --onnx-dir /workspace/sdxl_onnx_juggernautXL_version6Rundiffusion

这个py代码对终端解析有时候有点问题,直接在代码里改一下,直接指定一下:

在这里插入图片描述

3090速度:
在这里插入图片描述

SDXL-LCM

python3 demo_txt2img_xl.py \
  "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" \
  --version=xl-1.0 \
  --onnx-dir /workspace/stable-diffusion-xl-1.0-tensorrt/lcm \
  --engine-dir /workspace/stable-diffusion-xl-1.0-tensorrt/lcm/engine-sdxl-lcm-nocfg \
  --scheduler LCM \
  --denoising-steps 4 \
  --guidance-scale 0.0 \
  --seed 42

SDXL-LCMLORA

python3 demo_txt2img_xl.py \
  "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" \
  --version=xl-1.0 \
  --onnx-dir /workspace/stable-diffusion-xl-1.0-tensorrt/lcmlora \
  --engine-dir /workspace/stable-diffusion-xl-1.0-tensorrt/lcm/engine-sdxl-lcmlora-nocfg \
  --scheduler LCM \
  --lora-path latent-consistency/lcm-lora-sdxl \
  --lora-scale 1.0 \
  --denoising-steps 4 \
  --guidance-scale 0.0 \
  --seed 42

3090速度:

在这里插入图片描述

相关推荐

  1. TensorRT加速推理入门-1:PytorchONNX

    2024-01-10 03:36:01       32 阅读
  2. 深度学习】Pytorch模型Onnx

    2024-01-10 03:36:01       12 阅读
  3. pytorch onnx

    2024-01-10 03:36:01       29 阅读
  4. tensorflow | onnx模型pb

    2024-01-10 03:36:01       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-10 03:36:01       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-10 03:36:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-10 03:36:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-10 03:36:01       18 阅读

热门阅读

  1. QT c++ 双精度浮点数转换成4个16位数

    2024-01-10 03:36:01       30 阅读
  2. DataFrame相关的API

    2024-01-10 03:36:01       32 阅读
  3. 正则表达式手册

    2024-01-10 03:36:01       38 阅读
  4. android系列-init 初始化日志

    2024-01-10 03:36:01       33 阅读
  5. 什么是跨境电商独立站?

    2024-01-10 03:36:01       50 阅读
  6. MySQL运维实战(2.4) SSL认证在MySQL中的应用

    2024-01-10 03:36:01       27 阅读
  7. 【Leetcode】24. 两两交换链表中的节点

    2024-01-10 03:36:01       41 阅读
  8. 什么是OOM error

    2024-01-10 03:36:01       37 阅读
  9. Lazada商品API接口:item_search接口中指定搜索范围

    2024-01-10 03:36:01       36 阅读
  10. VSCode安装GitHub Copilot插件方法

    2024-01-10 03:36:01       49 阅读