解决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时,完美解决问题。

相关推荐
engchina12 天前
tensorrt 下载地址
tensorrt
York199621 天前
tensorrt python接口输出每一层的耗时
开发语言·python·tensorrt·context·myprofiler
选与握22 天前
使用Pydot和graphviz画TensorRT的Engine图
人工智能·深度学习·tensorrt
NullPointerExpection1 个月前
win10安装wsl2(ubuntu20.04)并安装 TensorRT-8.6.1.6、cuda_11.6、cudnn
ubuntu·win10·wsl·tensorrt·cuda·cudnn·wsl2
yzZ_here1 个月前
基于c++的yolov5推理之前处理详解及代码(一)
开发语言·c++·yolo·tensorrt
书中藏着宇宙2 个月前
TesorRT10模型转换时的错误记录并解决
tensorrt·错误解决
NullPointerExpection2 个月前
使用 Visual Studio 2022 自带的 cl.exe 编译 tensorRT自带测试样例 sampleOnnxMNIST
c语言·c++·机器学习·计算机视觉·visual studio·tensorrt·神经网路
NullPointerExpection2 个月前
ubuntu23安装tensorRT步骤记录
linux·c++·opencv·tensorflow·tensorrt·cuda·gcc
肆十二3 个月前
Nvidia TensorRT系列01-TensorRT的功能1
nvidia·tensorrt
NullPointerExpection4 个月前
深度学习、神经网络领域经常听到一个术语 “量化“,比如 “量化算子“,“量化“具体什么含义呢?( 百度 AI 对话回答 )
深度学习·神经网络·tensorflow·卷积神经网络·量子计算·tensorrt