节点连线在Mac上配合LoRA和ControlNet运行AnythingV4模型

林一二2023年03月17日 21:13

这几个是目前(23-03)比较新的技术。去年 NovelAI 刚出的时候我用在字节跳动的 GPU 开发机尝试了一次,现在离开大公司只能用自己的笔记本和游戏电脑了,都是 AMD 显卡,需要重新琢磨。

先尝试用 WebUI 跑通在 Mac 上运行 NovelAI + LoRA 的流程

根据ComfyUI上关于依赖的说明

source ~/Desktop/repo/stable-diffusion-webui/venv/bin/activate

可以直接这样复用 WebUI 装好的 venv,而因为 WebUI 可以一键装环境很方便,所以先用 WebUI 装。

Clone AUTOMATIC1111/stable-diffusion-webui 的仓库后:

  1. 如果已经下好了一些模型,可以添加软连接(快捷方式)到 models 文件夹里
    • 完整脚本在 将模型库的内容软链接到SDWebUI里.mjs ,下面是一些li'z
    • ln -s ~/Desktop/model/novelai/animefull-final-pruned/novelai-animefull-final-pruned.ckpt ~/Desktop/repo/stable-diffusion-webui/models/Stable-diffusion
    • ln -s ~/Desktop/model/novelai/animevae.pt ~/Desktop/repo/stable-diffusion-webui/models/VAE
    • 直接复制模型会重复占用空间,而直接用 Mac 右键里的「创建替身」会导致 Exception: Error while deserializing header: HeaderTooLarge,所以只能命令行里 ln -s
  2. 翻墙后在命令行运行 webui.sh,会下载各种所需的依赖。如果没提前像上面这样添加模型的话,会帮你下载一个模型,占用不少空间

How to Use LoRA Models with Automatic1111’s Stable Diffusion Web UI

看到用于与 GPU 通信的 MTLCompilerService 占用大量 CPU,说明已经成功用 GPU 绘画了。

其它类型的依赖

https://github.com/civitai/civitai/wiki/How-to-use-models 里面写了各种 PT/SafeTensor 文件该放到哪里。我们都使用 ls -s 软连接过去,节省空间。

Textual Inversions

它根据模型引用给定的图像并选择最匹配的图像。做的迭代越多越好。通过寻找一个 latent 空间来描述一个近似训练图的复杂概念,并将该空间分配给关键字。

例如 ng_deepnegative_v1_75t tag 依赖的 pt,要链接到 embeddings 文件夹里。之后就能使用

ng_deepnegative_v1_75t

LoRA

相当于模型的插件

支持 Intel Mac 运行

cruller0704/stable-diffusion-intel-mac

ComfyUI/issues Please provide support for using MPS acceleration on Apple

练习AI绘图

Undefined widget 'supertag-form'

Code
这几个是目前(23-03)比较新的技术。去年 NovelAI 刚出的时候我用在字节跳动的 GPU 开发机尝试了一次,现在离开大公司只能用自己的笔记本和游戏电脑了,都是 AMD 显卡,需要重新琢磨。

!! 先尝试用 WebUI 跑通在 Mac 上运行 NovelAI + LoRA 的流程

根据[[ComfyUI上关于依赖的说明|https://github.com/comfyanonymous/ComfyUI#i-already-have-another-ui-for-stable-diffusion-installed-do-i-really-have-to-install-all-of-these-dependencies]]

```sh
source ~/Desktop/repo/stable-diffusion-webui/venv/bin/activate
```

可以直接这样复用 WebUI 装好的 venv,而因为 WebUI 可以一键装环境很方便,所以先用 WebUI 装。

Clone [[AUTOMATIC1111/stable-diffusion-webui|https://github.com/AUTOMATIC1111/stable-diffusion-webui]] 的仓库后:

# 如果已经下好了一些模型,可以添加软连接(快捷方式)到 `models` 文件夹里
#* 完整脚本在 [[将模型库的内容软链接到SDWebUI里.mjs]] ,下面是一些li'z
#* `ln -s ~/Desktop/model/novelai/animefull-final-pruned/novelai-animefull-final-pruned.ckpt ~/Desktop/repo/stable-diffusion-webui/models/Stable-diffusion`
#* `ln -s ~/Desktop/model/novelai/animevae.pt ~/Desktop/repo/stable-diffusion-webui/models/VAE`
#* 直接复制模型会重复占用空间,而直接用 Mac 右键里的「创建替身」会导致 `Exception: Error while deserializing header: HeaderTooLarge`,所以只能命令行里 `ln -s`
# 翻墙后在命令行运行 `webui.sh`,会下载各种所需的依赖。如果没提前像上面这样添加模型的话,会帮你下载一个模型,占用不少空间

[[How to Use LoRA Models with Automatic1111’s Stable Diffusion Web UI|https://www.kombitz.com/2023/02/09/how-to-use-lora-models-with-automatic1111s-stable-diffusion-web-ui/]]

看到用于与 GPU 通信的 [[MTLCompilerService|https://www.quora.com/What-is-the-MTL-compiler-service-used-for]] 占用大量 CPU,说明已经成功用 GPU 绘画了。

!!! 其它类型的依赖

[[https://github.com/civitai/civitai/wiki/How-to-use-models]] 里面写了各种 PT/SafeTensor 文件该放到哪里。我们都使用 `ls -s` 软连接过去,节省空间。

!!!! Textual Inversions

它根据模型引用给定的图像并选择最匹配的图像。做的迭代越多越好。通过寻找一个 latent 空间来描述一个近似训练图的复杂概念,并将该空间分配给关键字。

例如 [[ng_deepnegative_v1_75t tag 依赖的 pt|https://civitai.com/models/4629/deep-negative-v1x]],要链接到 `embeddings` 文件夹里。之后就能使用

```
ng_deepnegative_v1_75t
```

!!!! LoRA

相当于模型的插件

!! 支持 Intel Mac 运行

[[cruller0704/stable-diffusion-intel-mac|https://github.com/CompVis/stable-diffusion/compare/main...cruller0704:stable-diffusion-intel-mac:main]]

[[ComfyUI/issues Please provide support for using MPS acceleration on Apple|https://github.com/comfyanonymous/ComfyUI/issues/86]]