Intel Mac(MacPro 2019)Stable Diffusion 動かす時のエラーを解決

お絵かきAI「Stable Diffusion」をIntel Macで動かした。動くまで、エラーとの試行錯誤があったのでまとめておく。

動くがGPUは使えない

  • Intel Macでは、GPUモードだとエラーになる(2022年10月現在)
  • GPUがAMDなので、涙、、
  • 上のような6枚セットの画像を書き出すのに30分かかる、ただし、その間もMacProだと他の作業もできる、Zoomもできる

でも、動く!

GPUなしで、動くのがすごいと思う。

MacProの構成

こんな感じ

homebrewは使えるようになっている前提です。

condaコマンドとrustを導入 環境セットアップ

condaコマンドとrustを導入

brew install anaconda miniconda rust

Stable Diffusion 環境構築

基本的にはこちらの記事を参考に作業を進めた。

ホームフォルダにて、Gtiからリポジトリ取得すると、その階層に「stable-diffusion」ができる。

git clone https://github.com/CompVis/stable-diffusion.git
cd stable-diffusion
  • environment.yaml 変更 (Cudaを利用しないように変更)
  • 仮想環境作成
  • 学習モデルをダウンロードし、フォルダ名を変更して、「stable-diffusion-v1」フォルダへ移動
  • トレーニングを実行

ここまで、上記の記事を参考にして進める。ここまでは順調だった。

CPUモードで動くようにコードを改造

ここも、同じ記事の修正手順を参考に、Pythonスクリプトを修正する。

  • scripts/txt2img.py
    • 63行目
    • 243行目
    • 283行目
  • ldm/models/diffusion/plms.py
    • 18行目
  • configs/stable-diffusion/v1-inference.yaml
    • 69行目(ここは追加)
  • ldm/modules/attention.py
    • 211行目

エラーが発生したので解決

ModuleNotFoundError: No module named ‘taming’

\stable-diffusion\src\taming-transformers\tamig フォルダを\stable-diffusion フォルダまでコピーするといいらしいのだが、\src\が見つからない。

この記事を見つけて

pip install taming-transformers

こちらを実行するといいらしいと書いてあるので、実行したりすると、このエラーは解決した。(正直、色々やっちゃって、多分これで解決したと思うけど、もしかしたら、違うかもしれない…)

ModuleNotFoundError: No module named ‘ldm’

pip install -e .

こちらを実行し、解決。

ModuleNotFoundError: No module named ‘clip’

\stable-diffusion\src\clip フォルダを\stable-diffusion フォルダにコピーするといいとのことだが、\src\が見つからない、、なんで無いの?(理由を知っている方、教えて〜)

githubにCLIPがあるのを知り、ここからダウンロードして、解凍したフォルダをまるっと \stable-diffusion フォルダの直下に配置して、解決。

6枚の書き出しを実行したら30分で書いてくれた

python scripts/txt2img.py --prompt "Oil painting of a kitten playing with catnip" --plms --precision full

このコマンドで書き出したのが、こちら。

当初はMacProでも30分かー、、、とGPU使わないでCPUだもんなー、RTX3060値段が落ち着いたから、Windowsマシンを組み立てるか、、と思ったり、

Mac studioのページを眺めたりしたが、

実際は、他の作業も十分にできるので、何か作業をしながら、どんどん書いてもらっていて、いい感じだ。

コマンドをたくさん試そう。

参考記事だと、

  • 2.3 GHz 8コアIntel Core i9で、画像6枚 1時間
  • M1 MacBook Airで、画像3枚で50分

Xeon12コアは伊達じゃなかった。

RTX3060だと、1枚 20秒かからないのかも、、だけど、動くのだからいいじゃないか!と喜んでいる。

本音 → AIは、NVIDIAだから、Macはきついなぁ、、。

参考リンク

感謝です。おかげさまで動きました。

この記事を書いた人

大東 信仁

カンパチが好きです。

プロフィールはこちら

10月14日開催 参加者募集中
(画像をタップ→詳細へ)

ミッションナビゲート モニター
(画像をタップ→詳細へ)

広告