Stable Diffusion Windows 部署简单认知

news2024/11/26 8:56:11

写在前面


  • 偶然看到,简单了解
  • 博文为 SD 部署,以及简单使用,部署过程遇到问题解决
  • 理解不足小伙伴帮忙指正

对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》


Stable Diffusion 是一个先进文本转图像模型,可使用基本的自然语言提示创作复杂的作品

部署

安部署教程来自:

https://www.youtube.com/watch?v=onmqbI5XPH8&t=55s

下载并运行 Stable Diffusion 来从文本描述生成图像。

  • Stable Diffusion web demo: https://huggingface.co/spaces/stabilityai/stable-diffusion
  • Install Git: https://git-scm.com/download/win
  • Install Python: https://www.python.org/downloads/release/python-3106/
  • Stable Diffusion WebUI GitHub page: https://github.com/AUTOMATIC1111/stable-diffusion-webui
  • Command to download Stable Diffusion WebUI repository:
    Git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
  • Download model / checkpoint: https://huggingface.co/runwayml/stable-diffusion-v1-5
  • Overview of different models: https://stable-diffusion-art.com/models/
  • Command to update Stable Diffusion WebUI automatically:
    Git pull

Git 下载

https://git-scm.com/downloads

window 命令行下载


PS C:\Users\NUC> winget install --id Git.Git -e --source winget
已找到 Git [Git.Git] 版本 2.43.0
此应用程序由其所有者授权给你。
Microsoft 对第三方程序包概不负责,也不向第-三方程序包授予任何许可证。
正在下载 https://github.com/git-for-windows/git/releases/download/v2.43.0.windows.1/Git-2.43.0-64-bit.exe
  ██████████████████████████████  58.0 MB / 58.0 MB
已成功验证安装程序哈希
正在启动程序包安装...
已成功安装
PS C:\Users\NUC>

添加系统环境变量 C:\Program Files\Git\bin

C:\Program Files\Git\bin

关闭终端重新打开测试

PS C:\Users\NUC> git --version
git version 2.43.0.windows.1

Python 安装

https://www.python.org/downloads/release/python-3106/

window 命令行下载

PS C:\Users\NUC> winget install --id Python.Python.3.10 -e --source winget
已找到 Python 3.10 [Python.Python.3.10] 版本 3.10.11
此应用程序由其所有者授权给你。
Microsoft 对第三方程序包概不负责,也不向第三方程序包授予任何许可证。
正在下载 https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe
  ██████████████████████████████  27.6 MB / 27.6 MB
已成功验证安装程序哈希
正在启动程序包安装...
已成功安装
PS C:\Users\NUC>

添加系统环境变量

C:\Users\NUC\AppData\Local\Programs\Python\Python310

关闭终端重新打开测试

PS C:\Users\NUC> python --version
Python 3.10.11
PS C:\Users\NUC>

部署项目

克隆项目 git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

更新 pip

PS C:\Users\NUC\Documents\GitHub\stable-diffusion-webui> C:\Users\NUC\Documents\GitHub\stable-diffusion-webui\venv\Scripts\python.exe -m pip install --upgrade pip

设置全局的 pip 源


PS C:\Users\NUC\Documents\GitHub\stable-diffusion-webui> pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
Writing to C:\Users\NUC\AppData\Roaming\pip\pip.ini

运行部署脚本(需要科学上网)

PS C:\Users\NUC\Documents\GitHub\stable-diffusion-webui> .\webui-user.bat

命令行下载基础模型

PS C:\Users\NUC\Documents\GitHub\stable-diffusion-webui\models\Stable-diffusion> wget -O v1-5-pruned-emaonly.ckpt  https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt

PS C:\Users\NUC\Documents\GitHub\stable-diffusion-webui\models\Stable-diffusion> wget -O v1-5-pruned.ckpt https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.ckpt

报错解决

OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'openai/clip-vit-large-patch14' is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.

解决办法:

http://www.chen-studio.com/archives/128.html

git clone https://huggingface.co/openai/clip-vit-large-patch14

huggingface 模型库命令行工具安装

部分模型需要在 huggingface 下载,一直下载不下来,后来登录了发现可以了

操作步骤

pip install huggingface_hub
You already have it if you installed transformers or datasets

huggingface-cli login
Log in using a token from huggingface.co/settings/tokens
Create a model or dataset repo from the CLI if needed
huggingface-cli repo create repo_name --type {model, dataset, space}

下载

PS C:\Users\NUC\Documents\GitHub\stable-diffusion-webui> pip install huggingface_hub
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple

登录(需要提前使用谷歌账户注册)

