2023/08/17(木) [n年前の日記]
#1 [cg_tools] Fooocusを試用
VRAMが少な目の環境でも SDXL を動かせるらしい Fooocus という画像生成AIツールが気になったので試用してみた。
_lllyasviel/Fooocus: Focus on prompting and generating
環境は以下。
SDXL (Stable Diffusion XL) は、画像生成AI Stable Diffusion の新版。
_Stable Diffusion XL(SDXL)の使い方!超進化した最新の画像生成AIを使いこなそう | くろくまそふと
_ASCII.jp:画像生成AI「Stable Diffusion」最高性能の新モデル「SDXL 0.9」一般的なPCで実行可能
PCにインストールして使うことができるのだけど、最低でも VRAM が8GBぐらいは必要という話を見かけて、自分の環境は VRAM が6GBだから動かせないのだろうなと悲しんでいたのだけど。SDXLに特化した Fooocus というツールを使えば VRAM 4GB ぐらいでも動かせるかもしれないという話を見かけて気になったわけで。もちろん、VRAM が少なければ生成速度もグンと遅くなるだろうけど、お試しで動かせるだけでもかなりありがたい。
_lllyasviel/Fooocus: Focus on prompting and generating
環境は以下。
- OS : Windows10 x64 22H2
- CPU : AMD Ryzen 5 5600X
- RAM : 16GB
- GPU : NVIDIA GeForce GTX1060 6GB
- Python : 3.10.10
SDXL (Stable Diffusion XL) は、画像生成AI Stable Diffusion の新版。
_Stable Diffusion XL(SDXL)の使い方!超進化した最新の画像生成AIを使いこなそう | くろくまそふと
_ASCII.jp:画像生成AI「Stable Diffusion」最高性能の新モデル「SDXL 0.9」一般的なPCで実行可能
PCにインストールして使うことができるのだけど、最低でも VRAM が8GBぐらいは必要という話を見かけて、自分の環境は VRAM が6GBだから動かせないのだろうなと悲しんでいたのだけど。SDXLに特化した Fooocus というツールを使えば VRAM 4GB ぐらいでも動かせるかもしれないという話を見かけて気になったわけで。もちろん、VRAM が少なければ生成速度もグンと遅くなるだろうけど、お試しで動かせるだけでもかなりありがたい。
◎ 参考ページ :
「fooocus インストール」でググったら解説記事が結構あった。ありがたや。
_【西川和久の不定期コラム】次世代Stable Diffusion(SDXL)をWindows上で一発で使用可能にする「Fooocus」 - PC Watch
_Fooocusのインストール【web UIとComfyUI以外の選択肢】 | ジコログ
_SDXLを手軽に扱える「Fooocus」のインストール方法・使い方まとめ!簡単操作でハイクオリティな画像を生成しよう | くろくまそふと
_Fooocus のインストール,Stable Diffusion XL (SDXL) による画像生成の実行(Fooocus,Stable Diffusion XL,PyTorch,Python を使用)(Windows 上)
_Fooocus: 超軽量でシンプルイズベスト、なSDXLクライアント|かいりん
_Stable Diffusion - Fooocusの概要と導入方法・使い方 | 紫雲雑想
_【西川和久の不定期コラム】次世代Stable Diffusion(SDXL)をWindows上で一発で使用可能にする「Fooocus」 - PC Watch
_Fooocusのインストール【web UIとComfyUI以外の選択肢】 | ジコログ
_SDXLを手軽に扱える「Fooocus」のインストール方法・使い方まとめ!簡単操作でハイクオリティな画像を生成しよう | くろくまそふと
_Fooocus のインストール,Stable Diffusion XL (SDXL) による画像生成の実行(Fooocus,Stable Diffusion XL,PyTorch,Python を使用)(Windows 上)
_Fooocus: 超軽量でシンプルイズベスト、なSDXLクライアント|かいりん
_Stable Diffusion - Fooocusの概要と導入方法・使い方 | 紫雲雑想
◎ インストールしてみた :
Fooocus_win64_1-1-10.7z を入手して解凍。
_lllyasviel/Fooocus: Focus on prompting and generating
以下のモデルデータを入手して、Fooocus\models\checkpoints\ に置いた。
_stabilityai/stable-diffusion-xl-base-1.0 at main
_stabilityai/stable-diffusion-xl-refiner-1.0 at main
run.bat を実行したら、必要なファイルをDLした後、画像生成を指示するためのUI画面がWebブラウザで開かれた。ちなみに今回は D:\aiwork\fooocus\ にインストールしておいた。
Stable Diffusion web UIと違って、Webブラウザが自動で起動するっぽい。
_lllyasviel/Fooocus: Focus on prompting and generating
以下のモデルデータを入手して、Fooocus\models\checkpoints\ に置いた。
- sd_xl_base_1.0_0.9vae.safetensors
- sd_xl_refiner_1.0_0.9vae.safetensors
_stabilityai/stable-diffusion-xl-base-1.0 at main
_stabilityai/stable-diffusion-xl-refiner-1.0 at main
run.bat を実行したら、必要なファイルをDLした後、画像生成を指示するためのUI画面がWebブラウザで開かれた。ちなみに今回は D:\aiwork\fooocus\ にインストールしておいた。
Stable Diffusion web UIと違って、Webブラウザが自動で起動するっぽい。
◎ 動かしてみた :
1152x896 の解像度でお姉さん( a girl, japanese, ) を生成してみた。
最初の生成時は、6GB以上もあるモデルデータをHDDからロードするので、かなり時間がかかる。タスクマネージャでパフォーマンスを確認したら、HDDがずっと100%。9分ぐらい過ぎたあたりで、ようやく100%状態が終わった。SSDに置いておけばもっと速くなるのだろうけど、自分の環境はSSD側の空き容量が厳しいので…。
生成を指示して10分ぐらい経ってから、モデルデータのロードその他の処理が終わったようで、そこからようやく生成処理っぽいものが走り始めた。
画像を1枚生成するのに、4〜5分ほどかかった。それでもちゃんと、それらしい画像を生成してくれた。VRAM 6GB でも、たしかに動いた…。しかし、さすがに時間がかかるなと。今時のGPUが欲しくなるなあ…。
最初の生成時は、6GB以上もあるモデルデータをHDDからロードするので、かなり時間がかかる。タスクマネージャでパフォーマンスを確認したら、HDDがずっと100%。9分ぐらい過ぎたあたりで、ようやく100%状態が終わった。SSDに置いておけばもっと速くなるのだろうけど、自分の環境はSSD側の空き容量が厳しいので…。
生成を指示して10分ぐらい経ってから、モデルデータのロードその他の処理が終わったようで、そこからようやく生成処理っぽいものが走り始めた。
画像を1枚生成するのに、4〜5分ほどかかった。それでもちゃんと、それらしい画像を生成してくれた。VRAM 6GB でも、たしかに動いた…。しかし、さすがに時間がかかるなと。今時のGPUが欲しくなるなあ…。
[ ツッコむ ]
#2 [cg_tools] Stable Diffusion web UIを新規インストールした
今まで Stable Diffusion web UI 1.3.1 を使っていたけど、現行版は 1.5.1 なので、別フォルダに新規インストールしてみた。とりあえず起動時に、Version: v1.5.1, Commit hash: 68f336bd994bed5442ad95bad6b6ad5564a5409a と表示されてる。
今まで入れていた拡張機能を再度インストールしていくのが結構面倒臭い。中には別途モデルデータを要求するものもあるので…。どれがそういう拡張機能だったか忘れてる…。
今まで入れていた拡張機能を再度インストールしていくのが結構面倒臭い。中には別途モデルデータを要求するものもあるので…。どれがそういう拡張機能だったか忘れてる…。
◎ depth-libがエラーを出す :
手のデプスマップを上書きしてくれる拡張機能、depth-lib をインストールすると、本体が dataset 云々のエラーを出して動かなくなることに気づいた。
_jexom/sd-webui-depth-lib: Depth map library for use with the Control Net extension for Automatic1111/stable-diffusion-webui
以下の修正をすればエラーが解決するらしいけど…。
_Quick fix for KeyError: 'dataset' - Issue #36 - jexom/sd-webui-depth-lib
venv\Lib\site-packages\gradio_client\serializing.py の COMPONENT_MAPPING という辞書リストに以下を追加せよ、と書いてあるのかな。
また、この拡張機能は放置気味なので fork した人が居るらしい。
_New fork with additional features - Issue #39 - jexom/sd-webui-depth-lib
_wywywywy/sd-webui-depth-lib: Depth map library for use with the Control Net extension for Automatic1111/stable-diffusion-webui
とりあえず fork版をインストール、かつ、前述の修正をしたところ、エラーが出ない状態になった。
_jexom/sd-webui-depth-lib: Depth map library for use with the Control Net extension for Automatic1111/stable-diffusion-webui
以下の修正をすればエラーが解決するらしいけど…。
_Quick fix for KeyError: 'dataset' - Issue #36 - jexom/sd-webui-depth-lib
venv\Lib\site-packages\gradio_client\serializing.py の COMPONENT_MAPPING という辞書リストに以下を追加せよ、と書いてあるのかな。
"dataset": StringSerializable,
また、この拡張機能は放置気味なので fork した人が居るらしい。
_New fork with additional features - Issue #39 - jexom/sd-webui-depth-lib
_wywywywy/sd-webui-depth-lib: Depth map library for use with the Control Net extension for Automatic1111/stable-diffusion-webui
とりあえず fork版をインストール、かつ、前述の修正をしたところ、エラーが出ない状態になった。
[ ツッコむ ]
以上、1 日分です。