百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Stable Diffusion 3搭建教程及官方实例演示

csdh11 2025-02-10 11:58 23 浏览

作为最新版本的 AI 图像生成模型,Stable Diffusion 3 带着万众期待来了,相信一定有许多小伙伴在工作和生活中已经开始或多或少地使用过了图像生成模型,那么我们下面就来分享一下 Stable diffusion 3 的本地搭建过程吧,废话不多说,上干货。

本次搭建使用的平台配置如下:

考虑到本地运行 Stable diffusion 3 对算力的强大需求,我们本次选用了影驰 GeForce RTX 4070 Ti SUPER 星曜 OC 显卡。GEFORCE RTX 4070 Ti SUPER 基于 AD103 核心所打造,也是这款显卡最大的改变。内部包含 8448 个 CUDA 核心,相比 RTX 4070 Ti 的 7680 个核心数提升了 10% 以上,显存位宽相比 RTX 4070 Ti 提升到了 256bit,而且显存规格也增加到 16GB GDDR6X,无论是对游戏还是 AI 创作都有帮助。

选择这块显卡,算是在价格和性能上取了个平衡,这块显卡搭载了 16GB GDDR6x 显存,显存位宽 192bit,长 35.4cm。

为了确保这块显卡可以胜任本次 Stable diffusion 3 的搭建,IT之家也提前对这块显卡的计算性能进行了一些测试,GeForce RTX 4070 Ti SUPER 的 8448 个 CUDA 核心可以提供硬件加速,使得工作效率得以提高。几乎所有的建模软件都会对 NVIDIA 的 GPU 进行优化,因此在效率、稳定性和兼容性方面都能够兼顾。我们测试了 V-Ray Benchmark 的性能表现。其中 GPU CUDA 测试项目得分为 2746 分。

而在 Stable Diffusion 1.7 的测试中,通过选择模型 v2-1_768-ema-pruned.ckpt,以文生图的方式绘制 21 张小木屋的图像,图像分辨率为 768*768,最终花费 54 秒完成。而在开启 TensorRT Engines 功能后,速度再次缩减一半,27 秒即可完成。

那么经过一系列的测试,我们已经确定了这块显卡完全可以胜任此次的 Stable Diffusion 3 搭建,下面我们就撸起袖子,开干!

一、资源准备

硬件平台搭建完,接下来就是 UI 界面的选择和模型的下载了,这里要补充一句,整个搭建过程包括模型文件的下载,对网络环境的要求比较高,不过IT之家会把搭建所需的文件都放到文末供大家学习交流。

由于 Stable Diffusion 3 刚刚发布不久,Web UI 目前还没有适配,所以本次使用的是 ComfyUI。Github 网址如下:

https://github.com/comfyanonymous/ComfyUI

下滑找到下载链接,单击下载。

UI 先下载着,我们这边去下载重磅的 Stable Diffusion 3 模型文件。网址如下:

https//huggingface.co/stabilityai/stable-diffusion-3-medium/tree/main

(这个网址是官方链接跳转过来的,无需质疑权威性。)

下载模型文件需要先登录网站,没有账号的小伙伴可以注册一下,注册过程比较常规。注册后可以看到如下的模型文件。先下载图中标注的三个模型文件即可。

此外,还需要下载这两个文件夹中的部分文件。

text_encoders 文件夹中需要下载这三个文件。

comfy_example_workflows 文件夹中的三个文件体积比较小,为官方提供的示例工作流,这里下载以便后续演示使用,如果不需要也可以不下载。

如果顺利的话,如下这些文件下载好后,我们的搭建工作就可以正式开始啦。

二、平台搭建

首先解压
new_ComfyUI_windows_portable_nvidia_cu121_or_cpu.7z
,得到如下文件。

接下来定位到…ComfyUI_windows_portable / ComfyUI / models / checkpoints 文件夹,将我们前面下载的文件中,三个“sd3”开头的文件移动到这里。

再定位到…ComfyUI_windows_portable / ComfyUI / models / clip 文件夹,将“clip”和“t5xxl”开头的三个文件移动到这里。

回到…
/ComfyUI_windows_portable/ 文件夹,由于我们是主要依靠影驰 GeForce RTX 4070 Ti SUPER 星曜 OC 显卡的算力,因此我们这里双击运行
run_nvidia_gpu.bat

如果没有意外的话,打开后你会看到如下的界面,那么恭喜你,基于 ComlfyUI 的 Stable Diffusion 3 搭建过程就初步完成了。

三、官方工作流示例

那么接下来,怎么使用呢,还记得我们前边下载的三个官方工作流吗,这三个官方提供的工作流示例中,第一个为基本的单提示词生成图片,第二个为多提示词生成图片,第三个则是在第一个基础上,增加了一步图片分辨率提升,这里我们就依次演示一下如何跑通三个官方工作流。

