Fooocus は、画像生成AI Stable Diffusion と Midjourney の設計を再考したものです。
Stable Diffusion から学んだこのソフトウェアはオフライン、オープンソース、無料です。
Fooocus には、多くの内部最適化と品質向上が組み込まれ自動化されており、Midjourney のように手動による調整は必要ないため、より使いやすく、ユーザーはプロンプトと画像に集中するだけで済みます。
ユーザーは、難しい技術的パラメータを使わずに「新しい思考媒体を探索し、人類の想像力を拡張する」ために人間とコンピューターの相互作用を楽しむことができます。
ということで、前回作成した Stable Diffusion WebUI の NVIDIA RTX Virtual Workstation へ Fooocus をインストールしてみてみます。
■ NVIDIA RTX Virtual Workstation作成
今回使用する NVIDIA RTX Virtual Workstation は、Oracle Cloud Infrastructure (OCI) GPU インスタンスの、NVIDIA A10 Tensor Core GPU を搭載した VM.GPU.A10.1シェイプの Windows OS を使用します。
VM.GPU.A10.1シェイプは、15 個の OCPU、240 GB の CPU メモリ、24 Gbps のネットワーク帯域幅, 1 つの GPU と 24 GB の GPUメモリを備えています。
次を参考に作成します。
■ Fooocus Downloading
次のFooocusのページにある >>> Click here to download <<< をクリックしてダウンロード
■ Fooocus Install
インストールは、ダウンロードした .7zファイルを解凍するだけです。
Fooocus はインストールを簡素化しました。 「ダウンロード」を押してから最初のイメージを生成するまでに、必要なマウス クリックの回数は 3 回程度です。
1) インストールディレクトリ作成
ここでは、C:\Fooocus へインストールします。
PS C:\> mkdir C:\Fooocus
2) Fooocus .7Z ファイル配置
PS C:\> cp C:\Users\opc\Downloads\Fooocus_win64_2-1-60.7z C:\Fooocus\
3)Fooocus .7Z ファイル解凍
C:\Fooocus\ へ配置した Fooocus_win64_2-1-60.7z ファイルを右クリックして7z解凍
4) 解凍確認
PS C:\Windows\system32> ls C:\Fooocus\
Directory: C:\Fooocus
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 10/19/2023 3:00 PM Fooocus
d----- 8/11/2023 4:12 PM python_embeded
-a---- 10/17/2023 12:59 PM 1924967177 Fooocus_win64_2-1-60.7z
-a---- 8/11/2023 4:14 PM 68 run.bat
-a---- 10/14/2023 1:47 AM 85 run_anime.bat
■ Model Install
画像生成モデル Stable Diffusion XL(SDXL) がFooocusのページからダウンロードしてインストールします。
1) ダウンロード
Fooocusのページからダウンロードできます。
2) SDXL Baseモデル配置
ダウンロードした sd_xl_base_1.0_0.9vae.safetensors ファイルを Fooocus\models\checkpoints\ ディレクトリへ配置
PS C:> ls C:\Fooocus\Fooocus\models\checkpoints\
Directory: C:\Fooocus\Fooocus\models\checkpoints
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/17/2023 1:20 PM 6938078334 sd_xl_base_1.0_0.9vae.safetensors
-a---- 10/17/2023 1:20 PM 6075981930 sd_xl_refiner_1.0_0.9vae.safetensors
3) SDXL Refiner配置
ダウンロードした sd_xl_refiner_1.0_0.9vae.safetensors ファイルを Fooocus\models\checkpoints\ ディレクトリへ配置
PS C:> ls C:\Fooocus\Fooocus\models\checkpoints\
Directory: C:\Fooocus\Fooocus\models\checkpoints
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/17/2023 1:20 PM 6938078334 sd_xl_base_1.0_0.9vae.safetensors
-a---- 10/17/2023 1:20 PM 6075981930 sd_xl_refiner_1.0_0.9vae.safetensors
4) inpaint control model 配置
ダウンロードした inpaint.fooocus.patch ファイルを Fooocus\models\checkpoints\ ディレクトリへ配置
PS C:> ls \Fooocus\Fooocus\models\inpaint
Directory: C:\Fooocus\Fooocus\models\inpaint
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/19/2023 3:21 PM 1317090025 inpaint.fooocus.patch
■ Fooocus実行
1)Fooocus ディレクトリへ移動
PS C:\> cd C:\Fooocus\
PS C:\Fooocus> ls
Directory: C:\Fooocus
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 10/19/2023 3:00 PM Fooocus
d----- 8/11/2023 4:12 PM python_embeded
-a---- 10/17/2023 12:59 PM 1924967177 Fooocus_win64_2-1-60.7z
-a---- 8/11/2023 4:14 PM 68 run.bat
-a---- 10/14/2023 1:47 AM 85 run_anime.bat
-a---- 10/14/2023 1:47 AM 89 run_realistic.bat
2)Fooocus実行
Fooocus ディレクトリにある run.bat を実行
実行すると webブラウザが自動で起動し、http://127.0.0.1:7861 の local URLでFooocusが起動します。
PS C:\Fooocus> .\run.bat
C:\Fooocus>.\python_embeded\python.exe -s Fooocus\entry_with_update.py
Fast-forward merge
Update succeeded.
Python 3.10.9 (tags/v3.10.9:1dd9be6, Dec 6 2022, 20:01:21) [MSC v.1934 64 bit (AMD64)]
Fooocus version: 2.1.708
Running on local URL: http://127.0.0.1:7861
To create a public link, set `share=True` in `launch()`.
Total VRAM 23028 MB, total RAM 245754 MB
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA A10 : native
VAE dtype: torch.bfloat16
Using pytorch cross attention
[Fooocus] Disabling smart memory
model_type EPS
adm 2560
Using pytorch attention in VAE
Working with z of shape (1, 4, 32, 32) = 4096 dimensions.
Using pytorch attention in VAE
missing {'cond_stage_model.clip_g.transformer.text_model.embeddings.position_ids'}
Refiner model loaded: C:\Fooocus\Fooocus\models\checkpoints\sd_xl_refiner_1.0_0.9vae.safetensors
model_type EPS
adm 2816
Using pytorch attention in VAE
Working with z of shape (1, 4, 32, 32) = 4096 dimensions.
Using pytorch attention in VAE
missing {'cond_stage_model.clip_g.transformer.text_model.embeddings.position_ids', 'cond_stage_model.clip_l.text_projection', 'cond_stage_model.clip_l.logit_scale'}
Base model loaded: C:\Fooocus\Fooocus\models\checkpoints\sd_xl_base_1.0_0.9vae.safetensors
LoRAs loaded: [('sd_xl_offset_example-lora_1.0.safetensors', 0.5), ('None', 0.5), ('None', 0.5), ('None', 0.5), ('None', 0.5)]
Fooocus Expansion engine loaded for cuda:0, use_fp16 = True.
Requested to load SDXLClipModel
Requested to load GPT2LMHeadModel
Loading 2 new models
[Fooocus Model Management] Moving model(s) has taken 0.82 seconds
App started successful. Use the app with http://127.0.0.1:7861/ or 127.0.0.1:7861
■ Fooocus 絵画実行
上記の webui-user.bat を実行すると
Webブラウザで http://127.0.0.1:7860/ へローカルアクセスされて table Diffusion web UI 画面が出力されます。
次の項目を設定して[Generate]をクリックするとプロンプトに記入した内容で絵画が作成されます。
・ Prompt: Tokyo tower, mount Fuji, cherry blossoms
■ Model, LoRA の取得
Stable Diffusion で使用する絵画データ・モデルの取得は、Civitai が有名です。
Civitaiは, Stable Diffusion のモデルを共有するウェブサイトです。
ここからダウンロードできます。
ダウンロードしたModel,LoRAは次のディレクトリへ配置してリフレッシュ・ボタンもしくは再起動すると使用できます。
・ Model配置場所: "Fooocus\Fooocus\models\checkpoints"
・ LoRA配置場所: "Fooocus\Fooocus\models\loras"
■ 参考
・ Fooocus
・ Oracle: NVIDIA A10 Tensor Core GPUおよびNVIDIA RTX Virtual Workstationsにより、リアルタイムのAI推論とグラフィック集中型のワークロードを加速
・ NVIDIA A100 80GB Tensor Core GPUで大規模なモデル・トレーニングを加速
・ Oracle: Graphics rendering with NVIDIA A10 GPU shapes on OCI
・ Oracle: Deploy Stable Diffusion Automatic1111 on Oracle Cloud Infrastructure GPUs
・ NVIDIA: System Management Interface SMI
・ Stable Diffusion XL – SDXL 1.0 Model
・ SDXL 1.0 base model.
・ Civitai
・ LoRAの作り方。イラストを学習させてAIで生成する方法