レビュー

画像生成AI「Stable Diffusion」を低スペックPCでも無料かつ待ち時間なしで使う方法まとめ


2022年8月23日に無料公開された画像生成AI「Stable Diffusion」は、「ボールで遊ぶ猫」「森の中を走る犬」といった指示を与えると指示通りの画像を出力してくれます。Stable Diffusionはデモページで画像生成を試せる他、NVIDIA製GPUを搭載したマシンを用いてローカル環境で実行することも可能です。しかし、デモページは待ち時間が長く、NVIDIA製GPUは所持していない人も多いはず。Googleが提供しているPython実行環境「Colaboratory」を利用すれば、NVIDIA製GPUを所持していなくともStable Diffusionを待ち時間なしで実行する環境を無料で整えられるので、実際に環境を構築する手順や画像を生成する手順を詳しくまとめてみました。

Stable Diffusion with 🧨 Diffusers
https://huggingface.co/blog/stable_diffusion

Google Colab で はじめる Stable Diffusion v1.4|npaka|note
https://note.com/npaka/n/ndd549d2ce556

Stable Diffusionで画像を生成する例は、以下の記事で確認できます。以下の記事ではStable Diffusionの公式デモを用いて画像を生成していますが、公式デモでは画像生成の際に数分間の待ち時間が発生することがあります。そこで、今回はGoogle製のPython実行環境であるColaboratoryにStable Diffusionをインストールして、待ち時間なしでの画像生成を実現してみます。

キーワードに沿ってまるで人間が描いたような絵や写真を生み出すAI「Stable Diffusion」が一般公開されたので使ってみた - GIGAZINE


◆目次
・1:Hugging Faceのトークンを発行
・2:ColaboratoryでStable Diffusionを使う準備
・3:Stable Diffusionで画像を生成する方法

◆1:Hugging Faceのトークンを発行
Stable DiffusionのコードやドキュメントはAI関連コミュニティサイト「Hugging Face」で公開されており、自分で構築した環境でStable Diffusionを用いるにはHugging Faceのアカウントを作成してトークンを発行する必要があります。

まずは、以下のリンクをクリックしてHugging Faceで公開されているStable Diffusionのページにアクセスします。

CompVis/stable-diffusion-v1-4 · Hugging Face
https://huggingface.co/CompVis/stable-diffusion-v1-4

Stable Diffusionのライセンスに関する確認事項が表示されたら、よく読んでから「Access repository」をクリックします。


すると、Hugging Faceのログイン画面が表示されます。今回は新たなアカウントを作成したいので「Sign UP」をクリックしました。


アカウント作成画面が表示されたら登録したいメールアドレスとパスワードを入力して「Next」をクリック。


続いてユーザー名とフルネームを入力してから利用規約行動規範を確認してチェックを入れ、「Create Account」をクリックします。


すると、登録したメールアドレス宛てに確認メールが届くので、本文内のURLをクリック。


以下のように「Your email address has been verified successfully」と表示されれば、Hugging Faceのアカウント作成は完了です。


アカウント作成が完了したら再度Stable Diffusionのページにアクセスして、ライセンスに同意するチェックを入れてから「Access repository」をクリックします。


続いて、画面右上の円形のアイコンをクリックしてから「Settings」をクリック。


アカウントの設定画面が開いたら「Access Tokens」を選択して「New token」をクリックします。


トークンの発行画面が表示されたら覚えやすい名前を入力して「Generate a token」をクリック。


以下のようにアクセストークンが発行されたらHugging Faceでの作業は完了です。


◆2:ColaboratoryでStable Diffusionを使う準備
続いて、Google製Python実行環境のColaboratoryで、Stable Diffusionを使う準備を進めます。まずは、以下のリンクをクリックしてColaboratoryにアクセスします。

Colaboratory へようこそ - Colaboratory
https://colab.research.google.com/?hl=ja

Colaboratoryにアクセスしたら、画面右上の「ログイン」をクリック。


ログインに用いるGoogleアカウントを選択して……


パスワードを入力して「次へ」をクリックします。


Colaboratoryにログインした直後の画面が以下。Colaboratoryでは「ノートブック」と呼ばれるPython実行環境を自由に作成して各種作業を実行できます。今回は新たにStable Diffusion用のノートブックを作成したいので「ノートブックを新規作成」をクリックします。


空のノートブックが作成されたら画面上部の「編集」をクリックしてから「ノートブックの設定」をクリック。


設定画面が表示されたら、ハードウェアアクセラレータの欄で「GPU」を選択して……


「保存」をクリックします。これで、ColaboratoryでGPUを用いた計算処理が可能となりました。


Colaboratoryでは、再生アイコンが左端に配置されたコマンド入力エリアにコマンドを入力することで作業を進めることが可能。


まずは、以下のコマンドを実行してノートブック内にStable Diffusionをインストールします。

