当前位置: 首页 > news >正文

SD:在一个 Ubuntu 系统安装 stable diffusion Web UI

目录

  • 前言
  • 1. 前置准备
    • 1.1 系统版本
    • 1.2 工具准备
    • 1.3 python环境
    • 1.4 安装 pytorch
  • 2. 下载开源 SD web UI
  • 3. 下载模型
  • 4. 启动软件
    • 4.1 启动后台进程
    • 4.2 通过 Web 打开前端界面
  • 5. 关闭软件
  • 6. 模型预览图
  • 7. 安装插件
    • 7.1 安装方法
    • 7.2 插件 git 地址
    • 7.3 下载 control net 的模型
  • 备注:以下仅供个人记录
    • 备注1:关于启动、关闭
    • 备注2:关于下载模型(这里使用了国内的 liblib 平台)

前言

  • 教程来源
    以下方法主要通过提问 AI 得到答案,遇到安装问题也是和 AI 描述并尝试解决方法。
    有些问题 AI 也没能解决,直接在搜索引擎中搜索,找相关的帖子或博客。
    请读者朋友们因地制宜。

  • 核心内容
    安装 stable diffusion 的核心内容,主要包括:

    • 软件的项目文件
    • 后台进程的启动&关闭 + 前台访问
    • 插件安装

1. 前置准备

1.1 系统版本

在 linux 终端中,用 cat /etc/os-release 命令查看系统版本。
Ubuntu 24.04 LTS

1.2 工具准备

需要有 git 用于下载仓库(git 的具体安装方法略,自行搜索或者问 AI)。

1.3 python环境

这里我使用 anaconda 进行python 环境的安装(anaconda 的具体安装方法略,自行搜索或者问 AI)。

用 conda 命令创建需要的 python 环境,并激活相应的环境

conda create -n sd_py3p10 python=3.10
conda activate sd_py3p10

1.4 安装 pytorch

pip install torch torchvision torchaudio \
-i https://pypi.tuna.tsinghua.edu.cn/simple \
--extra-index-url https://download.pytorch.org/whl/cu124

注1:这里用镜像站下载更快

注2:关于永久配置镜像站

mkdir -p ~/.pip
cat >> ~/.pip/pip.conf <<'EOF'
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
extra-index-url = https://download.pytorch.org/whl/cu124
EOF

2. 下载开源 SD web UI

mkdir -p ~/programs/
cd ~/programs/
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui

注意,下载路径是可以自行定义的,我是在 /home/ 目录下创建了一个名为 programs 的目录,并在里面进行下载。

3. 下载模型

主要分为 主模型 和 LoRa 模型(这里使用了国内的 liblib 平台 下载)

  • 主模型存放在 stable-diffusion-webui/Stable-diffusion/ 下
  • LoRa 模型存放在 stable-diffusion-webui/models/Lora/ 下

4. 启动软件

4.1 启动后台进程

注意先 cd 到自己的 stable-diffusion-webui 目录下

  • 首次启动
    如果在前面没有给python包的下载配置“镜像网址”,这里需要先指定一下镜像站,如果已经配置了则无需。
# 把 pip 源写进环境变量,launch.py 里调用的子进程会继承
export PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
export PIP_EXTRA_INDEX_URL=https://download.pytorch.org/whl/cu124

直接使用 launch.py 脚本启动(如果没有可执行权限,使用 chmod +x launch.py)

python launch.py --listen --port 7860
  • 自建的启动脚本
    我创建了一个名为 0_launch.sh 的脚本,通过增加可执行权限,并用 ./0_launch.sh 可以启动,具体内容如下:
#!/usr/bin/env bash
source "$HOME/anaconda3/etc/profile.d/conda.sh"
conda activate sd_py3p10unset HTTP_PROXY HTTPS_PROXY http_proxy https_proxyexport HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
export NO_PROXY=127.0.0.1,localhost,::1,0.0.0.0
export GRADIO_WS_MAX_SIZE=50m          # 0 表示禁用 WebSocketpython launch.py --listen --port 7860

注意上述的 _PROXY 相关的变量是因为我使用了 clash 网络代理工具

4.2 通过 Web 打开前端界面

打开 chorm 或者 火狐浏览器,通过 127.0.0.1:7860/?__theme=dark 可以看到界面。

5. 关闭软件

在软件正常启动的情况下,通过在终端执行 ctrl+c 即可终止进程。
但是为了保证在非正常启动的情况下,保证进程的关闭,我创建了一个杀死进程的脚本 0_stop.sh,具体内容如下:

# 看看会匹配到哪些 PID
pgrep -f 'python.*launch\.py.*--listen.*--port 7860'
# 确认无误后再杀
pkill -f 'python.*launch\.py.*--listen.*--port 7860'

6. 模型预览图

在启动 Web UI 后,可以给模型添加预览图。放在模型相同目录下,名字和模型相同,后缀为 .png

  • 例如在 ~/programs/stable-diffusion-webui/models/Lora/ 下面有模型的 .safetensors 文件,给其配置同名的 .png 图片,重启软件后生效。
~/programs/stable-diffusion-webui$ ls models/Lora/
'2D Pixel Toolkit (2D像素工具包)_角色和序列帧.png'           水墨游戏立绘_水墨游戏立绘.png
'2D Pixel Toolkit (2D像素工具包)_角色和序列帧.safetensors'   水墨游戏立绘_水墨游戏立绘.safetensors

7. 安装插件

7.1 安装方法

cd extensions/
git clone xxx

xxx 即插件的 git 仓库地址

7.2 插件 git 地址

插件一句话功能官方 Git 地址(直接复制即可)
ControlNet用草图 / 姿态 / 深度精准控制构图https://github.com/Mikubill/sd-webui-controlnet
After-Detailer (ADetailer)自动检测+局部重绘人脸/手/全身https://github.com/Bing-su/adetailer
Tiled Diffusion & VAE低显存生成 2K/4K 大图,爆显存克星https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111
Prompt-all-in-one中英互译 + 权重调色板 + 历史收藏https://github.com/Physton/sd-webui-prompt-all-in-one
TagComplete提示词自动补全,键入“tree”秒出“tree bark texture”https://github.com/DominikDoom/a1111-sd-webui-tagcomplete
Civitai-Helper在 WebUI 内浏览/下载 Civitai 模型 + 预览图https://github.com/zixaphir/stable-diffusion-webui-civitai-helper
LoRA-Block-Weight可视化调节 LoRA 各层权重,微调更细腻https://github.com/hako-mikan/sd-webui-lora-block-weight
Aspect Ratio selector一键切换常用画布比例(16:9 / 4:3 / 1:1 …)https://github.com/alemelis/sd-webui-ar
Bilingual Localization界面同时显示中英双语,新手友好https://github.com/hakurei/sd-webui-bilingual-localization
Images Browser内置图库,按日期/模型/提示词快速回看https://github.com/AlUlkesh/stable-diffusion-webui-images-browser

  • 安装 ControlNet 之后,浏览器需使用 chorm。听说 firefox 也可以,但我没试过。

7.3 下载 control net 的模型

先要 cd 到 ~/programs/stable-diffusion-webui/extensions/sd-webui-controlnet/models,也就是模型文件放这里。
由于我可以访问到 huggingface 网站,所以直接下载即可。
或者直接进入相应的网页如 https://huggingface.co/lllyasviel/ControlNet-v1-1/,在里面找到模型的下载按钮。

# 1. Canny -----------------------------------------------------------------
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_canny.pth
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_canny.yaml# 2. OpenPose --------------------------------------------------------------
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_openpose.pth
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_openpose.yaml# 3. Depth -----------------------------------------------------------------
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11f1p_sd15_depth.pth
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11f1p_sd15_depth.yaml# 4. SoftEdge --------------------------------------------------------------
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_softedge.pth
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_softedge.yaml# 5. Lineart ---------------------------------------------------------------
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_lineart.pth
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_lineart.yaml# 6. Scribble --------------------------------------------------------------
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_scribble.pth
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_scribble.yaml# 7. Semantic Segmentation (seg) ------------------------------------------
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_seg.pth
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_seg.yaml# 8. Normal Map (normalbae) -----------------------------------------------
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_normalbae.pth
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_normalbae.yaml#wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_normalbae.pth?download=true

备注:以下仅供个人记录

备注1:关于启动、关闭

  • 脚本路径 & 内容
    • ~/programs/stable-diffusion-webui/0_launch.sh
    • ~/programs/stable-diffusion-webui/0_stop.sh

备注2:关于下载模型(这里使用了国内的 liblib 平台)

https://www.liblib.art/

  • 主模型 e.g.
    https://www.liblib.art/modelinfo/bd7043cf069547fd9330c81c514fa316?from=search&versionUuid=bb1477e08bf54d32b52fe39789f83e34

    注: 存放在 stable-diffusion-webui/Stable-diffusion/ 下,名为 二次元-古风-推文-中国风【秋雨】_v1.0.ckpt

  • LoRa e.g.
    https://www.liblib.art/imageinfo/c8043b101ec845e29693f586addc910e

    注: 存放在 stable-diffusion-webui/models/Lora/ 下,名为 ‘2D Pixel Toolkit (2D像素工具包)_角色和序列帧.safetensors’

http://www.dtcms.com/a/445621.html

相关文章:

  • WebSocket网络编程(TCP/UDP)
  • 经典架构解读
  • 今天,是你成为创作者的第1024天
  • [linux仓库]图解System V共享内存:从shmget到内存映射的完整指南
  • 大模型-扩散模型(Diffusion Model)原理讲解(3)
  • 服务器网站怎么做的网站建设新技术
  • 零基础学Docker(6)--DockerFile
  • I/O 多路转接epoll
  • Maven项目管理与构建自动化完全指南
  • 自建房外观设计网站推荐网站建设要会英语吗
  • VR大空间资料 03 —— VRGK使用体验和源码分析
  • [论文阅读] AI+软件工程 | 开发者 AI 需求新指南:任务感知视角下的负责任 AI 实证研究
  • 第十七周-通用量子门与Deutsch-Jozsa算法
  • 网站优化最为重要的内容是域名代备案平台
  • 【学习笔记】kafka权威指南——第3章 kafka生产者—向kafka写入数据
  • 广州微信网站建设价格WordPress显示403
  • 机器学习16:自监督式学习(Self-Supervised Learning)②
  • MySQL+keepalived主主复制
  • 深入理解操作系统中的线程
  • 栈:每日温度
  • 从普通用户到AI专家:掌握“专家指南模板”,获取可复现、深度且精确的AI专业反馈
  • Photoshop调色
  • Google Jules Tools —— 开发者的新助手
  • 做方案的网站同城58找房子租房信息
  • 【LeetCode hot100|Week5】链表2
  • 刘家窑网站建设公司附近哪有学编程的地方
  • MP偏振相机在工业视觉检测中的应用
  • 安全初级(二)HTTP
  • 数组算法精讲:从入门到实战
  • 对文件的输入和输出