【Stable Diffusion】簡単かつ無料でAIに絵を作ってもらった!【Google Colaboratory】

スポンサーリンク
Stable Diffusion
スポンサーリンク

はじめに

事の発端は、ツイッターで偶然見つけたpixaiというサービス(リンクはレンタルサーバーの規約に違反しそうなので削除しました)。なんと、AIで生成した絵と、入力したプロンプトが公開されていた。

試しにサービスを使ってみると、カワ(・∀・)イイ!!な画像が生成できた。

その結果・・・絵を生成するの楽しい。めっちゃ楽しい。

但し、pixaiだと1日に10枚くらいしか生成できない。ということで、本家のStableDiffusionを使って、無料で無制限に絵を作れるようにしてみました。

StableDiffusionを実行する!

StableDiffusionをColabで実行するには次の3ステップです。

  1. GoogleColaboratoryでノートブックを作成、GPUを利用する
  2. ライブラリをインストールする
  3. プロンプトを記入して、プログラムを実行する
  4. 画像を取得する

1のGPUを利用する方法は、以前の記事を参考にしてください。

ライブラリをインストールする

以下のコードを記入して実行します。

!pip install diffusers transformers ftfy accelerate

複数行出力されますが、最後に次のような出力がされていればOKです。

Successfully installed accelerate-0.16.0 diffusers-0.12.1 ftfy-6.1.1 huggingface-hub-0.12.0 tokenizers-0.13.2 transformers-4.26.0

プロンプトを記入して、プログラムを実行する

以下のコードを記入します。

from diffusers import StableDiffusionPipeline
import torch

#モデル選択
#model_id = "andite/anything-v4.0"
model_id = "Linaqruf/anything-v3.0"

#プロンプトの設定
prompt = "プロンプト"
n_prompt = "ネガティブプロンプト" 
steps = 50
scale = 7.5

# パイプラインの作成
pipe = StableDiffusionPipeline.from_pretrained(model_id)
pipe.torch_dtype=torch.float16
pipe.safety_checker=None
device = "cuda"
pipe = pipe.to(device)

#画像生成
image = pipe(prompt, height=512, width=768, negative_prompt=n_prompt, num_inference_steps=steps, guidance_scale=scale).images[0]

# 生成した画像の保存
image.save(prompt + ".png") 

上記のコードに対して、以下の点を修正します。

  • 5、6行目:モデルで「anything-v4.0」を利用したい場合は5行目の先頭の「#」を消し、6行目の先頭に「#」を書き加える
  • 9行目:「プロンプト」の部分を任意のプロンプトに書き換える
  • 10行目:「ネガティブプロンプト」の部分を任意のネガティブプロンプトに書き換える

修正が終わったら、実行します。

画像を取得する

実行が終わると画像が生成されるので、以下の手順で画像を取得します。

  1. サイドバーのファイルアイコンをクリックする
  2. 「プロンプト.png」のファイルがあるので、右クリックで保存する
サイドバーのファイルアイコンをクリックする
「プロンプト.png」のファイルがあるので、右クリックで保存する

ちなみに、今回自分が生成した画像は次の通り。いい感じに生成できました。カワ(・∀・)イイ!!

生成した画像

と、無料かつ簡単にStableDiffusionでアニメ風の絵を作成してみたのですが、スゲーとは聞いていましたがスゲーですね。

個人的には絵師さんが作成する絵みたいに、細部までこだわれるといいなと思うのですが、試行錯誤でどうにかなるんでしょうかね。

もっと簡単にできた。。。

WebUI版のStableDiffusionでanything_v4を動かしたいだけの場合、以下のコードをコピペ&実行するだけで起動できた。。。

!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
!wget https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.0-pruned.ckpt -O /content/stable-diffusion-webui/model.ckpt
!wget https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.0.vae.pt -O /content/stable-diffusion-webui/model.vae.pt
%cd stable-diffusion-webui
!COMMANDLINE_ARGS="--share --gradio-debug" REQS_FILE="requirements.txt" python launch.py

2個目のコードを実行して、しばらくすると以下の画像のようにリンクが作成されるので、それをクリックするとWebUIが開く。

赤枠の部分に出るリンクをクリック
WebUIが開く

あとは好きなようにプロンプト等など入力すれば絵が生成される。

最後に

ローカル環境に構築して、AI絵を無限生成&Slackに投稿みたいなことをしようかなと思ったり。。。

コメント

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