Skip to content
sumnail

Stable DiffusionをM1 Macで試す

created at : 2025/03/19

生成AI
Python
StableDiffusion

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を生成します。

既にアカウントをお持ちの方は、この手順はスキップしてください。

  1. Hugging Faceにアクセスし、アカウントを作成します。
  2. ログイン後、右上のアイコンをクリックし、Access Tokensを選択
  3. Create new tokenをクリック
  4. Token typeは、READを選択(モデルを触るだけであれば、READで十分です)
  5. 適当なトークン名を入力し、Create tokenをクリック
  6. 生成されたトークンをコピーしておきます(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

サンプルコードを実行すると、以下のような画像が生成されます。

generated_image

まとめ

Stable Diffusionをローカル環境で動かす手順を紹介しました。

mpsを使ってStable Diffusionを動かすことができました。

サンプルコードのレポジトリはこちらです。

参考