Stable Diffusion WebUI 环境

GoCoding
• 阅读 398

Stable Diffusion 是热门的文本到图像的生成扩散模型,本文介绍了如何准备其 WebUI 环境。

环境基础

  • OS: Ubuntu 22.04.2 LTS
  • Kernel: 5.19.0
  • CPU: AMD Ryzen 7 3700X
  • GPU: NVIDIA GeForce RTX 2080 Ti
  • RAM: 16GB

环境安装

Nvidia 驱动

# 查看可用驱动信息
ubuntu-drivers devices
# 安装 Nvidia 驱动(可选提示 recommended 的)
sudo apt install nvidia-driver-530
# 查看 Nvidia 驱动(查看不了,可重登录或重启)
nvidia-smi

Anaconda

# 安装 Anaconda, 都 yes
bash Anaconda3-2023.03-1-Linux-x86_64.sh

PyTorch

# 创建虚拟环境
conda create -n sdwebui python=3.10.6 -y
conda activate sdwebui

# 安装 PyTorch with CUDA
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia -y

检查 PyTorch 版本,

$ python - <<EOF
import torch
print(torch.__version__, torch.cuda.is_available())
EOF
2.0.1 True

Stable Diffusion WebUI

获取代码

sudo apt install git -y

git clone -b v1.3.2 --depth 1 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

cd stable-diffusion-webui/
export SDWEBUI=`pwd`

获取模型

CivitaiHuggingFace 下载模型,

这里选了两种不同风格的模型,放进 models/Stable-diffusion/ 目录,

mv majicmixRealistic_v5.safetensors $SDWEBUI/models/Stable-diffusion/
mv dreamshaper_6BakedVae.safetensors $SDWEBUI/models/Stable-diffusion/

启动运行

conda activate sdwebui
# 避免用 venv,就用 conda 虚拟环境
export VIRTUAL_ENV=sdwebui
# 启用局域网访问
export COMMANDLINE_ARGS=" --listen"

# 以上可以直接在 webui-user.sh 配置好,如下
cd $SDWEBUI
vi webui-user.sh
# webui-user.sh
#  eval "$(conda shell.bash hook)"
#  conda activate sdwebui
#  export VIRTUAL_ENV=sdwebui
#  export COMMANDLINE_ARGS=" --listen"

# 启动运行
cd $SDWEBUI
./webui.sh
  • webui-user.sh 可配置指定的 Stable Diffusion 版本等,默认值见 $SDWEBUI/modules/launch_utils.py
  • webui.sh 启动运行,默认会用 python venv 准备完整环境,不过这里让用已准备的 conda 虚拟环境了。

等启动后,浏览器打开 http://127.0.0.1:7860/ 即可开始使用了。

Stable Diffusion WebUI 环境

初步使用

Stable Diffusion checkpoint 选择模型,于 txt2img 标签页写好 Prompt Negative Prompt 文本,再 Generate 即可生成图像。

刚开始使用,可以借用别人的 Prompt 试试:如模型下载页示例图像的,或如 PromptHero 等站点分享图像的。试了下两模型,效果如下:

majicMIX realistic:

Stable Diffusion WebUI 环境

# Prompt
best quality, masterpiece, ultra high res, photorealistic, 1girl, offshoulder, smile,
Portrait

# Negative prompt
ng_deepnegative_v1_75t, (badhandv4:1.2), (worst quality:2), (low quality:2), (normal quality:2), lowres, bad anatomy, bad hands, ((monochrome)), ((grayscale)) watermark, moles

DreamShaper:

Stable Diffusion WebUI 环境

# Prompt
(masterpiece, top quality, best quality, official art, beautiful and aesthetic:1.2),(8k, best quality, masterpiece:1.2),CGDivineSwordsw, weapon, armor, solo, holding, horns, glowing, sword, 1boy, holding weapon, planted, male focus, glowing weapon, standing, helmet, gauntlets, holding sword, glowing sword, planted sword, shoulder armor, gradient, gradient background, greaves, pauldrons, (blue glow:1.3), <lora:CGDivineSwordsw_20230611172159:1>

# Negative prompt
(badhandv4:1.2),lowres, bad anatomy,bad arms,text, bad face, error, extra digit, fewer digits, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, {blurry:1.1}, missing arms, missing legs, more than two legs,cowboy,huge_breasts,gigantic_breasts,

后话

Prompt 需要自己多玩,慢慢探索和总结。可以搜索别人分享的经验,也有不少生成或优化工具。去理解扩散模型的大概原理,也可能有不少帮助。

点赞
收藏
评论区
推荐文章
GoCoding GoCoding
3年前
OpenCV 查找轮廓
本文将结合实例代码,介绍OpenCV如何查找轮廓、获取边界框。代码:OpenCV提供了函数查找轮廓,需要以二值化图像作为输入、并指定些选项调用即可。我们以下图作为示例:二值化图像代码工程data/提供了小狗和红球的二值化掩膜图像:其使用预训练好的实例分割模型来生成的,脚本可见。模型检出结果,如下:模型用的MaskRCNN已有预测边
Wesley13 Wesley13
3年前
MySQL数据库InnoDB存储引擎Log漫游(1)
作者:宋利兵来源:MySQL代码研究(mysqlcode)0、导读本文介绍了InnoDB引擎如何利用UndoLog和RedoLog来保证事务的原子性、持久性原理,以及InnoDB引擎实现UndoLog和RedoLog的基本思路。00–UndoLogUndoLog是为了实现事务的原子性,
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
京东云开发者 京东云开发者
4个月前
【AIGC】 0成本学习:AI工作流生成Joy(ComfyUI)
现如今在AIGC大环境的推动下AI生成的工作也不断的在进化,从起初的MJ到SD,从WebUI到现在的ComfyUI。每一次变化都再不断的提升AI方向的质量和效率。今天就带大家把最近火圈的ComfyUi用起来!!!同时这次也将提供给大家所有基础的工作流,以及
Java服务总在半夜挂,背后的真相竟然是... | 京东云技术团队
最近有用户反馈测试环境Java服务总在凌晨00:00左右挂掉,用户反馈Java服务没有定时任务,也没有流量突增的情况,Jvm配置也合理,莫名其妙就挂了
liam liam
12个月前
一文掌握 Stable Diffusion API:调用指南
StableDiffusion是一个先进的深度学习模型,用于创造和修改图像。这个模型能够基于文本描述来生成图像,让机器理解和实现用户的创意。使用这项技术的关键在于掌握其API,通过编程来操控图像生成的过程。在探索StableDiffusionAPI的世界前
贾元春 贾元春
6个月前
Stable Diffusion 商业变现与绘画大模型多场景实战[完结12章]
前言:ai绘画软件StableDiffusion(软件下载,自己还原:/s/1Ayqx1caFcUluUFgflXEAg提取码:53h7)是一种通过模拟扩散过程,将噪声图像转化为目标图像的文生图模型,具有较强的稳定性和可控性,可以将文本信息自动转换成高质量
GoCoding
GoCoding
Lv1
Go coding in my way :)
文章
32
粉丝
5
获赞
10