【保姆级教程】带有透明图层的 Layer Diffusion 在 ubuntu 上如何跑通

24 篇文章 1 订阅
15 篇文章 0 订阅

Layer Diffusion 是 ControlNet 作者的新作

repo地址: https://github.com/layerdiffusion/LayerDiffuse
但截止目前(2024.3.27),仅开源了Stable Diffusion WebUI (via Forge) 的部分代码与模型。

因此,想要在 ubuntu 上用最新的 Layer Diffusion 暂时只能用 SD WebUI 的 forge 版本 + layerdiffuse 插件才行。

其中 SD WebUI forge 版本可以通过 A1111 原本进行升级,主要原因是 SD WebUI forge 的 One-Click Package 是 windows 版本的,并不适配于 ubuntu。

1. 下载 SD WebUI A1111 版

这个部分比较简单,主要参考下文档:https://blog.csdn.net/qq_45156060/article/details/136541772#:~:text=1%20%23%20%E7%BC%96%E8%BE%91webui-user.sh%E8%84%9A%E6%9C%AC%202%20vim%20webui-user.sh%203%20%23,COMMANDLINE_ARGS%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BF%AE%E6%94%B9%E4%B8%BA%EF%BC%9A%204%20export%20%20COMMANDLINE_ARGS%3D%20%22–listen%20–share%20–enable-insecure-extension-access%22

# 首先,已经预先安装好了anaconda,在这里新建一个环境
conda create -n sdwebui python=3.10
# 安装完毕后,激活该环境
conda activate sdwebui
 
# 安装
# 下载stable-diffusion-webui代码
apt install wget git python3 python3-venv libgl1 libglib2.0-0
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui 
bash webui.sh -f

2. 升级到 SD WebUI forge 版本

SD WebUI forge 原本 repo: https://github.com/lllyasviel/stable-diffusion-webui-forge

在 ubuntu 上安装的话,主要参考了这个部分:https://github.com/continue-revolution/sd-webui-animatediff/blob/forge/master/docs/how-to-use.md#you-have-a1111-and-you-know-git

git remote -v 
git remote add forge https://github.com/lllyasviel/stable-diffusion-webui-forge
git branch lllyasviel/main
git checkout lllyasviel/main
git fetch forge
git branch -u forge/main
git pull
  1. git remote -v 先看下确定本地是和 A111 那个远程仓库连接上了
  2. git remote add 用于添加一个新的远程Git仓库。
  3. git branch lllyasviel/main命令用于创建一个新的分支。
  4. git branch -u 命令用于设置上游分支,也就是追踪分支。具体设置了当前分支追踪forge远程仓库的main分支,这意味着将当前分支与指定的远程分支相关联,以便于后续的拉取(pull)或推送(push)操作。

再补充一些可能有用的 git 操作,如果哪里弄错了,可以试着用 git branch 排查下,然后用 git reset 来与 https://github.com/lllyasviel/stable-diffusion-webui-forge 这个远程分支保持一致。

git branch只列出本地分支。
- git branch -a 列出所有的分支,包括本地分支和远程跟踪分支
- git branch -r 只列出远程跟踪分支
- git branch -vv 查看本地分支与其上游(追踪的远程分支)之间的关系,以及相对于上游的提交状态(是否领先、落后或两者)。
git reset 命令将本地分支重置为远程分支的当前状态。这将会把本地分支的HEAD指向远程分支当前的提交,撤销所有本地分支上的提交。

3. 在 SD WebUI forge 中下载 layerdiffuse 插件

确保 SD WebUI forge 是可以打开且能够正常出图的情况下,再进行 layerdiffuse 插件下载

在 Extension - install from URL - git repository 框中进行填入 https://github.com/layerdiffusion/sd-forge-layerdiffuse
在这里插入图片描述在这里插入图片描述
刷新重启下就可以看到 LayerDiffuse 插件,选用 Enabled 就可以用起来啦

4. 使用 LayerDiffusion 时的注意点

  1. 基础模型(左上角的Stable Diffusion checkpoint)需要和 LayerDiffuse 的对应上。基础模型是 SD 1.5 或 SDXL ,那么下面的也要相应地选用 SD1.5 或者 SDXL

。

  1. 推荐 SD 1.5 模型为 https://huggingface.co/lllyasviel/fav_models/resolve/main/fav/realisticVisionV51_v51VAE.safetensors

  2. 推荐的 SDXL 模型为https://civitai.com/models/133005?modelVersionId=198530 Juggernaut XL V6 ( 注意版本号是V6, 不是 v7 v8 、 V9) https://civitai.com/models/261336?modelVersionId=295158 anima_pencil-XL 1.0.0 ( 注意版本号是 1.0.0, 不是 1.5.0)

  3. 不同的模式,有只生成透明的,也有前景+混合作为条件来生成背景图的,具体可以看看论文或 repo 里的案例。论文链接: https://arxiv.org/abs/2402.17113;repo 案例:https://github.com/layerdiffusion/sd-forge-layerdiffuse

  4. 采用一次性生成多张时,要注意 batch size 也要注意相应地调整下,比如SD1.5 From Foreground to Background 后面有个括弧提醒 need batch size 2,就要记得也更改下。
    在这里插入图片描述

  5. 每次使用时,LayerDiffusion 的相关模型也会被自动下载,因此第一次用会需要等下,第二次用就直接加载本地模型,会快一些。

5. 看看效果吧

在这里插入图片描述
在这里插入图片描述

  • 23
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值