pip install diffusers==0.2.4 transformers scipy ftfy


上記のコマンドを入力エリアにコピー&ペーストして……


再生アイコンをクリック。


するとズラズラっと文字が流れてStable Diffusionがインストールされます。再生アイコンの左側に緑色のチェックマークが表示されたらインストールは完了です。


続いて、以下のコマンドを実行します。

YOUR_TOKEN="Hugging Faceで発行したトークン"


Hugging Faceで発行したトークンは、トークンが表示されている画面上の赤枠のアイコンをクリックするとコピーできます。コピーしたアイコンを上記のコマンドの「Hugging Faceで発行したトークン」の部分と置き換えて実行すればOK。


例えば、トークンが「abcdefgh12345678」の場合、実行するコマンドは以下のようになります。

YOUR_TOKEN="abcdefgh12345678"


コマンドを実行するにはColaboratoryの画面左上の「+コード」をクリックして……


新たに表示された入力エリアに上記のコマンドをコピー&ペーストします。


続いて、再生アイコンをクリックすればOK。


次に、以下のコマンドを実行します。

from diffusers import StableDiffusionPipeline

pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", use_auth_token=YOUR_TOKEN)


「+コード」をクリックして表示された入力エリアに上記のコマンドをコピー&ペーストして……


再生アイコンをクリック。


すると、各種ファイルのダウンロードが始まります。この処理には数分かかるので、しばらく待機。


各種ファイルのダウンロードが完了したら、以下のコマンドを実行します。

pipe.to("cuda")


コマンド実行の手順はこれまでと同一。「+コード」をクリックしてから入力エリアにコマンドをコピー&ペーストして……


再生アイコンをクリック。


数秒待って緑色のチェックマークが表示されれば、Stable Diffusionを使う準備は完了です。


◆3:Stable Diffusionで画像を生成する方法
Stable Diffusionで画像を生成するには、以下のコマンドを実行すればOK。「指示」の部分には生成して欲しい画像の説明を英語で入力し、「ファイル名」の部分には生成する画像を保存する際の名前を入力します。

prompt = "指示"

image = pipe(prompt)["sample"][0]

image.save(f"ファイル名.png")


例えば、「ボールで遊ぶかわいいネコの画像」を生成して「cat.png」というファイル名で保存したい場合は、「指示」の部分に「cute cat paly with ball(ボールで遊ぶかわいいネコ)」、「ファイル名」の部分に「cat」と入力すればOKです。

prompt = "cute cat paly with ball"

image = pipe(prompt)["sample"][0]

image.save(f"cat.png")


コマンドの実行方法はこれまでとまったく同じ。「+コード」をクリックして入力エリアにコマンドを入力し……


再生アイコンをクリックします。


画像の生成が完了したら、画面左側のフォルダアイコンをクリック。


フォルダには指定したファイル名の画像が出力されています。ファイルをダブルクリックすると……


生成画像が画面右側に表示されます。今回は、指定した通りに「ボールで遊ぶかわいいネコの画像」が生成されました。


生成した画像は、画像右上の「…」をクリックしてから「ダウンロード」を選択することでダウンロード可能。また、画像の右クリックメニューからもダウンロードできます。


新たな画像を生成したい場合は、先ほど入力したコマンドの「指示」や「ファイル名」の部分を書き換えればOK。


生成した画像がファイル一覧に表示されない場合は、赤枠の更新マークをクリックすると表示されます。


なお、Colaboratoryのノートブックは自由に名前を変更可能。「stable-diffusion」などの分かりやすい名前に変更しておけば……


再度Colaboratoryにアクセスした際に、ノートブックを見つけやすくなります。今後は、今回作成したノートブックを開くことで、即座に画像生成が可能です。また、2回目以降の起動時にエラーが発生する場合は、ノートブックの最上部から順に再生ボタンを押して再設定すればOKです。


また、Colaboratoryでは今回使った範囲の機能はすべて無料で利用可能。さらに、有料プランに加入することで高性能なGPUを用いた高速な処理が可能となります。

この記事のタイトルとURLをコピーする

・関連記事
キーワードに沿ってまるで人間が描いたような絵や写真を生み出すAI「Stable Diffusion」が一般公開されたので使ってみた - GIGAZINE

風景写真家がAI画像ジェネレーター「Stable Diffusion」で非実在美景を生成 - GIGAZINE

まるで人間のアーティストが描いたような画像を生成するAIが「アーティストの権利を侵害している」と批判される - GIGAZINE

文章から高クオリティな画像を生成できるAI「DALL・E 2」を使ってTwitterのプロフィールから絵を生成してみるとこんな感じ - GIGAZINE

in レビュー,   ソフトウェア,   ウェブアプリ, Posted by log1o_hf

You can read the machine translated English article here.