Python

【Python】GoogleColab上でStableDiffusion+LoRAで美少女イラストを生成する

この記事は約6分で読めます。

 

GWに合間にStableDiffusionでのAIイラストの生成方法について調査したので結果をメモしておこうと思います。StableDiffusionを使用するためにはGPUが必要ですが、StableDiffusionの推奨スペックは最低8GBのGPUでちゃんとした環境を整えようとするとかなり費用が掛かるので一から揃えると結構な金額が掛かってしまいますが、クラウドサーバー上のGPUを使用することでお手軽にAIイラストを生成することができました

 

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で選択することで変更可能です

 

 

 

 

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

  1. […] 関連記事:【Python】GoogleColab上でStableDiffusion+LoRAで美少女イラストを生成する […]

  2. […] 参照:【Python】GoogleColab上でStableDiffusion+LoRAで美少女イラストを生成する […]

  3. […] 関連記事:【Python】GoogleColab上でStableDiffusion+LoRAで美少女イラストを生成する […]

タイトルとURLをコピーしました