Stable Diffusion——使用TensorRT GPU加速提升Stable Diffusion出图速度

这篇具有很好参考价值的文章主要介绍了Stable Diffusion——使用TensorRT GPU加速提升Stable Diffusion出图速度。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

Diffusion 模型在生成图像时最大的瓶颈是速度过慢的问题。为了解决这个问题,Stable Diffusion 采用了多种方式来加速图像生成,使得实时图像生成成为可能。最核心的加速是Stable Diffusion 使用了编码器将图像从原始的 3512512 大小转换为更小的 46464 大小,从而极大地降低了计算量。它还利用了潜在表示空间(latent space)上的 Diffusion 过程,进一步降低了计算复杂度,同时也能保证较好的图像生成效果。在 消费级GPU 上(8G显存),Stable Diffusion 要生成一张描述复杂图像大概需要 4 秒时间。

然而,对于许多面向消费者的应用来说,每张图像生成需要 4 秒的耗时仍然过长。这时候,TensorRT 就发挥了重要作用。TensorRT 是英伟达(NVIDIA)推出的高性能深度学习推理(inference)库,旨在优化和加速深度学习模型的推理过程。它能够将训练好的深度学习模型优化并部署到 NVIDIA GPU 上,实现实时推理任务的高效执行。TensorRT 的设计目标是提高推理性能、减少延迟和资源消耗,并支持在边缘设备上运行。

TensorRT 提供了许多优化技术,包括网络层融合(layer fusion)、内存优化、精度降级(precision calibration)、量化(quantization)和深度学习模型的裁剪(network pruning)。通过这些技术,TensorRT 可以最大限度地利用 GPU 的并行计算能力,实现深度学习模型的高效执行。

2023年10月18日 Nvidia终于推出了官方的TensorRT插件Stable-Diffusion-WebUI-TensorRT,该插件可以直接在 webui 的 extension 中安装即可,默认支持cuda11.x。

环境配置要求

要使用Stable-Diffusion-WebUI-TensorRT插件加速,有几个重要的前提条件,GPU必须是NVIDIA的(俗称N卡),GPU的显存必须在8G以上,包含8G,GPU驱动版本大于等于537.58,如果电脑没有别的深度学习模型要训练,建议驱动更新到最新的版本。物理内存大于等于16G。
支持Stable-Diffusion1.5,2.1,SDXL,SDXL Turbo 和 LCM。对于 SDXL 和 SDXL Turbo,官方推荐使用具有12GB 或更多 VRAM 的 GPU,以获得最佳性能。

stable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC
查看GPU驱动版本:
stable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC
查看内存与显卡型号:
stable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC

我使用的环境是win10,GPU 3080 10G显存,32G内存,Stable Diffusion用的是秋叶大佬的4.5这个版本。

Stable-Diffusion-WebUI-TensorRT安装

1.安装

启动Stable-Diffusion-WebUI,找到扩展,然后从网址安装TensorRT插件:
插件网址:https://github.com/NVIDIA/Stable-Diffusion-WebUI-TensorRT.gitstable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC
点击安装:
stable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC
等侍2到10分钟,安装完成:
stable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC

然后重启Stable-Diffusion-WebUI,就可以看到:
stable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC
stable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC

2.设置

打开设置——>用户界面——>快捷设置列表——>输入"sd_unet",然后保存设置,重载UI:
stable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC
重启之后就可以看到多了一个SD Unet的选框了:
stable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC

3.模型转换

选择要使用的模型,然后打开TensorRT——>TensorRT导出——>选择预设尺寸——>导出引擎:
stable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC
关于导出尺寸,这是要设置不用尺寸,但尺寸大小只能是2的幕,这里面导出的模型为onnx模型,如果接触过深度学习的都清楚这个尺寸的含义。

4. 测试推理速度

使用TensorRT推理时,选择的模型与SD Unet要对应,出图的宽度与高度,也要对应上一步导出的模型的尺寸:
stable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC

测试出图速度,使用TensorRT出图时,第一张图会很慢,要计算时间可以从第二张开始算,下面出图尺寸是1024*1024:

使用TensorRT推理:
stable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC
不使用TensorRT推理,可以看出慢了2点几秒,差不多3秒:
stable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC

使用TensorRT推理(出图尺寸512*512):
stable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC

不使用TensorRT推理(出图尺寸512*512),可以看出,不使用TensorRT差不多要慢上一倍左右:
stable difusion tensorrt,Stable Diffusion,stable diffusion,TensorRT,人工智能,AIGC文章来源地址https://www.toymoban.com/news/detail-831852.html

