Stable Diffusion 3 大模型文生图“开源英雄”笔记本部署和使用教程,轻松实现AI绘图自由

本文主要是介绍Stable Diffusion 3 大模型文生图“开源英雄”笔记本部署和使用教程,轻松实现AI绘图自由,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

备受期待的Stable Diffusion 3(以下亦简称SD3)如期向公众开源了(Stable Diffusion 3 Medium),作为Stability AI迄今为止最先进的文本生成图像的开源大模型,SD3在图像质量、文本内容生成、复杂提示理解和资源效率方面有了显著提升,被誉为AI文生图领域的开源英雄

Stable Diffusion 3 Medium特点包括:

  • 模型仅包含20亿参数,具有体积小、适合在个人PC和笔记本电脑上运行的优点,所以我们也可以将其部署到自己的电脑上使用。
  • 图像质量整体提升,能生成照片般细节逼真、色彩鲜艳、光照自然的图像;能灵活适应多种风格,无需微调,仅通过提示词就能生成动漫、厚涂等风格化图像;具有 16 通道的 VAE,可以更好地表现手部以及面部细节。
  • 能够理解复杂的自然语言提示,如空间推理、构图元素、姿势动作、风格描述等。对于「第一瓶是蓝色的,标签是“1.5”,第二瓶是红色的,标签是“SDXL”,第三瓶是绿色的,标签是“SD3”」这样复杂的内容,SD3 依旧能准确生成,而且文本效果比 Midjourney 还要准确。
  • 通过 Diffusion Transformer 架构,SD3 Medium 在英文文本拼写、字距等方面更加正确合理。Stability AI 在发布 SD3 官方公告时,头图就是直接用 SD3 生成的,效果非常惊艳。

