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

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

    正在检查是否收录...

文章目录

1 sdxl 转 diffusers 2 转onnx 3 转TensorRT

1 sdxl 转 diffusers

juggernautXL_version6Rundiffusion.safetensors文件是pth pytroch文件,需要先转为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") if __name__ == '__main__': convert_sdxl_to_diffusers("/ssd/wangmiaojun/tensorRT_test/juggernautXL_version6Rundiffusion.safetensors", "/ssd/wangmiaojun/tensorRT_test/mj_onnx") 

FP16在后面不好操作,所以最好先是FP32:

```bash 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).to("cuda") pipe.save_pretrained(output_diffusers_path) if __name__ == '__main__': convert_sdxl_to_diffusers("/ssd/wangmiaojun/tensorRT_test/juggernautXL_version6Rundiffusion.safetensors", "/ssd/wangmiaojun/tensorRT_test/mj_onnx32") 

2 转onnx

有了diffusers 的文件结构,就可以转onnx文件。

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

pip install -q optimum["onnxruntime"] 
optimum-cli export onnx --model /data/xiedong/fooocus_tensorRT/juggernautXL_version6Rundiffusion_onnx/ --task stable-diffusion-xl juggernautXL_version6Rundiffusion_onnx_optinmum 

3 转TensorRT

博客里第2个步骤转onnx不是必须的,因为在这个步骤里,tensorRT官方代码里是有带转onnx的。可以第1个步骤后就走这个步骤。

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 --gpus all -it --ipc=host --ulimit memlock=-1 --ulimit 

tensorrtdiffusioncodeonnxgitsdxlstablediffusiontpuhuggingfacegpucloneimudocurlgithubooodockerclibash
  • 本文作者:李琛
  • 本文链接: https://wapzz.net/post-7620.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
本站部分内容来源于网络转载,仅供学习交流使用。如涉及版权问题,请及时联系我们,我们将第一时间处理。
文章很赞!支持一下吧 还没有人为TA充电
为TA充电
还没有人为TA充电
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
2.3W+
5
0
1
WAP站长官方

国内首个!最火的MoE大模型APP来了,免费下载,人人可玩

上一篇

使用人工智能助手 Github Copilot 进行编程 02

下一篇
  • 复制图片
按住ctrl可打开默认菜单