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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/27905.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP 命名空间

PHP 命名空间 PHP命名空间是一种组织代码的结构,它允许开发者在PHP代码中避免类、函数或常量名称的冲突。在PHP中,命名空间通过namespace关键字来声明。使用命名空间,可以在不同的代码库或项目中使用相同的类名,而不会产生冲突。 命名空间的基本概念 在PHP中,命名空间类…

决策树算法介绍:原理与案例实现

一、引言 决策树是一种常用于分类和回归任务的机器学习算法,因其易于理解和解释的特点,在数据分析和挖掘领域有着广泛应用。本文将介绍决策树算法的基本原理,并通过一个具体案例展示如何实现和应用该算法。 二、决策树算法原理 1. 决策树结…

SoftReference 到底在什么时候被回收 ? 如何量化内存不足 ?

本文基于 OpenJDK17 进行讨论,垃圾回收器为 ZGC。 提示: 为了方便大家索引,特将在上篇文章 《以 ZGC 为例,谈一谈 JVM 是如何实现 Reference 语义的》 中讨论的众多主题独立出来。 大家在网上或者在其他讲解 JVM 的书籍中多多少少…

C++ 取近似值

描述 写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。 数据范围:保证输入的数字在 32 位浮点数范围内 输入描述: 输入一个正…

关于QTcreator,19年大学时写的文章了,之前写在印象笔记现在拉过来,往事如烟呐

1.初来乍到,先按照书本写一个基础列程理解一下原理。 这里创建工程的时候选择Qdialog基类,dialog.h头文件,并且勾选了创建界面 (勾选之后可以通过手动添加组块并且可以自生成他们的函数定义,如果没有勾选,…

Mybatis源码解析

MybatisAutoConfiguration或者MybatisPlusAutoConfiguration核心作用是初始化工厂类SqlSessionFactory,其中包含属性interceptors、MapperLocations、TypeAliasesPackage、TypeEnumsPackage、TypeHandlers等。 MybatisAutoConfiguration自动装配类是由依赖&#xf…

聊天页面样式

聊天页面样式 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><link rel"styleshee…

C++程序员笔试训练

面试题1&#xff1a;使用库函数将数字转换位字符串 考点&#xff1a;c语言库函数中数字转换位字符串的使用 char *gcvt(double number, int ndigit, char *buf);参数说明&#xff1a; number&#xff1a;待转换的double类型数值。 ndigit&#xff1a;保留的小数位数。 buf&am…

数智教育创新如何向未来?腾讯云与你探索革新之路

引言 随着科技革命的快速发展&#xff0c;掀起教育领域的变革&#xff0c;新理念、新技术、新模式、新应用正不断涌现&#xff0c;正塑造着教育的未来形态。未来科技还将如何赋能教育创新&#xff1f; 5月31日&#xff0c;由腾讯云TVP 与西安电子科技大学联合举办的「数智教育的…

LC1020:飞地的数量

题目 给你一个大小为 m x n 的二进制矩阵 grid &#xff0c;其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相邻&#xff08;上、下、左、右&#xff09;的陆地单元格或跨过 grid 的边界。 返回网格中 无法 在任意次数的移动…

Spark 面试题(十一)

1. 简述reduceByKey和groupByKey的区别和作用 &#xff1f; reduceByKey和groupByKey是Spark中的两种用于处理键值对&#xff08;Key-Value Pairs&#xff09;RDD的转换操作&#xff0c;它们在功能和性能上有一些关键的区别&#xff1a; groupByKey 作用&#xff1a;groupBy…

C++访问Private,Protecd的一些方法总结

前言 在编写C程序中 我们偶尔会碰到这样的三种特殊修改变量值的需求&#xff1a; [1]在不修改类原本的实现下&#xff0c;访问修改类的Private变量 [2]在不修改类原本的实现下&#xff0c;修改类的Protected变量 Private变量访问 public类模版函数特化 这种办法利用了类模…

springboot使用webscoket

springboot添加config配置项 package cn.lsy.api.yuy.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.server.standard.ServerEndpointExporter;Configur…

CMS与AI的融合:构建万能表单小程序系统

引言&#xff1a; 随着人工智能技术的飞速发展&#xff0c;MyCMS作为一款功能强大的内容管理系统&#xff0c;通过集成AI技术&#xff0c;进一步拓展了其应用范围和智能化水平。本文将探讨如何利用MyCMS结合AI技术&#xff0c;构建一个能够将用户提交的万能表单数据转化为智能提…

helm命令如何修改values.yaml里面的变量值

在使用 Helm 安装 chart 的时候&#xff0c;你有几种方法可以在安装时修改 values.yaml 中的值&#xff0c;以便自定义安装。这些方法让你无需直接编辑 chart 包中原始的 values.yaml 文件&#xff1a; 1. 使用 --values 或 -f 参数指定自定义 values 文件 你可以创建一个自定…

【Ardiuno】实验使用ESP32单片机根据光线变化控制LED小灯开关(图文)

今天小飞鱼继续来实验ESP32的开发&#xff0c;这里使用关敏电阻来配合ESP32做一个我们平常接触比较多的根据光线变化开关灯的实验。当白天时有太阳光&#xff0c;则把小灯关闭&#xff1b;当光线不好或者黑天时&#xff0c;自动打开小灯。 int value;void setup() {pinMode(34…

前端老古董execCommand——操作 选中文本 样式

文章目录 ⭐前言⭐exe command api用法&#x1f496; example示例&#x1f496; 测试效果 ⭐execommand和getSelection 的联系⭐总结⭐结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本文分享关于 前端老古董execCommand——操作选中文本。 execommand 当一个 HTML 文…

基于CentOS Stream 9平台安装Redis7.0.15

1. 官方下载地址 https://redis.io/downloads/#redis-downloads 1.1 下载或上传到/opt/coisini目录下&#xff1a; mkdir /opt/coisini cd /opt/coisini wget https://download.redis.io/releases/redis-7.0.15.tar.gz2. 解压 tar -zxvf redis-7.0.15.tar.gz 3. 创建软连接 或…

算法:分治(快排)题目练习

目录 题目一&#xff1a;颜色分类 题目二&#xff1a;排序数组 题目三&#xff1a;数组中的第k个最大元素 题目四&#xff1a;库存管理III 题目一&#xff1a;颜色分类 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums &#xff0c;原地对它们进行排序&#xff0c;…

【回文 马拉车】214. 最短回文串

本文涉及知识点 回文 马拉车 LeetCode214. 最短回文串 给定一个字符串 s&#xff0c;你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。 示例 1&#xff1a; 输入&#xff1a;s “aacecaaa” 输出&#xff1a;“aaacecaaa” 示…