diva-notes
  • README
  • Ads
    • 定价策略
    • 广告层级
    • 归因模型
    • 买量
    • Chat GPT
    • Google
  • AI
    • 参考资料
    • Chat GPT
    • stable-diffusion-webui安装
  • Algorithm
    • 倍增
    • 并查集
    • 参考
    • 环的判断
    • 凸包
    • 蓄水池抽样
    • 最短路径
    • 最小生成树
    • KMP算法
    • Rabin-Karp算法
    • Tarjan桥算法
  • Architecture
    • Serverless
  • Career
  • CICD
    • 代码质量
    • CICD实践
  • Data Structure
    • 布谷鸟过滤器
    • 布隆过滤器
    • 浮点
    • 红黑树
    • 锁
    • LSM树
  • DB
    • My SQL
      • 隔离级别
      • 架构
      • 索引
      • 锁
      • 页结构
      • 主从同步
      • ACID
      • Log
      • MVCC
      • Questions
    • Postgres
      • 持久化
      • 对比MySQL
      • 隔离级别
      • 索引
      • Greenpulm
      • MVCC
    • 倒排索引
    • 列式存储
    • H Base
    • HDFS
    • MPP数据库选型
    • Questions
  • Distributed System
    • 分布式事务
    • 服务网格
    • BASE理论
    • CAP
    • Etcd
    • Raft协议
    • ZAB协议
  • Go
    • 1.语言基础
      • 1.CPU寄存器
      • 2-1.函数调用
      • 2-2.函数调用栈
      • 2.接口
      • 3.汇编
      • 4.调试
    • 2.编译
      • 1.编译
      • 2.词法与语法分析
      • 3.类型检查
      • 4.中间代码生成
      • 5.机器码生成
    • 3.数据结构
      • 1.数组array
      • 2.切片slice
      • 3.哈希表map
      • 4.字符串
    • 4.常用关键字
      • 1.循环
      • 2.defer
      • 3.panic和recover
      • 4.make和new
    • 5.并发编程
      • 1.上下文Context的实现
      • 2-1.runtime.sema信号量
      • 2-2.sync.Mutex的实现
      • 2-3.sync.WaitGroup
      • 2-4.sync.Once的实现
      • 2-5.sync.Map的实现
      • 2-6.sync.Cond
      • 2-7.sync.Pool的实现
      • 2-8.sync.Semaphore的实现
      • 2-9.sync.ErrGroup
      • 3.定时器Timer的实现
      • 4.Channel的实现
      • 5-1.调度-线程
      • 5-2.调度-MPG
      • 5-3.调度-程序及调度启动
      • 5-4.调度-调度策略
      • 5-5.调度-抢占
      • 6.netpoll实现
      • 7.atomic
    • 6.内存管理
      • 1-1.内存分配基础-TCmalloc
      • 1-2.内存分配
      • 2.垃圾回收
      • 3.栈内存管理
    • 参考
    • 各版本特性
    • 坑
    • Go程序性能优化
    • http.Client
    • net.http路由
    • profile采样的实现
    • Questions
    • time的设计
  • Kafka
    • 高可用
    • 架构
    • 消息队列选型
    • ISR
    • Questions
  • Network
    • ARP
    • DNS
    • DPVS
    • GET和POST
    • HTTP 2
    • HTTP 3
    • HTTPS
    • LVS的转发模式
    • NAT
    • Nginx
    • OSI七层模型
    • Protobuf
    • Questions
    • REST Ful
    • RPC
    • socket缓冲区
    • socket详解
    • TCP滑动窗口
    • TCP连接建立源码
    • TCP连接四元组
    • TCP三次握手
    • TCP数据结构
    • TCP四次挥手
    • TCP拥塞控制
    • TCP重传机制
    • UDP
  • OS
    • 磁盘IO
    • 调度
    • 进程VS线程
    • 零拷贝
    • 内存-虚拟内存
    • 内存分配
    • 用户态VS内核态
    • 中断
    • COW写时复制
    • IO多路复用
    • Questions
  • Redis
    • 安装
    • 参考
    • 高可用-持久化
    • 高可用-主从同步
    • 高可用-Cluster
    • 高可用-Sentinel
    • 缓存一致性
    • 事务
    • 数据结构-SDS
    • 数据结构-Skiplist
    • 数据结构-Ziplist
    • 数据结构
    • 数据类型-Hashtable
    • 数据类型-List
    • 数据类型-Set
    • 数据类型-Zset
    • 数据淘汰机制
    • 通信协议-RESP
    • Questions
    • Redis6.0多线程
    • Redis分布式锁
    • Redis分片
  • System Design
    • 本地缓存
    • 错误处理
    • 大文件处理
    • 点赞收藏关注
    • 短链接生成系统
    • 负载均衡
    • 高并发高可用
    • 规则引擎
    • 集卡活动
    • 秒杀系统
    • 评论系统
    • 熔断
    • 限流
    • 延迟队列
    • Docker
    • ES
    • K 8 S
    • Node.js
    • Questions
  • Work
    • Bash
    • Charles
    • Code Review
    • Ffmpeg
    • Git
    • intellij插件
    • I Term 2
    • Mac
    • mysql命令
    • Nginx
    • postgresql命令
    • Protoc
    • Ssh
    • Systemd
    • Tcp相关命令
    • Vim
