NoteZ_技术博客 NoteZ_技术博客
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)

NoteZ_技术博客

前端界的小学生
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)
  • Web技术

  • Git笔记

  • Linux文档

  • Markdown

  • Nginx文档

  • Npm笔记

  • 技术文档

    • axios携带cookie
    • Echarts自定义提示框tooltip样式(包括提示框标题不固定)
    • gitee 仓库初始化
    • GitHub + jsDelivr + TinyPNG+ PicGo 打造稳定快速、高效免费图床
    • GitHub Actions 定时运行代码:每天定时百度链接推送
    • GitHub Actions 实现自动部署静态博客
    • GitHub加速下载项目的方法
    • GitHub高级搜索技巧
    • js以当前时间为基础,便捷获取时间(最近2天,最近1周,最近2周,最近1月,最近2月,最近半年,最近一年,本周,本月,本年)
    • JupyterLab二次开发环境配置以及踩的一些坑(笔记)
    • linux 虚拟机 ping 域名时,提示“未知的名称或服务原因分析“
    • Node.js中间件 - Multer详解
    • node.js使用supervisor或nodemon进行调试热更新
    • NodeJs的压缩文件之 - 模块 archiver 用法示例
    • Pdf数据解析
    • sh文件出现错误:Permission denied解决办法
    • vscode命令行以管理员身份运行
    • webpack 的简单使用
    • Web前端Vue离线存储之 - localForage.js使用方法
    • windows 多版本管理工具 nvm-windows
    • windows 如何配置 pip 镜像
    • WX小程序开发总结
    • Xshell 6 提示 “要继续使用此程序,您必须应用最新的更新或使用新版本”
    • yaml语言教程
    • 使用 SwitchHost 修改 host 文件为 GitHub 提速
    • 使用Gitalk实现静态博客无后台评论系统
    • 几款主流好用的富文本编辑器
    • 如何使用 babel 对es6语法进行转码
    • 如何使用 github pages 搭建你的个人站点
    • 如何使用openvscode-server搭建一个vscode代码编辑器
    • 如何配置 GitHub 页面的发布源
    • 如何配置GitHub登录账号密码,进行免密push仓库文件
    • 解决GitHub提交代码成功后并不显示绿格子问题
    • 解决百度无法收录搭建在GitHub上的个人博客的问题
    • VuePress 配置 MarkDown 文件目录.md
    • GitHub无法打开或加载慢的解决方法
    • win10 通过修改 hosts 提升github访问速度
    • Echarts实现自适应
    • gulp项目中ReferenceError_ primordials is not defined报错解决方法
    • 使用libreoffice将word转化成pdf
    • onlyoffice+vue实现在线预览在线编辑
    • Stable-Diffusion-WebUI 搭建使用教程
      • 一、搭建指南
      • 二、主要功能
        • txt2img(文转图)
        • img2img(图转图)
      • Extras(更多)
    • wind10通过安装nvm切换node版本
    • 解决虚拟机中ip地址总是自动变化办法
    • Git配置之邮箱设置
    • Echarts重写tooltip(提示框)代码
    • 使用 frp 实现内网穿透
    • win10 开机自启动 frp 实现内网穿透
    • Express 与 vue3 使用 sse(event-stream)实现消息推送并使用 nginx 转发
    • Linux 中使用 rsync 同步文件目录教程
    • Gitea数据备份与还原
  • 其他文档

  • 前端开发
  • 技术文档
NoteZ
2024-02-20
目录

Stable-Diffusion-WebUI 搭建使用教程

Stable-Diffusion-Webui 是一个基于Gradio库的Stable Diffusion的浏览器界面,可以说是AI绘画集合体,支持目前主流的开源AI绘画模型,例如 NovelAi/Stable Diffusion,有了它,我们就可以很方便地配置和生成AI绘画作品,并且进行各种精细地配置。

# 一、搭建指南

1、安装Python 3.10.6和git

2、下载stable-diffusion-webui源码

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

3、将模型文件放在项目根目录下的models/Stable-diffusion文件夹里

4、运行 webui-user.bat 启动

5、在浏览器中输入 http://127.0.0.1:7860 打开SD页面 1691643107133.png

launch.py可自动运行模型,运行时可以使用一些命令参数,比如:

python launch.py --opt-split-attention --ckpt model.ckpt
1

命令行参数和优化:

