Appearance
Stable Diffusionを動かしてみる
Stable Diffusionは、テキストから画像生成を行う生成AIモデルです。
今回はM1 Macのローカル環境で、Hugging Faceのdiffusersを使って画像生成する方法を紹介します。
ローカル環境の構築
動作確認した環境
OS: macOS Sequoia 15.3
メモリ: 32GB
Python: 3.10.12
Hugging Faceのアカウント作成
Hugging Face上のモデルを利用するため、アカウントを作成し、Access Tokensを生成します。
既にアカウントをお持ちの方は、この手順はスキップしてください。
- Hugging Faceにアクセスし、アカウントを作成します。
- ログイン後、右上のアイコンをクリックし、
Access Tokensを選択 Create new tokenをクリックToken typeは、READを選択(モデルを触るだけであれば、READで十分です)- 適当なトークン名を入力し、
Create tokenをクリック - 生成されたトークンをコピーしておきます(2度と見れないので、忘れずにコピー。そして、誰にも共有しない。)
Hugging Faceのモデルを使う準備
必要なライブラリをインストールします。
bash
pip install diffusers torch transformers accelerateサンプルコードを実行する
以下のサンプルコードでStable Diffusionを動かしてみます。
M1 Macのmpsを使って画像生成できるようにmpsを指定しています。
python
# main.py
from diffusers import DiffusionPipeline
pipe = DiffusionPipeline.from_pretrained(
"stable-diffusion-v1-5/stable-diffusion-v1-5"
)
pipe = pipe.to("mps") # Use Metal Performance Shaders (MPS)
pipe.enable_attention_slicing()
prompt = "a photo of an astronaut riding a horse on mars"
image = pipe(prompt).images[0]
image.show()
image.save("generated_image.png")確認
実行前にhuggingface-cliを使って、tokenを設定します。
既に設定済みの場合はスキップしてください。
tokenが設定されていないと、モデルのダウンロードでエラーが発生します。
bash
huggingface-cli login
Enter your token (input will not be visible): # ここにアクセストークンを入力するtokenの設定が問題なければ、以下のコマンドでサンプルコードを実行します。
bash
python main.pyサンプルコードを実行すると、以下のような画像が生成されます。

まとめ
Stable Diffusionをローカル環境で動かす手順を紹介しました。
mpsを使ってStable Diffusionを動かすことができました。
サンプルコードのレポジトリはこちらです。