PS C:\Users\NUC\Documents\GitHub\stable-diffusion-webui> huggingface-cli login

    _|    _|  _|    _|    _|_|_|    _|_|_|  _|_|_|  _|      _|    _|_|_|      _|_|_|_|    _|_|      _|_|_|  _|_|_|_|
    _|    _|  _|    _|  _|        _|          _|    _|_|    _|  _|            _|        _|    _|  _|        _|
    _|_|_|_|  _|    _|  _|  _|_|  _|  _|_|    _|    _|  _|  _|  _|  _|_|      _|_|_|    _|_|_|_|  _|        _|_|_|
    _|    _|  _|    _|  _|    _|  _|    _|    _|    _|    _|_|  _|    _|      _|        _|    _|  _|        _|
    _|    _|    _|_|      _|_|_|    _|_|_|  _|_|_|  _|      _|    _|_|_|      _|        _|    _|    _|_|_|  _|_|_|_|

    To login, `huggingface_hub` requires a token generated from https://huggingface.co/settings/tokens .
Token can be pasted using 'Right-Click'.
Token:
Add token as git credential? (Y/n) Y
Token is valid (permission: read).
Your token has been saved in your configured git credential helpers (manager).
Your token has been saved to C:\Users\NUC\.cache\huggingface\token
Login successful
PS C:\Users\NUC\Documents\GitHub\stable-diffusion-webui>

前端页面报错 Expecting value: line 1 column 1 (char 0)

解决办法

https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/14037

上面的 issues 找到了解决办法


git pull
@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=  --xformers --no-gradio-queue

call webui.bat

启动脚本添加参数 : --xformers --no-gradio-queue

pip 下载报错

修改脚本部分代码,添加 pip 源,或者修改全局配置

C:\Users\NUC\Documents\GitHub\stable-diffusion-webui\modules\launch_utils.py

添加国内 pip 镜像,同时把科学上网关掉

下面为修改后的代码

index_url_line = f' --index-url {index_url}' if index_url != '' else ' -i https://pypi.tuna.tsinghua.edu.cn/simple'

这里希望直接使用可以直接下载封装好的包,不过没有试过

https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.0.0-pre

使用测试

运行启动脚本

PS C:\Users\NUC\Documents\GitHub\stable-diffusion-webui> .\webui-user.bat
venv "C:\Users\NUC\Documents\GitHub\stable-diffusion-webui\venv\Scripts\Python.exe"
Python 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)]
Version: v1.6.1
Commit hash: 4afaaf8a020c1df457bcf7250cb1c7f609699fa7
current transparent-background 1.2.9
Installing SD-CN-Animation requirement: scikit-image
Installing sd-webui-controlnet requirement: mediapipe
Installing sd-webui-controlnet requirement: svglib
Installing sd-webui-controlnet requirement: fvcore
Launching Web UI with arguments: --xformers --no-gradio-queue
dirname:  C:\Users\NUC\Documents\GitHub\stable-diffusion-webui\localizations
localizations:  {'zh_CN': 'C:\\Users\\NUC\\Documents\\GitHub\\stable-diffusion-webui\\extensions\\stable-diffusion-webui-localization-zh_CN\\localizations\\zh_CN.json'}
2023-12-19 03:19:35,825 - ControlNet - INFO - ControlNet v1.1.419
ControlNet preprocessor location: C:\Users\NUC\Documents\GitHub\stable-diffusion-webui\extensions\sd-webui-controlnet\annotator\downloads
2023-12-19 03:19:36,090 - ControlNet - INFO - ControlNet v1.1.419
Loading weights [cc6cb27103] from C:\Users\NUC\Documents\GitHub\stable-diffusion-webui\models\Stable-diffusion\v1-5-pruned-emaonly.ckpt
*Deforum ControlNet support: enabled*
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.
Startup time: 55.0s (prepare environment: 41.1s, import torch: 4.8s, import gradio: 2.1s, setup paths: 2.0s, initialize shared: 0.2s, other imports: 1.6s, setup codeformer: 0.2s, list SD models: 0.3s, load scripts: 1.8s, create ui: 0.8s, gradio launch: 0.2s).
Creating model from config: C:\Users\NUC\Documents\GitHub\stable-diffusion-webui\configs\v1-inference.yaml
Applying attention optimization: xformers... done.
Model loaded in 11.8s (load weights from disk: 5.4s, create model: 0.3s, apply weights to model: 2.3s, apply half(): 1.9s, load VAE: 0.2s, calculate empty prompt: 1.7s).

当前界面安装了一些插件,所以展示这样的,默认为橘黄色

在这里插入图片描述

模型获取网站:

https://civitai.com/models

在这里插入图片描述

简单测试

在这里插入图片描述

在这里插入图片描述

常见的正向反向提示词

反向:

DeepNegative,EasyNegativeV2,bad-hands-5,bad_prompt_version2,deformed,missing limbs,amputated,disfigured,poorly drawn face,mutation,mutated,ugly,disgusting,oversaturated,doubled face,b&w,black and white,sepia,freckles,no masks,duplicate image,paintings,sketches,(worst quality:2),(low quality:2),(normal quality:2),lowres,monochrome,grayscale,bad anatomy,(fat:1.2),tilted head,bad hands,error,missing fingers,extra digit,fewer digits,cropped,blurry,bad feet,jpeg (artifacts:1.2),
canvas frame, (high contrast:1.2), (over saturated:1.2), (glossy:1.1), ((disfigured)), ((bad art)), ((b&w)), blurry, ((bad anatomy)), (((bad proportions))), ((extra limbs)), cloned face, (((disfigured))), extra limbs, (bad anatomy), gross proportions, (malformed limbs), ((missing arms)), ((missing legs)), (((extra arms))), (((extra legs))), mutated hands, (fused fingers), (too many fingers), (((long neck))), photoshop, video game, ugly, tiling, poorly drawn hands, (nsfw:1.2), nude, naked, pink nipples

正向:

high quality 3d rendering high resolution raytracing  
(front focus),(in the dark:1.6), 
(masterpiece:1.1),(highest quality:1.1),(HDR:1),ambient light,ultra-high quality,( ultra detailed original illustration), 
film grain and (medium full shot:1.2) and 8K HD RAW photo 

博文部分内容参考

© 文中涉及参考链接内容版权归原作者所有,如有侵权请告知,这是一个开源项目,如果你认可它,不要吝啬星星哦 😃


什么是LoRA模型,如何使用和训练LoRA模型?你想要的都在这!:https://zhuanlan.zhihu.com/p/624230991

项目地址: https://github.com/AUTOMATIC1111/stable-diffusion-webui

部署教程地址: https://www.youtube.com/watch?v=onmqbI5XPH8&t=55s


© 2018-2023 liruilonger@gmail.com, All rights reserved. 保持署名-非商用-相同方式共享(CC BY-NC-SA 4.0)

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

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

相关文章

adam优化器和动量

原始的SGD 加上动量(惯性,每一次更新根据前面所有结果,使结果更快收敛) AdaGrad 与SGD的核心区别在于计算更新步长时,增加了分母:梯度平方累积和的平方根。此项能够累积各个参数 的历史梯度平方&#xf…

Vue 2.5 入门学习记录

Vue 2.5 入门学习记录 1. 基础知识Vue 是什么Vue引入方式Vue特点Vue实例中的数据事件方法Vue中的属性绑定和双向绑定Vue中的v-if、v-show、v-fortoDoList制作局部组件&全局组件 2. vue-cli工程3. 工程案例实践使用vue-cli实现todoList及删除某个元素全局样式与局部样式 4. …

2024年camtasia怎么导出mp4

Camtasia 2024是一款屏幕录制和视频剪辑软件,教授课程,培训他人,以更快的速度和更吸引人的方式进行沟通和屏幕分享。使您在Windows和Mac上进行录屏和剪辑创作专业外观的视频变得更为简单。 Camtasia Studio 2023 win-安装包:https…

智能优化算法应用:基于蜜獾算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于蜜獾算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于蜜獾算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蜜獾算法4.实验参数设定5.算法结果6.参考文献7.MA…

机器视觉工程师,我存多少钱可以躺平

钱钱钱!还是钱!除了钱还能聊点别的吗?钱可以让你生活的更好,也可以让你​在生活中的选择很无奈。 如果想要知道拥有多少存款才能躺平不上班,那么首先要明确躺平的定义。所谓的躺平,其实并不代表不能工作&a…

车载V2X方案的选型分享

ACX200T面向 5G车联网C-V2X 应用的安全芯片,满足V2X场景下消息认证的专用安全芯片,该款芯片采用公司自主的 高速硬件加密引擎 ,支 持国家标准SM1、SM2、SM3、SM4密码算法,同时支持国际ECDSA、AES、SHA-1密码算法。可实现网联汽车云…

SWUST-跳绳比赛

由于这里只算前60s的&#xff0c;又有每秒跳一个&#xff0c;假设60秒抽象为数组&#xff0c;每个值为1。根据输入来更新数组&#xff0c;若停下则更新为0。最后对数组求和即可。 代码如下 #include<stdio.h> #include<stdlib.h> int main() {int n;scanf("…

Qt前端技术:2.QSS

border-style&#xff1a;后边是两个参数的话第一个参数改变上下的style 第二个参数改变左右的style 如果后边是三个参数的话第一个参数改变上边的style第二个参数改变左右的style&#xff0c;第三个参数改变的下边的style 如果后边是四个参数的话对应的顺序为上&#xff0c;右…

