本地部署 Stable Diffusion3

2024-06-16 10:44

本文主要是介绍本地部署 Stable Diffusion3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

6月13日,Stability AI 正式开源20亿参数版本的Stable Diffusion 3 Medium。本文将在本地部署 SD3,GPU配置如下 GPU 2080TI / 22G

安装依赖

修改 WORKSPACE 位置信息,安装ComfyUI

# #@title Environment Setupfrom pathlib import PathOPTIONS = {}
UPDATE_COMFY_UI = True  #@param {type:"boolean"}
INSTALL_COMFYUI_MANAGER = True  #@param {type:"boolean"}
INSTALL_ANIMATEDIFF = True  #@param {type:"boolean"}
INSTALL_CUSTOM_NODES_DEPENDENCIES = True  #@param {type:"boolean"}
OPTIONS['UPDATE_COMFY_UI'] = UPDATE_COMFY_UI
OPTIONS['INSTALL_COMFYUI_MANAGER'] = INSTALL_COMFYUI_MANAGER
OPTIONS['INSTALL_ANIMATEDIFF'] = INSTALL_ANIMATEDIFF
OPTIONS['INSTALL_CUSTOM_NODES_DEPENDENCIES'] = INSTALL_CUSTOM_NODES_DEPENDENCIESWORKSPACE = "/notebook/SD/ComfyUI"%cd /notebook/SD/![ ! -d $WORKSPACE ] && echo -= Initial setup ComfyUI =- && git clone https://github.com/comfyanonymous/ComfyUI%cd $WORKSPACE!echo $WORKSPACEif OPTIONS['UPDATE_COMFY_UI']:!echo "-= Updating ComfyUI =-"!git pull!pip install -r requirements.txt

下载模型权重

#@markdown ###Download standard resources### SDXL
### I recommend these workflow examples: https://comfyanonymous.github.io/ComfyUI_examples/sdxl/OPTIONS = {}#@markdown **Models**!wget -c "https://modelscope.cn/api/v1/models/AI-ModelScope/stable-diffusion-3-medium/repo?Revision=master&FilePath=sd3_medium.safetensors" -P ./models/checkpoints/

下载 Text Encoder

#@markdown **clip**!wget -c "https://modelscope.cn/api/v1/models/AI-ModelScope/stable-diffusion-3-medium/repo?Revision=master&FilePath=text_encoders%2Fclip_g.safetensors" -P ./models/clip/
!wget -c "https://modelscope.cn/api/v1/models/AI-ModelScope/stable-diffusion-3-medium/repo?Revision=master&FilePath=text_encoders%2Fclip_l.safetensors" -P ./models/clip/
!wget -c "https://modelscope.cn/api/v1/models/AI-ModelScope/stable-diffusion-3-medium/repo?Revision=master&FilePath=text_encoders%2Ft5xxl_fp16.safetensors" -P ./models/clip/
!wget -c "https://modelscope.cn/api/v1/models/AI-ModelScope/stable-diffusion-3-medium/repo?Revision=master&FilePath=text_encoders%2Ft5xxl_fp8_e4m3fn.safetensors" -P ./models/clip/
#通过cloudflared启动 ComfyUI ,
!wget "https://modelscope.oss-cn-beijing.aliyuncs.com/resource/cloudflared-linux-amd64.deb"
!dpkg -i cloudflared-linux-amd64.deb

启动 ComfyUI 服务器

%cd /notebook/SD/ComfyUI
import subprocess
import threading
import time
import socket
import urllib.requestdef iframe_thread(port):while True:time.sleep(0.5)sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)result = sock.connect_ex(('127.0.0.1', port))if result == 0:breaksock.close()print("\nComfyUI finished loading, trying to launch cloudflared (if it gets stuck here cloudflared is having issues)\n")p = subprocess.Popen(["cloudflared", "tunnel", "--url", "http://127.0.0.1:{}".format(port)], stdout=subprocess.PIPE, stderr=subprocess.PIPE)for line in p.stderr:l = line.decode()if "trycloudflare.com " in l:print("This is the URL to access ComfyUI:", l[l.find("http"):], end='')#print(l, end='')threading.Thread(target=iframe_thread, daemon=True, args=(8891,)).start()
!python main.py --dont-print-server  --listen "0.0.0.0"  --port 8891 

运行

服务器启动之后,导入工作流配置

  1. 导入配置文件,配置文件位置在 https://www.modelscope.cn/models/AI-ModelScope/stable-diffusion-3-medium/files,comfy_example_workflows/sd3_medium_example_workflow_basic.json
    在这里插入图片描述
  2. 输入提示词,点击 Queue Prompt 生成图片。
    在这里插入图片描述

总结

根据以下提示词,比较ChatGPT、Google 和 SD 的差距。

A transparent glass of very very small slim capsule is being held by fingers, inside the capsule there is a nuclear explosion, there is smoke and fire, the background of a cozy room

ChatGPT
在这里插入图片描述
Google Gemini

在这里插入图片描述
SD3
在这里插入图片描述
ChatGPT最好,比较细腻,其次是Gemini ,SD 稍微差一些,SD的好处是可以私有化部署,可以根据需要进行私有数据训练,SD 生成速度 2.1 it/s。

这篇关于本地部署 Stable Diffusion3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

使用Spring Cache本地缓存示例代码

《使用SpringCache本地缓存示例代码》缓存是提高应用程序性能的重要手段,通过将频繁访问的数据存储在内存中,可以减少数据库访问次数,从而加速数据读取,:本文主要介绍使用SpringCac... 目录一、Spring Cache简介核心特点:二、基础配置1. 添加依赖2. 启用缓存3. 缓存配置方案方案

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

Java实现本地缓存的四种方法实现与对比

《Java实现本地缓存的四种方法实现与对比》本地缓存的优点就是速度非常快,没有网络消耗,本地缓存比如caffine,guavacache这些都是比较常用的,下面我们来看看这四种缓存的具体实现吧... 目录1、HashMap2、Guava Cache3、Caffeine4、Encache本地缓存比如 caff

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序