Powered by GitBook
On this page
  • 安装
  • 启动
  • 添加模型
  • 扩展
  • 绘制
  • settings 模块参数说明
  • 绘制参数说明
  • img2img 图生图参数说明
  • 参数复制
  • 图片保存
  • PNG Info 模块
  • 脚本功能
  • 相关链接
  • 一些模型链接
  1. AI

stable-diffusion-webui安装

stable-diffusion-webui 是一款可以在服务器上运行 stable-diffusion 的 WebUI 界面。通过安装它,你可以启动一个 AI作图后台程序并通过 WebUI 访问它。

项目的 github repo: https://github.com/AUTOMATIC1111/stable-diffusion-webui

安装

环境:CentOS

先安装一些依赖:

# torch 的 liblzma-dev 依赖
sudo yum install -y xz-devel

sudo yum install xdg-utils

安装 Python

  1. 下载:https://www.python.org/ftp/python/,选择 3.10.6 版本(WebUI 使用的是这个版本)

  2. 解压文件:tar -zxvf Python-3.10.6.tgz,cd Python-3.10.6

  3. 配置编译保存的路径:./configure --prefix=/usr/local/python3.10.6; sudo mkdir /usr/local/python3.10.6

  4. 编译:make、sudo make altinstall

  5. 创建 python3.10 软连接:sudo ln -s /usr/local/python3.10.6/bin/python3.10 /usr/local/bin/python3.10

  6. 如果后面启动 WebUI 时缺少 fastapi 的错,安装这个依赖:pip3.10 install fastapi

安装SSL

sudo yum install -y epel
sudo yum install -y openssl11-devel

cd Python-3.10.6
sed -i 's/PKG_CONFIG openssl /PKG_CONFIG openssl11 /g' configure
./configure --enable-optimizations
sudo make altinstall

下载 stable-diffusion-webui 仓库代码

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

修改 webui-user.sh 文件,修改里面的默认目录、 python 命令安装位置

vim webui-user.sh
install_dir="stable-diffusion-webui所在的目录"
python_cmd="python3.10"

# 添加如下参数:单个渲染速度下降,但多个上升
export COMMANDLINE_ARGS="--medvram"

# 添加如下参数:解决CUDA有时报错内存不够的问题,通过缩小单位内存大小修复:
export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:32

启动

# 参数说明:
# --listen 开启本机外监听
# --port 80 可以指定为80端口
# --enable-insecure-extension-access 允许安装外部扩展
./webui.sh --listen --enable-insecure-extension-access

可选:做成系统服务,崩溃自动重启

sudo vim /etc/systemd/system/sd.service

# 文件内容如下:
[Unit]
Description=stable diffusion web
After=network.target

[Service]
Type=simple
Environment=PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:32
ExecStart=/安装位置/stable-diffusion-webui/webui.sh --listen --enable-insecure-extension-access
User=你的用户名
Restart=1
RestartSec=5s

[Install]
WantedBy=multi-user.target

sudo systemctl daemon-reload
sudo systemctl start sd

但是有时配置的 PYTORCH_CUDA_ALLOC_CONF 变量不对程序生效,仍然会报内存错误。不知道为什么

查看显存

nvidia-smi

添加模型

wget "模型下载链接"

将下载的模型(.ckpt文件 或 .safetensors文件)放置于 models/Stable-diffution/ 文件夹下,然后点击网页底部的 Reload UI 按钮重新加载 WebUI

Lora模型放到 models/Lora 文件夹下

在 WebUI 界面的 Extentions tab里,安装这个扩展可以方便的直接从 civitai 网站检索和下载模型:https://github.com/camenduru/sd-civitai-browser

安装后 Reload UI,可以看到多了一个 CivitAi tab,这个 tab 下勾选 Search by term 并输入关键词就可以检索了

扩展

可以安装一些扩展模块

浏览历史生成图片:https://github.com/yfszzx/stable-diffusion-webui-images-browser

生成相同构图、动作:https://github.com/Mikubill/sd-webui-controlnet

  • 这个也需要下载模型,安装指引:https://www.bilibili.com/read/cv21829826?spm_id_from=333.999.0.0

  • 模型下载地址:https://huggingface.co/lllyasviel/ControlNet/tree/main/models

