Stable Diffusion Windows 部署简单认知

写在前面


  • 偶然看到,简单了解
  • 博文为 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.mfbz.cn/a/258746.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

铲屎官必备——在拍宠物萌照这一块,Mate X5可能真的是遥遥领先

养宠物已经成了年轻人的潮流之一,谁不想要有可爱高萌的猫猫狗狗作伴呢?也正因为如此,如何给自家主子拍一张可以分享炫耀到朋友圈的萌宠美照就成了难题,很多时候明明萌宠可爱溢出,却因为拍照出片的效果太差,…

【算法】红黑树

一、红黑树介绍 红黑树是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。 红黑树是在1972年由Rudolf Bayer发明的,当时被称为平衡二叉B树(symmetric binary B-trees)。后来&am…

R语言——文件读写(三)

目录 一、获取数据 二、读取文件 三、写入文件 四、读写Excel文件 五、读写R格式的文件 参考 一、获取数据 获取数据的三种途径: 1. 利用键盘来输入数据 2. 通过读取存储在外部文件上的数据 3. 通过访问数据库系统来获取数据 edit():定义一个数…

在使用mapstruct,想忽略掉List<DTO>字段里面的,`data` 字段的映射, 如何写ignore: 使用@IterableMapping

在使用mapstruct,想忽略掉List字段里面的,data 字段的映射, 如何写ignore 代码如下: public interface AssigmentFileMapper {AssigmentFileDTO assigmentFileToAssigmentFileDTO(AssigmentFile assigmentFile);AssigmentFile assigmentFileDTOToAssigmentFile(Assigment…

【Proteus仿真】【Arduino单片机】视力保护仪

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使LCD1602液晶,DS18B20温度传感器、按键、蜂鸣器、继电器开关、HC05蓝牙模块等。 主要功能: 系统运行后,LCD16…

5252D 5G基站测试仪

01 5252D 5G基站测试仪 产品综述: 5252D多通道综测仪打破了信号发生器进行信号发射、频谱分析仪进行观看频域波形的测试方案,将信号收发融为一体,推动无线通信测试进入全新时代。其独具的多通道收发一体、高性能、全方位测试能力及直观操作…

UE5 runtime模式下自定义视口大小和位置并跟随分辨率自适应缩放

本文旨在解决因UI问题导致屏幕中心位置不对的问题 处理前的现象:如果四周UI透明度都为1,那么方块的位置就不太对,没在中心 处理后的现象: 解决办法:自定义大小和视口偏移 创建一个基于子系统的类或者蓝图函数库(什么类…

链表对象的封装

前言 前面我自己写了一个对链表对象的封装,现在看来,确实还得是大佬的封装思路更加完善 前言知识介绍 __init__方法 __init__方法是Python中的一个特殊方法,用于初始化一个新对象。当一个类的实例被创建时,__init__方法会被自…

【数据结构和算法】 K 和数对的最大数目

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一:双指针排序 三、代码 3.1 方法一:双指针排序 3.2 方法二&#xff1…

107基于matlab的模糊推理系统(ANFIS)的时间序列预测

基于matlab的模糊推理系统(ANFIS)的时间序列预测,输出训练集、测试集和预测数据结果,数据可更换自己的,程序已调通,可直接运行。 107 时间序列预测模糊推理系统 (xiaohongshu.com)

管理类联考——数学——真题篇——按题型分类——充分性判断题——蒙猜A/B

老规矩,看目录,平均3-5题 文章目录 A/B2023真题(2023-19)-A-选项特点:两个等号;-判断需联立的难易:难,看着感觉需要联立,所以判断联立需要有理论支撑,不然还…

QT qAbs()、qRound()

1.qAbs qAbs:原型为 T qAbs(const T &value) 返回输入参数对应类型的绝对值,其中T为输入参数类型,也就是可以返回多种类型(int,float,double型) 代码示例: int d -1; float b -3.14; double c -4.36;int a_…

具有超低功耗性能的R7F102GAC3CSP、R7F102GAC2DSP、R7F102G6C3CSP RL78/G22微控制器 16-bit MCU

RL78/G22 简介: 除了具有低电流消耗(CPU工作时:37.5μA/MHz;STOP时:200nA)外,RL78/G22微控制器还配备了丰富的电容触摸通道。完备的16-48引脚封装和32KB-64KB闪存,扩充了新一代RL78…

PMP认证需要多少钱?

PMP认证费太贵?这些可以省下来! 学习PMP认证到拿证的过程中一共有两个地方需要有费用支出,第一是PMP培训费用,第二就是PMP考试费用。 为什么一定要参加培训?这是PMI的考试条件中要求的,任何考生都需要有35学…

【C++】开源:ImGui图形用户界面库配置与使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍ImGui图形用户界面库配置与使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&…

【递归 回溯】LeetCode-226. 翻转二叉树

226. 翻转二叉树。 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]示例 2: 输入:root [2,1,3] 输出&#xf…

实战篇:一文讲清楚电商平台用户评价分析

01 明确问题 随着电商平台的成熟,如何提升用户体验、提高客户留存率也成为了电商平台关注的重点。而用户评价是最直观地能反应用户体验的指标。用户差评更是其中的重点,通过差评分析,可以寻找到平台目前存在的可能导致用户打出差评的因素&am…

机器学习——特征选择(一)

【说明】文章内容来自《机器学习——基于sklearn》,用于学习记录。若有争议联系删除。 1、简介 特征选择,又称变量选择、属性选择或变量子集选择,是选择相关特征子集用于模型构造的过程。简要地说,通过检测相关特征。摒弃冗余特征…

TransXNet实战:使用 TransXNet实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度,DP多卡,EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…

脉冲水表作用有哪些?

脉冲水表是一种新型的水表,它通过检测水流量并发送脉冲信号来计量用水量。与传统的机械水表相比,脉冲水表具有许多优势和作用。 首先,脉冲水表具有高精度和可靠性。传统的机械水表在长期使用过程中会因磨损而导致计量不准确,而脉冲…