命令行参数 解释
--share online运行,也就是public address
--listen 使服务器侦听网络连接。这将允许本地网络上的计算机访问UI。
--port 更改端口,默认为端口7860。
--xformers 使用xformers库。极大地改善了内存消耗和速度。Windows 版本安装由C43H66N12O12S2 维护的二进制文件
--force-enable-xformers 无论程序是否认为您可以运行它,都启用 xformers。不要报告你运行它的错误。
--opt-split-attention Cross attention layer optimization 优化显着减少了内存使用,几乎没有成本(一些报告改进了性能)。黑魔法。默认情况下torch.cuda,包括 NVidia 和 AMD 卡。
--disable-opt-split-attention 禁用上面的优化
--opt-split-attention-v1 使用上述优化的旧版本,它不会占用大量内存(它将使用更少的 VRAM,但会限制您可以制作的最大图片大小)。
--medvram 通过将稳定扩散模型分为三部分,使其消耗更少的VRAM,即cond(用于将文本转换为数字表示)、first_stage(用于将图片转换为潜在空间并返回)和unet(用于潜在空间的实际去噪),并使其始终只有一个在VRAM中,将其他部分发送到CPU RAM。降低性能,但只会降低一点-除非启用实时预览。
--lowvram 对上面更彻底的优化,将 unet 拆分成多个模块,VRAM 中只保留一个模块,破坏性能
*do-not-batch-cond-uncond 防止在采样过程中对正面和负面提示进行批处理,这基本上可以让您以 0.5 批量大小运行,从而节省大量内存。降低性能。不是命令行选项,而是使用–medvramor 隐式启用的优化–lowvram。
--always-batch-cond-uncond 禁用上述优化。只有与–medvram或–lowvram一起使用才有意义
--opt-channelslast 更改 torch 内存类型,以稳定扩散到最后一个通道,效果没有仔细研究。

完整的命令行参数详见:https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Command-Line-Arguments-and-Settings (opens new window)

# 二、主要功能

WebUI分为以下几个模块:

  • txt2img --- 标准的文字生成图像
  • img2img --- 根据图像成文范本、结合文字生成图像
  • Extras --- 优化(清晰、扩展)图像
  • PNG Info --- 图像基本信息
  • Checkpoint Merger --- 模型合并
  • Train --- 训练模型
  • Settings --- 默认参数修改

# txt2img(文转图)

  • prompt:对于图像进行描述,有内容风格等信息进行描述。

  • Negative prompt:提供给模型我不想要什么样的风格

  • Sampling Steps:diffusion model 生成图片的迭代步数,每多一次迭代都会给 AI 更多的机会去比对 prompt 和当前结果,去调整图片。更高的步数需要花费更多的计算时间,但不一定意味着更好的结果。当然迭代步数不足(少于 50)肯定会降低结果的图像质量;

  • Sampling method:扩散去噪算法的采样模式,不同的采样模式会带来不一样的效果

  • Width、Height:图像长宽,可以通过send to extras 进行扩大,所以这里不建议设置太大[显存小的特别注意];

  • Restore faces:优化面部,绘制面部图像特别注意

  • Tiling:生成一个可以平铺的图像

  • Highres. fix:使用两个步骤的过程进行生成,以较小的分辨率创建图像,然后在不改变构图的情况下改进其中的细节,选择该部分会有两个新的参数 Scale、latent 在潜空间中对图像进行缩放。另一种方法是从潜在的表象中产生完整的图像,将其升级,然后将其移回潜在的空间。Denoising strength 决定算法对图像内容的保留程度。为0时,什么都不会改变,而为1时,你会得到一个不相关的图像;

  • Batch count、 Batch size:都是生成几张图,前者计算时间长,后者需要显存大;

  • CFG Scale:分类器自由引导尺度——图像与提示符的一致程度——越低的值产生越有创意的结果;

  • Seed:种子,只要种子值一样,参数一致、模型一样图像就能重新

# img2img(图转图)

Just resize、 Crop and resize、 Resize and fill:这三种模式保证图输出效果,因为下面会有新的尺寸,分别表示只需调整大小、裁剪和调整大小、调整大小和填充。

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

# Extras(更多)

对图片进行优化缩放

GFPGAN visibility:对图像清晰度进行优化

#Python#Stable-Diffusion
上次更新: 2024/02/20, 17:31:36
onlyoffice+vue实现在线预览在线编辑
wind10通过安装nvm切换node版本

← onlyoffice+vue实现在线预览在线编辑 wind10通过安装nvm切换node版本→

最近更新
01
Gitea数据备份与还原
03-10
02
Linux 中使用 rsync 同步文件目录教程
03-10
03
Linux 使用 rsync 互相传输同步文件的简单步骤
03-08
更多文章>
Theme by Vdoing | Copyright © 2019-2025 NoteZ,All rights reserved | 冀ICP备2021027292号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式