【蓝桥杯】专题练习

前缀和 3956. 截断数组 - AcWing题库 一看到题目很容易想到的思路是对数组求前缀和&#xff0c;然后枚举两个分段点就好&#xff0c;时间复杂度是On^2&#xff0c;n是1e5会t&#xff0c;需要优化。 朴素的代码&#xff0c;会超时&#xff1a; #include <bits/stdc.h> u…

Floating point exception

参考:https://blog.csdn.net/yyangzhenjie/article/details/87859506?spm1001.2101.3001.6661.1&utm_mediumdistribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-87859506-blog-126091159.235%5Ev39%5Epc_relevant_3m_sort_dl_base2&depth_1-ut…

使用包、Crate 和模块管理项目(下)

1、使用 use 关键字将路径引入作用域 在之前的示例中我们引用模块中的函数或者结构体之类的&#xff0c;都是需要用到相对路径或者绝对路径去引用&#xff0c;然尔在这里&#xff0c;有一种方法可以简化这个过程。我们可以使用 use 关键字创建一个短路径&#xff0c;然后就可以…

Spring Boot3通过GraalVM生成exe执行文件

一、安装GraalVM 1、官网&#xff1a;https://www.graalvm.org/downloads/ 2、配置环境变量 2.1、环境变量必须使用JAVA_HOME&#xff0c;否则会出现问题 2.2、在系统变量配置Path,%JAVA_HOME%\bin&#xff0c;注意必须放在顶部第一位 2.3、配置jdk的环境变量&#xff0c;在P…

IDEA中如何创建各种类型的java工程

如果你的工程下面的module没有互相依赖&#xff0c;就相当于是一个小的项目&#xff0c;idea版本不同&#xff0c;细节可能不同 1、普通的Java 工程 在工程上&#xff0c;右键- New - Module&#xff0c;如下&#xff1a; 指明Java工程的名称及使用的JDK版本&#xff1a; 创建…

Redis设计与实现之数据库

目录 一、数据库 1、数据库的结构 2、 数据库的切换 3、 数据库键空间 4、键空间的操作 添加新键 删除键 更新键 取值 其他操作 5、 键的过期时间 6、过期时间的保存 7、设置生存时间 8、过期键的判定 9、 过期键的清除 定时删除 惰性删除 定期删除 10、过期…

基于SSM+Vue的新闻管理系统

基于SSMVue的新闻管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringSpringMVCMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 新闻列表 管理员界面 用户界面 摘要 新闻管理系统基于SSM&#xff08;Spr…

java之HikariCP连接池介绍和使用方法 简单易懂!!!

文章目录 &#x1f60e;一、HikariCP连接池介绍&#x1f60e;二、导入的jar包&#x1f60e;三、代码演示&#x1f9e8;Properties配置文件&#x1f9e8;使用配置文件连接&#x1f9e8;运行结果 &#x1f60e;四、总结 ✨前言&#xff1a;本章主要学习hikaricp连接池的介绍以及使…

21 3GPP中 5G NR高速列车通信标准化

文章目录 信道模型实验——物理层设计相关元素μ(与子载波间隔有关)设计参考信号(DMRS) 本文提出初始接入、移动性管理、线性小区设计等高层技术。描述3GPP采用HST场景的评估参数&#xff0c;阐释了HST应用的物理层技术&#xff0c;包括数字通信和参考信号设计&#xff0c;链路…

@德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?

德人合科技 | 天锐绿盾加密软件是一款全面保障企业电脑数据和安全使用的加密软件 PC端访问地址&#xff1a;www.drhchina.com 它的功能包括但不限于&#xff1a; 实时操作日志&#xff1a;可以实时详细地记录所有终端的操作日志&#xff0c;包括终端上窗口标题的变换、程序的…

FFmepeg——视频处理工具安装以及简单命令学习。

FFmpeg 是一个免费、开源且高度可定制的多媒体处理工具&#xff0c;它是一个强大的跨平台框架&#xff0c;用于处理音频、视频、多媒体流和图像。FFmpeg 的主要功能包括解码、编码、转码、流处理、多路复用、分离、合并、过滤等&#xff0c;支持多种音视频格式&#xff0c;包括…

Flink(十)【处理函数】

前言 冬天学习成本太高了&#xff0c;每天冻得要死&#xff0c;自习室人满为患&#xff0c;确实是辛苦。学校基本的硬件条件差的一批&#xff08;图书馆贼小贼偏僻、老教室暖气还没有地板热、空教室还得自己一个一个挨着找&#xff09;&#xff0c;个体无法改变环境只能顺应了&…