到了这里,关于Stable Diffusion——使用TensorRT GPU加速提升Stable Diffusion出图速度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Stable Diffusion/NovelAI Diffusion的AMD GPU加速推理探索】

    测试机子配置: 1:AMD RX6600(显存8g)+i5 12600KF 16g内存 (台式机) 2:RTX 3070 laptop(显存8g)+i7 10870H 32g内存 (HP暗夜精灵笔记本) 两台电脑平均性能差不多,当然N卡肯定更好一点 这边我们还是MS大发好,用MS的DirectML推理框架推理,虽然据小道消息反馈DML推理效率远不如Cuda,但是要知道

    2024年02月01日
    浏览(32)
  • (含代码)利用NVIDIA Triton加速Stable Diffusion XL推理速度

    扩散模型正在改变跨行业的创意工作流程。 这些模型通过去噪扩散技术迭代地将随机噪声塑造成人工智能生成的艺术,从而基于简单的文本或图像输入生成令人惊叹的图像。 这可以应用于许多企业用例,例如创建个性化营销内容、为照片中的对象生成富有想象力的背景、设

    2024年04月11日
    浏览(26)
  • 利用GPU加速自定义风格图像生成-利用GPU加速结合了ControlNet/ Lora的Stable Diffusion XL

    点击链接完成注册,参加本次在线研讨会 https://www.nvidia.cn/webinars/sessions/?session_id=240124-31319 随着AI技术的发展, 数字内容创建业务也变得越来越火热。生成式AI模型的发布, 让我们看到了人工智能在各行各业的潜力。您只需要用语言简单描述自己希望看到的画面, AI便可以自动生

    2024年01月24日
    浏览(37)
  • diffusers加速文生图速度;stable-diffusion、PixArt-α模型

    参考: https://pytorch.org/blog/accelerating-generative-ai-3/ https://colab.research.google.com/drive/1jZ5UZXk7tcpTfVwnX33dDuefNMcnW9ME?usp=sharing#scrollTo=jueYhY5YMe22 大概GPU资源8G-16G;另外模型资源下载慢可以在国内镜像:https://aifasthub.com/ 1、加速代码 能加速到2秒左右

    2024年04月23日
    浏览(64)
  • 使用ControlNet控制Stable-Diffusion出图人物的姿势

    在Stable-Diffusion(以下简称SD)出图中,我们往往需要对出图人物的姿势进行控制,这里我使用一个比较简单上手的方法,通过ControlNet可以很方便地对画面风格,人物姿势进行控制,从而生成更加符合自己期望的图片 跟SD配合的插件工具的项目地址是:https://github.com/Mikubill/s

    2024年02月09日
    浏览(44)
  • 2、使用阿里云镜像加速器提升Docker的资源下载速度

    1、注册阿里云账号并登录 https://www.aliyun.com/ 2、进入个人控制台,找到“容器镜像服务” 3、在“容器镜像服务”中找到“镜像加速器” 4、在右侧列表中会显示你的加速器地址,复制地址 5、进入/etc/docker目录,编辑daemon.json,此文件默认不存在,保存时会自动创建 6、保存文

    2024年02月06日
    浏览(42)
  • stable diffusion实践操作-批次出图

    stable diffusion实践操作 本章主要介绍SD批次出图。 想要一次产生多张图片的时候使用。 生成批次和每批数量至少一个为1, 产生了一张合图和4张单独图片。 例如:以上就是今天要讲的内容。

    2024年02月09日
    浏览(33)
  • 十六)Stable Diffusion教程:出图流程化

    今天说一个流程化出图的案例,适用很多方面。 1、得到线稿,自己画或者图生图加线稿lora出线稿;如果想sd出图调整参数不那么频繁细致,则线稿的素描关系、层次、景深要表现出来,表现清楚。 2、文生图,seed随机,线稿图作为controlnet上传模式图,控制sd出图,模型一般

    2024年02月07日
    浏览(36)
  • Stable Diffusion——stable diffusion基础原理详解与安装秋叶整合包进行出图测试

    在2022年,人工智能创作内容(AIGC)成为了AI领域的热门话题之一。在ChatGPT问世之前,AI绘画以其独特的创意和便捷的创作工具迅速走红,引起了广泛关注。随着一系列以Stable Diffusion、Midjourney、NovelAI等为代表的文本生成图像的跨模态应用相继涌现与Stable Diffusion的开源,Stab

    2024年02月21日
    浏览(36)
  • C语言使用CUDA中cufft函数做GPU加速FFT运算,与调用fftw函数的FFT做运算速度对比

    时隔多年仍然逃不掉写C的命运……因为这个任务周期不短还踩了好多坑,必须记录一下了。 任务简单要求就是使用C语言编写一个GPU加速的快速傅里叶变换(FFT) 分为GPU加速的FFT代码改写、未使用GPU的FFT编写、运算速度对比、运算结果测试(与matlab结果对比),只要按照我文

    2024年02月06日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包