Lora模型插件(现在 WebUI 已经内置 Lora功能了,一般不用):https://github.com/kohya-ss/sd-webui-additional-networks

https://github.com/continue-revolution/sd-webui-segment-anything

绘制

settings 模块参数说明

拷贝别人图片里的参数时,可能有些需要到 settings tab里修改:

  • Sampler parameters 下方的 eta(noise multiplier) for ancestral samplers:Novel AI 为 0.68

  • Sampler parameters 下方的 Eta noise seed delta:Novel AI 为 31337

  • Stable Diffusion 下的 Clip skip:很多人设为 2

  • 设置后点击 Apply settings 和 Reload UI

绘制参数说明

  • Prompt: 正向特征点:想要风格、图像的描述

  • Negative Prompt: 负向特征点,不想要的风格或者图像信息

  • Sampling Steps: 生成图片的迭代步数,也就是让AI推演多少步,这个数不会改变画面内容,只会让内容更精细,推荐值20~30

  • Sampling method: 扩散去噪算法的采样模式,可以理解为AI推演的算法,推荐Euler a/Euler/DDIM等

  • CFG Scale: 分类器自由引导尺度,这个值决定了按照设定生成的程度,开到越大,越接近给的提示词;开的越低,AI越放飞自我

  • Batch count & Batch size: 每次出图的数量和次数

  • Seed: 随机种子。同一台机器上,相同的参数+种子可以保证每次固定出同一张图片。

    • Extra: 以种子为基础,变化生成一些别的种子

  • Hires. fix: 由于高清图片生成的效果比较一般,因此可以先生成较低分辨率的图片后,再用这个功能基于低分辨率图片做修复,效果会更好

    • Upscaler: 是用的算法

    • Denoising strength: 放飞自我强度

img2img 图生图参数说明

Resize mode:比如根据一张1:1的图生成1:2的图,那么对于多出的空间有这些选项:

  • Just resize:直接拉伸

  • Crop and resize:裁剪多出的部分

  • Resize and fill:填充多出的部分

Denoising strength:与原图一致性的程度。一般大于0.7出来的都是新效果,小于0.3基本就会原图缝缝补补

参数复制

在 civitai.com 里可以浏览别人的作品并复制参数,将参数拷贝至 prompts 一栏并点击 Generate 下的小箭头,便可自动解析和填充参数

图片保存

点击图片下方的 Save 按钮可生成图片下载链接,点击链接下载图片

PNG Info 模块

可用 PNG Info 模块从 PNG图片中提取提示词

脚本功能

生成页面下方的 Script 里可以选择脚本。

把 https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Features 里的都看一遍,对各功能有详细介绍,非常有用

  • Prompt matrix 脚本:使用 | 可以触发提示词矩阵,会分别遍历提示词生成图像

  • Prompts from file or textbox:可以按行写提示词,会对每行都生成图

  • X/Y/Z plot:设置三种可变参数,看微调对最后结果的影响。格式:

    • Simple ranges:

      • 1-5 = 1, 2, 3, 4, 5

    • Ranges with increment in bracket:

      • 1-5 (+2) = 1, 3, 5

      • 10-5 (-3) = 10, 7

      • 1-3 (+0.5) = 1, 1.5, 2, 2.5, 3

    • Ranges with the count in square brackets:

      • 1-10 [5] = 1, 3, 5, 7, 10

      • 0.0-1.0 [6] = 0.0, 0.2, 0.4, 0.6, 0.8, 1.0

相关链接

奇怪咒语:

  • https://wwc.lanzouv.com/i2Mp20dw7tre 密码:bq1q

  • NSFW: https://wwl.lanzouy.com/ivusH0f9cdkf

艺术家列表:https://rentry.org/artists_sd-v1-4

词语列表:http://www.prompttool.com/NovelAI

Lora角色滤镜扩展教程:https://sparkly-day-9db.notion.site/AI-1962de6fa0b44378b2fed3b79df5252b

一些模型链接

在 https://civitai.com 模型页面的下载按钮上复制链接后,可以使用 wget 命令直接下载;也可以去 webUI 里用 civitai 插件下载

  • 动漫风格 Anything V3: https://civitai.com/models/66/anything-v3

  • 真人风格 ChilloutMix: https://civitai.com/models/6424/chilloutmix

  • korean Doll Likeness(Lora): https://huggingface.co/dadadadadatou/KbrDollLikeness/tree/main

  • St. Louis (Luxurious Wheels) (Azur Lane) (Lora): https://civitai.com/models/6669/st-louis-luxurious-wheels-azur-lane

PreviousChat GPTNextAlgorithm

Last updated 2 years ago

入门教程:

元素同典:确实不完全科学的魔导书