特别注意: 开源的Stable Diffusion 3 Medium模型的授权范围是开放的非商业许可证,也就是说没有官方许可的情况下,模型不得用于商业用途(协议内容:https://huggingface.co/stabilityai/stable-diffusion-3-medium/blob/main/LICENSE)

下载Stable Diffusion 3 Medium模型文件

SD3的模型文件已经上传到了HF上,但是在下载之前需要先注册并填写一份表格,保证自己不会将SD3用于商用用途。然而,注册和填写表格均需要有通畅的网络,这对我们个人不是很友好:

注册或登录

注册或者登录成功之后,我们需要填写表格:

填写表格

老牛同学担心,仅这2个前置的需要通畅网络的操作步骤,就阻挡了一批SD3的爱好者们,这是老牛同学不希望看到的结果。

幸运的是: ModelScope提供了一个可直接下载模型文件的镜像仓库,可直接跳过前面步骤(当然这有点违背Stability AI的初衷,但考虑到我们仅用于学习和非商业用途,也算是殊途同归吧):https://modelscope.cn/models/AI-ModelScope/stable-diffusion-3-medium/files

本仓库有3个基础是模型文件,它们有不同的用途,初次使用建议全部下载到本地:

  • sd3_medium:4.34G,独立主模型,不包含文本编码器(即后面2个文件名带有clip的模型)
  • sd3_medium_incl_clips.safetensors:5.97G,包含 clip_g 和 clip_l 编码器
  • sd3_medium_incl_clips_t5xxlfp8.safetensors:10.87G,包含 clip_g、clip_l 和 t5xxl_fp8 编码器

特别说明: 以上3个模型文件,最后需要放到ComfyUI./models/checkpoints文件夹中(关于ComfyUI的使用下面章节介绍)

另外,本仓库还有2个重要的文件夹,同样建议全部下载到本地:

  • comfy_example_workflows:ComfyUI工作流样例配置文件(关于ComfyUI的使用下面章节介绍)
  • text_encoders:文本编码器模型文件夹,最后模型文件最后也需要放到ComfyUI./models/clip文件夹中(关于ComfyUI的使用下面章节介绍)

因模型文件比较大,直接使用Git无法直接下载到本地,我们通过git-lfs工具包下载:

brew install git-lfs

通过Git复制模型文件到笔记本电脑(文件夹:stable-diffusion-3-medium):

git lfs install
git clone https://www.modelscope.cn/AI-ModelScope/stable-diffusion-3-medium.git stable-diffusion-3-medium

如果因网络不佳等原因,下载可能会中断,我们可以通过以下命令在中断后多次执行继续下载,直到最终下载完成:

git lfs pull

模型文件列表

下载ComfyUI工作流可视化工具

上一章节,我们多次提到了ComfyUI,它是Stable Diffusion的工作流可视化工具之一,也是Stability AI官方推荐使用的可视化工具。

我们下载最新的ComfyUI到笔记本电脑(本地目录:ComfyUI):

git clone https://github.com/comfyanonymous/ComfyUI.git ComfyUI

本次部署教程中,ComfyUI中的models文件夹需要包括下载的模型文件:

% tree ./models 
./models
├── checkpoints
│   └── put_checkpoints_here
├── clip
│   └── put_clip_or_text_encoder_models_here
......其它省略......

checkpoints文件夹:是存放SD3模型文件根目录下的sd3_medium.safetensorssd3_medium_incl_clips.safetensorssd3_medium_incl_clips_t5xxlfp8.safetensors等模型文件的文件夹。

clip文件夹:是存放SD3模型文件text_encoders目录下的clip_g.safetensorsclip_l.safetensorst5xxl_fp8_e4m3fn.safetensorst5xxl_fp16.safetensors等模型文件的文件夹。

启动ComfyUI可视化界面

第一步: 复制模型文件到ComfyUI指定的models文件夹中,因为老牛同学使用的是Mac电脑,可以通过软链接方式实现复制的效果(如果是Windows电脑,请直接复制文件):

% cd ~/JupyterLab/ComfyUI/models/checkpoints
% ln -s ~/JupyterLab/stable-diffusion-3-medium/sd3_medium.safetensors sd3_medium.safetensors
% ln -s ~/JupyterLab/stable-diffusion-3-medium/sd3_medium_incl_clips.safetensors sd3_medium_incl_clips.safetensors
% ln -s ~/JupyterLab/stable-diffusion-3-medium/sd3_medium_incl_clips_t5xxlfp8.safetensors sd3_medium_incl_clips_t5xxlfp8.safetensors
%
% cd ~/JupyterLab/ComfyUI/models/clip
% ln -s ~/JupyterLab/stable-diffusion-3-medium/text_encoders/clip_g.safetensors clip_g.safetensors
% ln -s ~/JupyterLab/stable-diffusion-3-medium/text_encoders/clip_l.safetensors clip_l.safetensors
% ln -s ~/JupyterLab/stable-diffusion-3-medium/text_encoders/t5xxl_fp8_e4m3fn.safetensors t5xxl_fp8_e4m3fn.safetensors
% ln -s ~/JupyterLab/stable-diffusion-3-medium/text_encoders/t5xxl_fp16.safetensors t5xxl_fp16.safetensors

软链接建好之后,我们可以检查一下是否符合预期

% cd ~/JupyterLab/ComfyUI/models
% tree ./checkpoints 
./checkpoints
├── put_checkpoints_here
├── sd3_medium.safetensors -> /Users/shizihu/JupyterLab/stable-diffusion-3-medium/sd3_medium.safetensors
├── sd3_medium_incl_clips.safetensors -> /Users/shizihu/JupyterLab/stable-diffusion-3-medium/sd3_medium_incl_clips.safetensors
└── sd3_medium_incl_clips_t5xxlfp8.safetensors -> /Users/shizihu/JupyterLab/stable-diffusion-3-medium/sd3_medium_incl_clips_t5xxlfp8.safetensors
%
% tree ./clip
./clip
├── clip_g.safetensors -> /Users/shizihu/JupyterLab/stable-diffusion-3-medium/text_encoders/clip_g.safetensors
├── clip_l.safetensors -> /Users/shizihu/JupyterLab/stable-diffusion-3-medium/text_encoders/clip_l.safetensors
├── put_clip_or_text_encoder_models_here
├── t5xxl_fp16.safetensors -> /Users/shizihu/JupyterLab/stable-diffusion-3-medium/text_encoders/t5xxl_fp16.safetensors
└── t5xxl_fp8_e4m3fn.safetensors -> /Users/shizihu/JupyterLab/stable-diffusion-3-medium/text_encoders/t5xxl_fp8_e4m3fn.safetensors

第二步: 启动ComfyUI工作流可视化界面

进入ComfyUI根目录,安装Python依赖包列表:

% pip install -r requirements.txt

启动ComfyUI可视化工具:

% python main.py

ComfyUI启动成功

从启动日志可以看出,ComfyUI启动成功了:http://127.0.0.1:8188

使用ComfyUI通过文本生成图片

浏览器打开ComfyUI页面:http://127.0.0.1:8188 可以看到默认的SD3工作流,我们用自己的工作流完成绘画。

第一步: 修改模型文件./stable-diffusion-3-medium/comfy_example_workflows/sd3_medium_example_workflow_basic.json的第416行,去掉sdv3/2b_1024/sd3_medium.safetensors的相对目录为sd3_medium.safetensors(默认本模型文件,我们已经复制到了ComfyUI指定的目录中,因此无需相对目录):

......前面省略......
"widgets_values": ["sd3_medium.safetensors"
]
......后面省略......

第二步: 加载修改后的工作流配置文件:点击ComfyUILoad按钮,选择修改后的sd3_medium_example_workflow_basic.json文件:

加载工作流配置文件

可以看到工作流有很多参数可供设置,包括:选择模型正面Prompt提示词负面Prompt提示词图片尺寸/数量等输入参数:

工作流配置参数

第三步: 调整参数,生成图片:我们可以修改工作流中任意一个参数(最常修改的是Prompt提示词,包括正面和负面提示词),也可以点击右键增加工作流节点。最终参数调整确定之后,点击Queue Prompt按钮,开始排队生成图片:

生成图片

我们可以看到,生成图片处理中,ComfyUI根据编排好的工作流,按照依赖关系逐个节点执行,最终在Output中展示了根据提示生成的精美图片:

工作流结果

最终生成的图片:

最终图片

Stable Diffusion使用总结

至此,Stable Diffusion 3的部署和使用教程接近尾声了,我们可以尽情使用不同的工作流和调整不同参数来生成我们的图片了。

同时也恭喜你,和老牛同学一起,我们的大模型库又增添了重要的一员:文生图大模型!

SD3 参数调优: 生成写实或人物面部照片,可以将KSampler节点的cfg参数调低至2到3之间(默认为4.5);当包含文本时,使用4.5到5时效果会更好。大家可以多多尝试,探索一些其他参数产生的效果,欢迎留言。

同时SD3模型更适合自然语言提示词,而不是标签式的提示词(和MJ有一点点区别),我们可以详细描述图片的画面内容、构图、色彩、氛围,即使提示词很长,SD3模型也能处理的很好。


关注本公众号,我们共同学习进步👇🏻👇🏻👇🏻

微信公众号:老牛同学

微信公众号:老牛同学

Qwen2-7B 开源大模型

Qwen2阿里最强开源大模型(Qwen2-7B)本地部署、API调用和WebUI对话机器人

Llama-3-8B 开源大模型

玩转 AI,笔记本电脑安装属于自己的 Llama 3 8B 大模型和对话客户端

一文彻底整明白,基于 Ollama 工具的 LLM 大语言模型 Web 可视化对话机器人部署指南

基于Llama 3搭建中文版(Llama3-Chinese-Chat)大模型对话聊天机器人

GLM-4-9B 开源大模型

本地部署GLM-4-9B清华智谱开源大模型方法和对话效果体验

ChatTTS 文本转语音模型

ChatTTS 开源文本转语音模型本地部署、API使用和搭建WebUI界面

大模型应用

借助AI大模型,三分钟原创一部儿童故事短视频(附完整操作步骤)

高效编写大模型 Prompt 提示词,解锁 AI 无限创意潜能

Python 小游戏

AI已来,我与AI一起用Python编写了一个消消乐小游戏

Python游戏编程:一步步用Python打造经典贪吃蛇小游戏


这篇关于Stable Diffusion 3 大模型文生图“开源英雄”笔记本部署和使用教程,轻松实现AI绘图自由的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073096

相关文章

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

el-select下拉选择缓存的实现

《el-select下拉选择缓存的实现》本文主要介绍了在使用el-select实现下拉选择缓存时遇到的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录项目场景:问题描述解决方案:项目场景:从左侧列表中选取字段填入右侧下拉多选框,用户可以对右侧

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

springboot整合 xxl-job及使用步骤

《springboot整合xxl-job及使用步骤》XXL-JOB是一个分布式任务调度平台,用于解决分布式系统中的任务调度和管理问题,文章详细介绍了XXL-JOB的架构,包括调度中心、执行器和Web... 目录一、xxl-job是什么二、使用步骤1. 下载并运行管理端代码2. 访问管理页面,确认是否启动成功

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —