Stable-Diffusion的WebUI部署

1、环境准备及安装

1.1、linux环境
# 首先,已经预先安装好了anaconda,在这里新建一个环境
conda create -n sdwebui python=3.10
# 安装完毕后,激活该环境
conda activate sdwebui

# 安装
# 下载stable-diffusion-webui代码
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui 
bash webui.sh -f

执行完之后,脚本会自动创建python环境、安装各种包、模型等。

2、使用

2.1、运行

安装完成前期的环境准备之后,之后每次运行只需要:

conda activate sdwebui
cd stable-diffusion-webui
bash webui.sh -f
# 或者按照如下方式,将sd放在后台执行
nohup bash webui.sh -f >> nohup.log 2>&1 &

该种方式会将进程运行在本地,可以通过ip+port的方式直接在网页上访问。 也可以通过如下方式进行简单的改造:

# 编辑webui-user.sh脚本
vim webui-user.sh
# 在终端中输入“i”进入编辑模式,移动到 COMMANDLINE_ARGS,并将其修改为:
export COMMANDLINE_ARGS="--listen --share --enable-insecure-extension-access"

上述命令含义如下:

--listen:将本地连接从127.0.0.1修改为0.0.0.0,即可通过服务器 IP:7861进行访问
--share:生成可供外网访问 Gradio 网址。
--enable-insecure-extension-access:使用–listen时,webui出于安全考虑会禁止用户在UI页面添加插件,添加该参数可允许用户添加插件。
--mdevram或 --lowvarm:降低显存消耗
PS:windows下的同理,在webui-user.bat中修改即可

最终效果如下:

企业微信截图_4ad926b3-8044-4cbc-8f3d-32822e77ccfe.png

2.2、添加模型
2.2.1、各种常用模型

初步安装完成后,打开webui,可以看到左上角自带的模型。如下图示:

截屏2023-11-24 10.18.58.png

模型的分类大概有如下几种:

  1. CheckPoint
    Checkpoint 是 Stable Diffusion 中最重要的模型,也是主模型,几乎所有的操作都要依托于主模型进行。所有的主模型都是基于 Stable Diffusion 模型训练而来.
    主模型后缀一般为 .ckpt 或者 .safetensors,并且体积比较庞大,一般在 2G - 7G 之间。放置在 webUI 目录下的 `models/Stable-diffusion` 目录下。
  2. LoRA/LyCORIS
    LoRA 是除了主模型外最常用的模型。LoRA 和 LyCORIS 都属于微调模型,一般用于控制画风、控制生成的角色、控制角色的姿势等等。
    LoRA 和 LyCORIS 的后缀均为 .safetensors,体积较主模型要小得多,一般在 4M - 300M 之间。一般使用 LoRA 模型较多,而 LyCORIS 与 LoRA 相比可调节范围更大,但是需要额外的扩展才可使用。放置在 `models/LoRA` 目录下。
  3. Textual Inversion
    Textual Inversion 是文本编码器模型,用于改变文字向量。可以将其理解为一组 Prompt。
    Textual Inversion 后缀为 .pt 或者 .safetensors,体积非常小,一般只有几 kb。放置在 `embeddings` 目录下。
  4. Hypernetworks
    Hypernetworks 模型用于调整模型神经网络权重,进行风格的微调。
    Hypernetworks 的后缀为 .pt 或者 .safetensors,体积一般在 20M - 200M 之间。放置在 `models/hypernetworks` 目录下。
  5. ControlNet
    ControlNet 是一个及其强大的控制模型,它可以做到画面控制、动作控制、色深控制、色彩控制等等。使用时需要安装相应的扩展才可。
    ControlNet 类模型的后缀为 .safetensors。放置在 `models/ControlNet` 目录下。
    使用时我
### 使用WebUI部署Stable-Diffusion 为了成功使用WebUI部署Stable-Diffusion,需遵循一系列配置步骤来确保环境设置正确无误。 #### 准备工作 确保操作系统为Ubuntu 20.04,并安装Docker作为容器化解决方案的一部分[^1]。这一步骤简化了软件依赖管理和跨不同计算资源的一致性部署过程。 #### 安装Docker并拉取镜像 通过命令行工具执行如下操作以获取所需的Docker镜像: ```bash sudo apt-get update && sudo apt-get install -y docker.io sudo systemctl start docker sudo docker pull siutin/stable-diffusion-webui-docker ``` 上述指令更新包列表、安装Docker服务端以及启动该服务;最后从Docker Hub下载指定的`siutin/stable-diffusion-webui-docker`镜像文件用于后续创建容器实例。 #### 启动容器 利用已准备好的镜像启动一个新的Docker容器,在此过程中可以定义挂载点以便于访问主机上的特定目录结构: ```bash sudo docker run --gpus all -itd \ --name=sd_web_ui \ -p 7860:7860 \ -v /path/to/local/folder:/root/stable-diffusion-webui \ siutin/stable-diffusion-webui-docker ``` 这里指定了GPU加速支持(`--gpus all`),映射本地端口到容器内部(如`-p 7860:7860`),并通过卷(volume)机制连接外部存储空间给定路径下的文件夹至容器内的默认位置(/root/stable-diffusion-webui)。 #### 访问Web界面 一旦容器正常运行,则可通过浏览器输入服务器IP地址加上之前设定的服务端口号(例如http://<server_ip>:7860)进入图形化的用户交互页面进行进一步的操作和管理。 #### 添加模型和其他组件 对于LORA、Checkpoints、ControlNet等额外模块或预训练权重文件,应按照官方文档指示将其放置在相应的位置下,通常位于/root/stable-diffusion-webui/models/子目录内[^2]。每次修改这些内容之后记得重新加载应用使更改生效。 #### 插件扩展功能 除了核心特性外,还可以考虑集成第三方插件来增强用户体验或者实现更复杂的功能需求。一些流行的选择包括但不限于Chinese Localization Plugin (中文语言包),Dynamic Prompts Generator等等[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值