解决TensorRT加速推理SDXL出现黑图问题

文章目录

解决TensorRT加速推理SDXL出现黑图问题

一般产生黑图,仅需要修改下面两个问题即可解决。

1. fp16

将pipeline中的fp16修改为fp32。

在使用稳定扩散(Stable Diffusion)生成图片时,选择不同的数据类型可以影响生成的结果。在这种情况下,从fp16(半精度浮点数)切换到fp32(单精度浮点数)解决了问题,通常意味着精度的不同可能导致了生成的结果差异。

  • fp16(半精度):它使用更短的位数来表示浮点数,因此可以表示的数值范围相对较小,精度较低。这可以导致数值不稳定性和溢出问题,尤其是在涉及大范围数值计算时。

  • fp32(单精度):它使用更多的位数,可以表示更广范围的数值并提供更高的精度。在计算中,fp32通常更可靠,尤其是在大规模深度学习模型中,因为它可以减少数值稳定性问题。

生成黑图的问题可能与fp16的数值范围和精度不足有关,导致计算过程中的数值溢出或不稳定性。当使用fp32时,数值稳定性更高,能够处理较大的数值范围。

2. 更换vae

在TensorRT进行编译的时候,会首先找到torch models,将torch models的vae_decoder的配置文件和权重修改为https://huggingface.co/madebyollin/sdxl-vae-fp16-fix时,完美解决问题。

相关推荐
aworkholic21 天前
opencv dnn模块 示例(27) 目标检测 object_detection 之 yolov11
pytorch·opencv·yolo·目标检测·dnn·tensorrt·yolo11
刘悦的技术博客1 个月前
Win11本地部署FaceFusion3最强AI换脸,集成Tensorrt10.4推理加速,让甜品显卡也能发挥生产力
ai·tensorrt·cuda
engchina2 个月前
tensorrt 下载地址
tensorrt
York19962 个月前
tensorrt python接口输出每一层的耗时
开发语言·python·tensorrt·context·myprofiler
选与握2 个月前
使用Pydot和graphviz画TensorRT的Engine图
人工智能·深度学习·tensorrt
NullPointerExpection3 个月前
win10安装wsl2(ubuntu20.04)并安装 TensorRT-8.6.1.6、cuda_11.6、cudnn
ubuntu·win10·wsl·tensorrt·cuda·cudnn·wsl2
yzZ_here3 个月前
基于c++的yolov5推理之前处理详解及代码(一)
开发语言·c++·yolo·tensorrt
书中藏着宇宙3 个月前
TesorRT10模型转换时的错误记录并解决
tensorrt·错误解决
NullPointerExpection3 个月前
使用 Visual Studio 2022 自带的 cl.exe 编译 tensorRT自带测试样例 sampleOnnxMNIST
c语言·c++·机器学习·计算机视觉·visual studio·tensorrt·神经网路
NullPointerExpection4 个月前
ubuntu23安装tensorRT步骤记录
linux·c++·opencv·tensorflow·tensorrt·cuda·gcc