0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

M1 Macでwaifu-diffusion

Last updated at Posted at 2022-09-18

概要

M1 Macでwaifu-diffusionを動かした。

※2022.10.30時点:下記の手順がうまく動作しなくなってしまったので調査中。

環境

  • MacBook Pro (M1): macOS 13.3.1 Build 22E772610a
  • Python: 下記サイトからMiniforge3-MacOSX-arm64.shをダウンロードしてインストール

準備

conda環境を作って、必要なパッケージをインストールする。

$ conda create --name waifudiffusion python=3.10 -y
$ conda activate waifudiffusion
$ conda install pytorch-nightly::pytorch torchvision torchaudio -c pytorch-nightly -y  # MPS acceleration is available on MacOS 12.3+
$ conda install transformers ftfy -y
$ conda install diffusers -y
$ conda install accelerate -y

PyTorchのインストールは、Start Locallyのページで、

Item Value
PyTorch Build Preview(Nightly)
Your OS Mac
Package Conda
Language Python
Compute Platform Default

を選んで、Run this Commandのところに示されたコマンドを実行する。

実行

パッケージをインポートする。

>>> import torch
>>> import diffusers
>>> torch.__version__  # バージョン確認
'2.1.0.dev20230504'
>>> diffusers.__version__  # バージョン確認
'0.16.1'
>>> torch.backends.mps.is_available()  # MPSデバイス確認
True

StableDiffusionパイプラインを作る。デバイスにmpsを設定する。

>>> pipe = diffusers.StableDiffusionPipeline.from_pretrained(
...     'hakurei/waifu-diffusion',
...     torch_dtype=torch.float32
...     ).to('mps')  # MPS(Metal Performance Shaders)

テキストから画像を生成する。

>>> prompt = "masterpiece, 1girl, aqua eyes, baseball cap, blonde hair, closed mouth, earrings, green background, hat, hoop earrings, jewelry, looking at viewer, shirt, short hair, simple background, solo, upper body, yellow shirt"
>>> image = pipe(prompt, guidance_scale=6).images[0]  # 画像を生成
>>> image.save("output.png")  #画像を保存

以下の画像が生成された。
girlaquaeysbaseballcap.png

補足

accelerateがインストールされていないと、StableDiffusionPipeline.from_pretrained()を実行したときに下記のエラーが発生する。

Cannot initialize model with low cpu memory usage because accelerate was not found in the environment. Defaulting to low_cpu_mem_usage=False. It is strongly recommended to install accelerate for faster and less memory-intense model loading.

参考情報

  • Accelerated PyTorch training on Mac

  • PyTorch 1.13 release, including beta versions of functorch and improved support for Apple’s new M1 chips.

  • Introducing Accelerated PyTorch Training on Mac

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?