2023年1月現在、トークンを使用した以下のプログラムは利用できなくなっています。新しい利用方法を別の記事で解説したので、そちらを参照してください。
Stability AI社から、規約がユルめの画像生成AI「Stable Diffusion」が公開されました。
↓こういう画像が作れます
デモサイトや自分のPCで動かすこともできますが、今回はGoogle Coloaboratoryを使って、低スペックなパソコンでも簡単にStable Diffusionを試す方法について解説します。
使用コード
Google Colaboratoryは使ったことがあるものとして解説します。
Stable Diffusionのインストール
diffusers==0.2.4 などをインストールします。動画ではpipと入力していますが、!pipのように「!」をつけてください。
# stable diffusion のインストール
!pip install diffusers==0.2.4 transformers scipy ftfy
トークンを設定
トークン変数を準備します。「トークン番号」というところには、ご自身で取得したトークンの番号を入力します(後述)。
# トークンの設定
YOUR_TOKEN="トークン番号"
パイプラインの準備
ひとつ前で入力したトークンを使って、パイプラインの準備をします。
import torch
from diffusers import StableDiffusionPipeline
# パイプラインの準備(float16バージョン)
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", revision="fp16", torch_dtype=torch.float16, use_auth_token=YOUR_TOKEN)
pipe.to("cuda")
GPUが10GB以上の場合
使用できるGPU RAMが10GB以上の時は、「パイプラインの準備」のfrom diffusersから始まるほうのコードを、下のように書き換えてもいいです。
Google Colaboratoryでは書き換える必要はありません。
from diffusers import StableDiffusionPipeline
# パイプラインの準備
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", use_auth_token=YOUR_TOKEN)
画像の生成
画像を生成します。
promptに生成したい画像のキーワードを入力し、image.saveの中に、画像のファイル名を入力しておきます。
# 画像生成
from torch import autocast
# キーワード
prompt = "dancing cat"
with autocast("cuda"):
image = pipe(prompt)["sample"][0]
# 画像を保存(ファイル名はdancing_cat.png)
image.save(f"dancing_cat.png")
実行前に…
ハードウェアアクセラレータの設定
実行時にGPUを使うように設定します。
Google Colaboratoryを開き、メニューの
編集>ノートブックの設定
と進み、ハードウェアアクセラレータをGPUに設定して保存します。
トークンの取得
AIを使用するには、トークンを取得する必要があります。
アカウントの作成方法など、詳しい手順はYouTubeの動画で確認してください。
まず、こちらのリンクからモデルカードにアクセスしましょう。
Hugging Faceのアカウントを持っていない人はアカウントを作ります。
作り終わったら、ライセンスを確認し、Access Repository をクリック。
レポジトリにアクセスできたら、右上のアイコン>Settingsを押し、Access Tokens>New Tokenを押します。
Nameにお好きな名前を入れて「Generate a Token」を押せば、トークンが取得できます。こちらがご自身のトークン番号ですので、そのトークン番号を上述のプログラムに記載しましょう。(" "の中に貼り付けてください)
いざ実行!
ハードウェアアクセラレータを設定し、トークンを貼り付けできれば、あとはプログラムを上から順番に実行すれば、画像が生成されます。
画像をダウンロードする
生成された画像は、左のファイルのマークを選び、ダブルクリックすることで確認できます。
画像をダウンロードするときは、画像ファイルの右にある「︙」をクリックし、ダウンロードを選べば、自分のPCに保存されます。
画像ファイルはGoogle Colaboratoryのプロジェクトを閉じると消えてしまいますので、画像を消したくないという場合はダウンロードをしておきましょう。
後編では
Google Colaboratoyを使ってStable Diffusionを動かす方法について紹介しました。
画像が1枚ずつしか表示されないのはダルい!と思う人のために、後編では複数枚の画像を同時に生成する方法を解説します。
また、画像をいちいちダウンロードしなきゃいけないのは面倒だと思うかもしれません。そこで、生成された画像をGoogleドライブに自動で保存してくれるプログラムも紹介します。
そのとき、ファイル名に日付や時間が記載されるようにもします。
また、AIのパラメータをいじって、画像のサイズやキレイさを変更する方法についても解説します。
ぜひ後編の記事もご覧ください。
参考サイト
公式サイト:https://huggingface.co/blog/stable_diffusion
公式のGoogle Colaboratoryプロジェクト:https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/stable_diffusion.ipynb#scrollTo=paJt_cx5QgVz
Google Colab で はじめる Stable Diffusion v1.4:https://note.com/npaka/n/ndd549d2ce556
Stable Diffusion を Google Colabで実行する際に便利なコード:https://zenn.dev/6uclz1/articles/d7736b06d24f1a
コメント