概要
例のごとく mlx-examples を使います
環境
- M1 MacBookAir (CPU8, GPU7)
- Python 3.12.9
- mlx-examples 977cd30242b9891c306ef23ba925553104eb4f0c
動かす方法
基本はクローンして pip install して python で実行するだけです
-
git clone https://github.com/ml-explore/mlx-examples.git
- cd mlx-examples
- cd stable_diffusion
- pyenv local 3.12.9
- python -m venv .venv
- pip install -r requirements.txt
-
python txt2image.py "A photo of an astronaut riding a horse on Mars." --n_images 4 --n_rows 2
だいたい1枚の生成で1分から2分ほどで完了します
オプション
- n_images -> 1枚の画像内に何枚の絵を生成するか
- n_rows -> 何行で表示するか、n_images=4 で n_rows=2 だと上下に2枚ずつ生成される、1枚の絵だけ生成したい場合は n_images も n_rows も 1 にする
- negative_prompt -> ネガティブプロンプトを指定します
生成される画像のサイズは528x528になります
使用しているモデル
txt2image.py では stabilityai/sdxl-turbo を使っているようです
モデルを変更したい場合は好きなモデルをダウンロードして model オプションを指定するか直接ファイルを編集しても OK です
初回はモデルのダウンロードが走り15GBほどダウンロードするのでディスクに注意しましょう
最後に
過去に sd-webui や sd-webui-forge のやり方を紹介しましたが Apple Sillicon の GPU をフルで使いたいならやはり mlx を使った方法が一番かもしれません
モデルのダウンロードは huggingface-cli を使うと確実です
返信削除huggingface-cli download stabilityai/stable-diffusion-xl-base-1.0 --local-dir models/Stable-diffusion --local-dir-use-symlinks False
が、リポジトリのサイズが60GB以上あるのでディスクの容量に注意しましょう
返信削除