Fooocusは、インターフェースも使いやすく、画像生成のスピードも速いので、Stable Diffusionはこれをメインで使っています。
今までFooocusはGoogle Colabで使っていましたが、Paperspaceでは使えるのか?と思い立ちトライしてみました。
Paperspace公式ブログでは使えますよ!と書いてありましたが、なぜか上手くできない。それではと、現在Google Colabで使っているファイルを修正する方法を試してみることにしました。
Paperspaceの主な特徴は以下の通りです。
- 無料プランでは使い物にならないので、課金が必須(月額8ドルのProと月額39ドルのGrowthプラン)
- 使えるストレージが少ない(Proプランでも15GB)なので、多くのモデルを保存しておけない
- GPU利用の順番待ちがあり、いつでも使いたいGPUが空いているわけではない
Paperspace利用開始までの手順
Paperspaceに既に登録済みの方は、このセクションを飛ばして結構です。
Paperspaceにアカウント登録
まず、Paperspaceにアクセスします。
Paperspaceには紹介制度があります。新規登録者に10ドル分、紹介者に15ドル分のクレジットのキャッシュバックがあります。よろしければご利用いただければと。
上記に紹介コードが表示されていれば、紹介キャンペーン対象となっています。
DigitalOcean、Google、GitHub、メールアドレスのいずれかで登録を行います。

名前等を登録して、「NEXT」をクリックします。

Gradientを選択します。

「職業」「興味」「組織」などを適当に選択して「CONTINUE」をクリックします。

project名を入力(デフォルトで入っているものでOK)して、「CREATE PROJECT」をクリックします。

「Notebooks」を選択します。

このような画面になれば完了です。

無料プランからアップグレードする場合は、右上のボタンをクリックします。

ここでは「Pro」プランを選択して、クレジットカード情報などの入力に進みます。

ノートブックの作成
元の画面に戻って「CREATE」をクリックします。

次にテンプレートの選択をします。「Start From Scratch」を選択します。

次にGPUの選択をします。「Free-****」を選択します。
Freeと書いていないGPUを選択すると追加で従量課金となってしまうので注意してください。
ProプランではFree-A4000というマシンが高いスペックで狙い目。ストレスなく画像生成できます。

次にタイムアウトまでの時間の選択をします。ここでは「3 Hours」を選択しました。

「View advanced options」はそのままで「START NOTEBOOK」をクリックします。

初回の起動時には結構な時間がかかります。
画面上部に「running」が出れば起動の完了です。

Fooocus実行ファイルの修正
さだきち@生成部さんの情報を参考にさせていただきました。感謝!
実行ファイルのダウンロード
GitHubで”fooocus_colab.ipynb”をダウンロードしてきます。
見つからなければ、”fooocus_ps.ipynb”などの名前を付けて、空のファイルを作成します。
実行ファイルの修正
Google Colab用の”fooocus_colab.ipynb”はこのようになっています。

それをこのように修正します。

修正後のコードは以下の通りです。
# pygit2ライブラリを指定バージョンでインストール
!pip install pygit2==1.12.2
# 作業ディレクトリを /notebooks に変更
%cd /notebooks
# 指定されたGitHubリポジトリをクローン
!git clone https://github.com/lllyasviel/Fooocus.git
# クローンしたリポジトリのディレクトリに移動
%cd /notebooks/Fooocus
# モデルのダウンロード先ディレクトリに移動
%cd /notebooks/Fooocus/models/checkpoints
# モデルファイルをダウンロード
!wget -nc https://civitai.com/api/download/models/456194?token=***** -O Juggernaut_XL.safetensors
# クローンしたリポジトリのディレクトリに戻る
%cd /notebooks/Fooocus
# スクリプトを実行
!python entry_with_update.py --share --always-high-vram
CivitaiからのモデルのダウンロードにはAPIキーが必要となりますので、「taken=」以下の*****にAPIキーを入力してください。

APIキーの取得方法については、以下の記事を参考にしてください。

PaperspaceでFooocusを動かす
notebookを起動する
Paperspaceの画面に戻って、左上のアップロードボタンをクリックして、先ほど作成したファイルをアップします。

完了したら、ファイルをダブルクリックして開きます。

「Run」をクリックして実行します

「Running on public URL〜」から始まる行が出てきたら起動完了です。
URLをクリックして画面を立ち上げます。

ホーム画面が表示されました。

Fooocusのファイルはかなりデカい
Fooocusのファイルはかなり大きいようです。
「STOP MACHINE」の後に、ストレージを覗いてみると・・・

ストレージの使用量がとんでもないことになっている!
PROプランではストレージは15GBとなっており、超過分は0.29ドル/月の従量課金なので、これは痛い。
「STOP MACHINE」後にファイルを保存しない方法だと、以下のようなコードになります。
import os
# パスの設定
inst_path = "/tmp/"
fooo_path = os.path.join(inst_path, "Fooocus")
models_path = os.path.join(fooo_path, "models/checkpoints")
# 必要なライブラリのインストール
!pip install pygit2==1.12.2
# 指定したディレクトリに移動
%cd {inst_path}
# リポジトリをクローン
!git clone https://github.com/lllyasviel/Fooocus.git
# モデルのダウンロード先ディレクトリに移動
%cd {models_path}
# モデルをダウンロード
!wget -nc https://civitai.com/api/download/models/456194?token=***** -O Juggernaut_XL.safetensors --content-disposition --directory-prefix={models_path}
# クローンしたリポジトリのディレクトリに移動
%cd {fooo_path}
# スクリプトを実行
!python entry_with_update.py --share --always-high-vram
しかし、これでは起動ごとにモデルをダウンロードすることになり、時間がかかってしまう。
高速のGPUにすれば、さほど気にはならなくなりますが、これはこれで従量課金なので。悩ましいところです。
プロンプト(呪文)ジェネレーターあります
簡単なクリックで美女を生成するためのプロンプトを作ることができる、プロンプトジェネレーター(プロンプト生成サービス)を制作しました。
どのようなプロンプトにしたらいいか悩んだ時は、使ってみてください。

おすすめモデル
おすすめのモデルについては以下の記事で解説しています。



コメント