将下载的第一个.json 文件直接拖入到 ComfyUI 界面中,可以看到工作流发生了变化。

这时候如果直接运行,是会报错的,需要重新指定一下模型的文件位置。在模型这里,按照原有的模型名称,对应的选择我们之前放入的模型文件即可。

全部选定之后,就可以开始运行了,官方的提示词为

a female character with long, flowing hair that appears to be made of ethereal, swirling patterns resembling the Northern Lights or Aurora Borealis. The background is dominated by deep blues and purples, creating a mysterious and dramatic atmosphere. The character's face is serene, with pale skin and striking features. She wears a dark-colored outfit with subtle patterns. The overall style of the artwork is reminiscent of fantasy or supernatural genres.

翻译过来就是

一个留着飘逸长发的女性角色,头发看起来像是用类似于北极光或北极光的旋涡图案制成的。背景以深蓝色和紫色为主,营造出神秘而戏剧性的氛围。角色的脸很平静,皮肤苍白,五官精致。她穿着深色衣服,上面有微妙的图案。这幅画的总体风格让人想起奇幻或超自然体裁。

上图工作流中绿色文本框中就是正向提示词的输入区域,红色文本框为反向提示词的输入区域,运行后生成的图片如下,我们使用影驰 GeForce RTX 4070 Ti SUPER 星曜 OC 生成这张 1024*1024 像素的图片,仅用了 21.23 秒,体验非常丝滑。可以看到,运行模型的时候,GPU 负载瞬间拉满,可见模型对 GPU 算力的需求还是相当恐怖的。

到这里,官方的基础工作流就跑通了,小编又尝试了一下使用“A SpongeBob SquarePants eating ice cream”作为正向提示词进行生成,得到的图片如下(上),整体还是比较和谐的,作为对比,可以看一下曾经小编用 Stable Diffusion 1.7 生成的图片(下)。

第一个工作流跑通了,那么我们再来试试第二个工作流。与第一个类似,也是将官方的.json 文件拖入界面中,得到与刚才类似的工作流。

仍然需要对模型文件位置进行配置。

配置后,就可以正常运行工作流了。影驰 GeForce RTX 4070 Ti SUPER 星曜 OC 跑这个模型耗时 14.92s,比上一个要短不少。不过运行模型的时候,GPU 负载仍旧是瞬间拉满。

前两个工作流整体部署思路上大同小异,主要看大家日常使用时候的需求进行选择了,跑通之后可以结合个人需求对其中的参数进行进一步调整优化,这里就不展开了。

接下来我们再来说说这第三个工作流。依样画葫芦,把.json 文件拖进来,就看见了报错,大概意思为缺少相关的模型文件。

关闭报错,可以看到有一个流程框是红色的,这就是提高图片分辨率所需要的模型缺失造成的。

一劳永逸的解决类似问题的思路是,安装一个 ComfyUI 的插件 ——ComfyUI Manager,该插件可以检测、下载并补充当前工作流中缺失的模型和插件。插件网址如下:

https://github.com/ltdrdata/ComfyUI-Manager

官方提供了多种安装方法,感兴趣的小伙伴可以自行研究,我们这里选用第一种方法进行安装。安装前先关闭 ComfyUI 界面。

虽然官方没有提及,但使用第一种方法进行安装,前提还是要先下载并安装 git,我们这里下载并安装 64 位的 Standalone Installer。

安装完成后打开终端,依次运行如下三个命令。

cd?C?\Users\ithome\Documents\comfyui_sd3\ComfyUI_windows_portable\ComfyUIcd?custom_nodesgit?clone?https//github.com/ltdrdata/ComfyUI-Manager.git

其中第一个命令中的文件夹地址需要根据你安装 ComfyUI 的位置自行确定。

此处对网络要求较高,网络不好的话可能会报错,多试几次即可,成功后会看到下载完成的命令。成功后再打开 ComfyUI,可以看到右下角多了两个按钮。

点击 Manager,可以看到丰富的设置项,我们这里主要用到的是红框中的两项。

先点击 install Missing Custom Nodes,可以看到已经检测到了缺失的插件,点击安装即可。

安装后可以看到工作流中的红色方块已经恢复正常。

不过如果此时再次运行该模型,会发现只能运行到与第一个官方模型相同的步骤,后面的分辨率提升就停住不跑了。这是因为我们还没有安装这个 4x-UltraSharp.pth 模型。

打开 Manager 中的 Install Models,搜索 4x-UltraSharp,可以看到相关模型,点击后边的 Install 即可。

安装完成后,再次运行,可以看到,跑完了文生图的模型后,还会有 4 个分辨率提高的模型进程,完整过程用时 51.09s,这个工作流的压力不小,影驰 GeForce RTX 4070 Ti SUPER 星曜 OC 的这个表现相当不错。

