本地部署 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

相关文章

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

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

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

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

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Maven项目打包时添加本地Jar包的操作步骤

《Maven项目打包时添加本地Jar包的操作步骤》在Maven项目开发中,我们经常会遇到需要引入本地Jar包的场景,比如使用未发布到中央仓库的第三方库或者处理版本冲突的依赖项,本文将详细介绍如何通过M... 目录一、适用场景说明​二、核心操作命令​1. 命令格式解析​2. 实战案例演示​三、项目配置步骤​1

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.