回心誌

日々是回心

ControlNetをA1111で使う正しい使い方って何なんだ。

前の記事で、ControlNetでエラーが起きると書いたが、そもそもやり方が間違ってたっぽい。
ControlNetで「AttributeError: 'NoneType' object has no attribute 'shape'」というエラー - 回心誌




下のサイトなんかを見ると、ControlNet-v1-1_fp16_safetensorsで直接モデルファイルを落とせと言っている。
Stable Diffusion『ControlNet』の使い方ガイド!導入・更新方法も | Romptn Magazine

上のサイトでは stable-diffusion-webui\extensions\sd-webui-controlnet\models に置けと書いてあるが、
わいはどういうわけか stable-diffusion-webui\models\ControlNet にsafetensorsファイルを置いてた。

以下のサイトもsafetensorsを落とせと言っているが、ControlNet v1.1ではないっぽい。
「ControlNet」の導入とその使い方【Stable Diffusion web UI】
格納先も違う。

comfyanonymous/ControlNet-v1-1_fp16_safetensors at main

一方で、ControlNet-v1-1-nightlyのREADMEを読むと、まだソースの確認中だからA1111に入れるな、と書いてある。
GitHub - lllyasviel/ControlNet-v1-1-nightly: Nightly release of ControlNet 1.1

ControlNet 1.1 includes all previous models with improved robustness and result quality. Several new models are added.
Note that we are still working on updating this to A1111.

ちなみに、nightlyというのはまだ開発中でっせ、という意味合いらしい。
ナイトリービルドとは何? わかりやすく解説 Weblio辞書

ナイトリービルドとは、ソフトウェア開発において、開発プロジェクトの最新のソースコードを用いて生成されたビルドのことである。

v1-1-nightlyじゃない、リリース版のContorlNetのREADMEにも同じような趣旨のことが書いてある。
GitHub - lllyasviel/ControlNet: Let us control diffusion models!

2023/0/14 - We released ControlNet 1.1. Those new models will be merged to this repo after we make sure that everything is good.

というわけで、A1111ではまだControlNet 1.1のものは使わないほうがよさそう。

で、改めてStable Diffusion用のControlNetプラグイン(本家ContorlNetとはまた別のリポジトリ)のほうを見てみる。
GitHub - Mikubill/sd-webui-controlnet: WebUI extension for ControlNet

Download the models from ControlNet 1.1: https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main

You need to download model files ending with ".pth" .

Put models in your "stable-diffusion-webui\extensions\sd-webui-controlnet\models". You only need to download "pth" files.

Do not right-click the filenames in HuggingFace website to download. Some users right-clicked those HuggingFace HTML websites and saved those HTML pages as PTH/YAML files. They are not downloading correct files. Instead, please click the small download arrow “↓” icon in HuggingFace to download.

safetensorsファイルでなく、以下からpthファイルを落として「stable-diffusion-webui\extensions\sd-webui-controlnet\models」に入れるのが正しいらしい。
lllyasviel/ControlNet-v1-1 at main

ってわけで、そのようにした。

元々stable-diffusion-webui\models\ControlNetにおいてたsafetensorsは削除した。

動かしたら特にエラーなく動いた。



多分これが正しいやり方のはず。
まあ、ネットの情報はその時々のバージョンに合わせて指示してくれてるけど、なにせ次々と新しい機能やバージョンが開発されていくので、最新情報は常に大元を見に行くのが確実そうだな。