可以看到提升分辨率后的图片

图片大小也是飙升了约 4 倍。

那么到这里,基于 ComfyUI 的 Stable Diffusion 3 搭建过程想必大家也都了解了,需要注意的是,由于网络环境、硬件原因等各方面的差异,搭建过程中可能会遇到各种各样的意外,也无需焦虑,可以分享在评论区大家一起讨论解决。

总结

Stable Diffusion 3 的发布,让我们再一次看到了 AI 大模型的飞速进步和发展,作为一项能够在日常生活中大幅提高效率的工具,工作之余研究一下总是有益无害的。

不过随着模型的复杂程度提高,可以预见的是,本地运行所需要的算力也会随之水涨船高,从整个搭建过程来看,本次测试所使用的影驰 GeForce RTX 4070 Ti SUPER 星曜 OC 显卡还是能够非常好的提升模型运行效率的,也能节省不少时间,毕竟谁也不想为了生成一张图等上个把小时不是。

由于 Stable Diffusion 3 发布不久,小编也是摸着石头过河后第一时间和大家分享,文中如有不严谨或不正确的地方,还请大家批评指正,我们会第一时间修改;最后祝愿尝试搭建的小伙伴都能一次成功,全程不报错!

相关推荐

探索Java项目中日志系统最佳实践:从入门到精通

探索Java项目中日志系统最佳实践:从入门到精通在现代软件开发中,日志系统如同一位默默无闻却至关重要的管家,它记录了程序运行中的各种事件,为我们排查问题、监控性能和优化系统提供了宝贵的依据。在Java...

用了这么多年的java日志框架,你真的弄懂了吗?

在项目开发过程中,有一个必不可少的环节就是记录日志,相信只要是个程序员都用过,可是咱们自问下,用了这么多年的日志框架,你确定自己真弄懂了日志框架的来龙去脉嘛?下面笔者就详细聊聊java中常用日志框架的...

物理老师教你学Java语言(中篇)(物理专业学编程)

第四章物质的基本结构——类与对象...

一文搞定!Spring Boot3 定时任务操作全攻略

各位互联网大厂的后端开发小伙伴们,在使用SpringBoot3开发项目时,你是否遇到过定时任务实现的难题呢?比如任务调度时间不准确,代码报错却找不到方向,是不是特别头疼?如今,随着互联网业务规模...

你还不懂java的日志系统吗 ?(java的日志类)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

谈谈枚举的新用法--java(java枚举的作用与好处)

问题的由来前段时间改游戏buff功能,干了一件愚蠢的事情,那就是把枚举和运算集合在一起,然后运行一段时间后buff就出现各种问题,我当时懵逼了!事情是这样的,做过游戏的都知道,buff,需要分类型,且...

你还不懂java的日志系统吗(javaw 日志)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

Java 8之后的那些新特性(三):Java System Logger

去年12月份log4j日志框架的一个漏洞,给Java整个行业造成了非常大的影响。这个事情也顺带把log4j这个日志框架推到了争议的最前线。在Java领域,log4j可能相对比较流行。而在log4j之外...

Java开发中的日志管理:让程序“开口说话”

Java开发中的日志管理:让程序“开口说话”日志是程序员的朋友,也是程序的“嘴巴”。它能让程序在运行过程中“开口说话”,告诉我们它的状态、行为以及遇到的问题。在Java开发中,良好的日志管理不仅能帮助...

吊打面试官(十二)--Java语言中ArrayList类一文全掌握

导读...

OS X 效率启动器 Alfred 详解与使用技巧

问:为什么要在Mac上使用效率启动器类应用?答:在非特殊专业用户的环境下,(每天)用户一般可以在系统中进行上百次操作,可以是点击,也可以是拖拽,但这些只是过程,而我们的真正目的是想获得结果,也就是...

Java中 高级的异常处理(java中异常处理的两种方式)

介绍异常处理是软件开发的一个关键方面,尤其是在Java中,这种语言以其稳健性和平台独立性而闻名。正确的异常处理不仅可以防止应用程序崩溃,还有助于调试并向用户提供有意义的反馈。...

【性能调优】全方位教你定位慢SQL,方法介绍下!

1.使用数据库自带工具...

全面了解mysql锁机制(InnoDB)与问题排查

MySQL/InnoDB的加锁,一直是一个常见的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?下面是不同锁等级的区别表级锁:开销小,加锁快;不会出现死锁;锁定粒度...

看懂这篇文章,你就懂了数据库死锁产生的场景和解决方法

一、什么是死锁加锁(Locking)是数据库在并发访问时保证数据一致性和完整性的主要机制。任何事务都需要获得相应对象上的锁才能访问数据,读取数据的事务通常只需要获得读锁(共享锁),修改数据的事务需要获...