GWに合間にStableDiffusionでのAIイラストの生成方法について調査したので結果をメモしておこうと思います。StableDiffusionを使用するためにはGPUが必要ですが、StableDiffusionの推奨スペックは最低8GBのGPUでちゃんとした環境を整えようとするとかなり費用が掛かるので一から揃えると結構な金額が掛かってしまいますが、クラウドサーバー上のGPUを使用することでお手軽にAIイラストを生成することができました
Contents
GoogleColabとは
Google Colabはwebで動くpython環境のことで、今回はそこにStable Diffusion Web UIをインストールしてパソコン(やスマホ)からアクセスする形になります。(Colabの利用にはGoogleアカウントが必要です。)
LoRAとは
LoRAは学習済みモデルを自分好みに改良するような目的で使用されるものであり,特にStable Diffusionなどで使われる際は,特定のキャラに特化させモデルを作る目的で使用されることがほとんどです.
LoRAは”Low-Rank Adaptation”の略で一言でいうと、LoRAはフルサイズのファインチューニングに比べて,はるかに高速で少ない計算量で学習が可能な技術です.
Stable Diffusion用に使う分にはTransformerやFine Tuning,LoRAの詳細を知る必要はありません。素人でも簡単に使えるというのがこの技術の素晴らしいところです.
stable-diffusion-webuiのインストール方法
StableDiffusionをUIから操作可能にしてくれるstable-diffusion-webui をインストールします
Colab(Linux)環境では以下のコマンドを実行するだけでインストールすることができます
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui %cd /content/stable-diffusion-webui !mkdir /content/stable-diffusion-webui/models/Lora
次に学習済みモデルをインストールします。下記の!wgetはダウンロードのコマンドです。続くURLはダウンロードするファイルのURLです。配布ページにある「Downlaod latest」を右クリックし「リンクのアドレスをコピー」でダウンロードURLをコピペできます。-Oは名前を付けて保存のコマンドです。ファイル名の末尾は「.safetensors」とするのがお作法みたいです
!wget https://civitai.com/api/download/models/11745 -O /content/stable-diffusion-webui/models/Stable-diffusion/chilloutmix_NiPrunedFp32Fix.safetensors
Loraの派生モデルである「CounterfeitV25」をダウンロードします。
!wget https://civitai.com/api/download/models/7425 -O /content/stable-diffusion-webui/models/Stable-diffusion/CounterfeitV25_25.safetensors
WebUIを起動する
モデルのダウンロードが完了したら、ノートブックのセルからWebUIを起動します
!python launch.py --share --xformers --enable-insecure-extension-access
正常に実行すると以下のようなログが表示されるので、「https://XXXXXXXX.live」の部分をクリックすると新しいタブでUIが起動します。
Python 3.10.11 (main, Apr 5 2023, 14:15:10) [GCC 9.4.0] Commit hash:
~~~~~~~~~~~~~~~~
Running on local URL: http://127.0.0.1:XXXX
Running on public URL: https://XXXXXXXX.live
プロンプトからAIイラストを生成する
まずはtxt2imgで画像を生成します。promptとなっている部分にテキストを入力します。CounterfeitV25だと「girl,beauty,white,anime,masterpiece」みたいなプロンプトを入力して右側の「Generate」をクリックすると以下のようなイラストを生成できます。
<生成画像>
こんな感じで簡単にクオリティの高い美少女イラストを生成することができます
これらのコードを記載したColabノートブックは以下になります(使用する場合は「編集」→「ノートブックの設定」からハードウェアアクセラレーターをGPUに変更してください)
https://colab.research.google.com/drive/1ol36cMMoA0KqXG7lNAjoQ82FLhG_IGR1?usp=sharing
生成した画像をまとめてダウンロードする
colabではフォルダを指定してダウンロードすることはできないのでフォルダをZIPに圧縮してそれをfiles.download()でダウンロード可能です。具体的には下記のコードで出力フォルダをzipに圧縮してダウンロード可能です。
!zip -r /content/folders.zip !zip -r /content/stable-diffusion-webui/outputs/img2img-images/ from google.colab import files files.download("/content/folders.zip")
おまけ
チェックポイントの変更方法
今回は「CounterfeitV25」を使用していますが、モデルの変更はUI左上のCheckPointで選択することで変更可能です
コメント
[…] 関連記事:【Python】GoogleColab上でStableDiffusion+LoRAで美少女イラストを生成する […]
[…] 参照:【Python】GoogleColab上でStableDiffusion+LoRAで美少女イラストを生成する […]
[…] 関連記事:【Python】GoogleColab上でStableDiffusion+LoRAで美少女イラストを生成する […]