机器之心报道

机器之心编辑部

大火的Stable Diffusion,现在也能在苹果电脑上运行了。

最近由慕尼黑大学等机构新出的文本 - 图像模型 Stable Diffusion,可谓是火出了圈,生成的图片妥妥达到大片级别:

如何用苹果扫出背面的芯片(苹果M1芯片上运行Stable)(1)

生物的进化

Stable Diffusion 可以在消费级 GPU 上的 10 GB VRAM 下运行,并在几秒钟内生成 512x512 像素的图像,无需预处理和后处理。

最重要的是,Stable Diffusion 是开源的,任何人都可以运行和修改它。

更是有研究者将其和 Web UI「拼在」一起,两者组合成绘画工具,让没有系统学习过 UI 知识的你,也可以上手操作。无需手动输入参数,调整滑块就可以了:

如何用苹果扫出背面的芯片(苹果M1芯片上运行Stable)(2)

在城堡外面安排一名侍卫,并让一位骑马的战士奔向城堡

你可能也想上手体验一把 Stable Diffusion 带来的创作体验,但困于资源有限,实现不了?不用担心,在云上就能运行 Stable Diffusion,此外,对于有能力的小伙伴,也可以本地运行。

想要本地运行的话,可能就有点复杂了,比如在 M1 Mac 的 GPU 上工作就有点棘手。这里,本文将介绍一种简单指南来告诉你如何做到这一点。

实现过程

首先你需要带有 M1 或 M2 芯片的 Mac;其次是 16GB RAM,假如是 8GB RAM 的话,运行会非常慢;最后是 macOS 12.3 或更高版本。

先决条件准备好后,接下来就是设置 Python 了,版本为 Python 3.10。不知道 python 版本的,可以运行 python -V 查看:

$ python3 -V !11338 Python 3.10.6

假如你的 Python 是 3.10 或是更高版本,接下来的一步就可以跳过。否则你需要安装 Python 3.10,最简单的方法就是使用 Homebrew。安装方法如下:

brew update brew install python

克隆存储库并安装依赖项

Python 安装好后,接下来就是安装 Stable Diffusion:

git clone -b apple-silicon-mps-support https://github.com/bfirsh/stable-diffusion.git cd stable-diffusion mkdir -p models/ldm/stable-diffusion-v1/

这里需要先设置 virtualenv 来安装依赖项:

python3 -m pip install virtualenv python3 -m virtualenv venv

然后激活 virtualenv:

source venv/bin/activate

激活后,安装依赖项:

pip install -r requirements.txt

如果你看到类似于「Failed building wheel for onnx」的错误,你可能还需要安装这些包:

brew install Cmake protobuf rust

下载权重

转到 Hugging Face 存储库,阅读许可证,然后单击「Access repository」。在该页面上下载 sd-v1-4.ckpt (~4 GB) ,并将其保存在 models/ldm/stable-diffusion-v1/model.ckpt 目录中。

Hugging Face 存储库地址:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original

一切准备就绪,Stable Diffusion 就能运行起来了:

python scripts/txt2img.py \ --prompt "a red juicy apple floating in outer space, like a planet" \ --n_samples 1 --n_iter 1 --plms

输出结果保存在 outputs/txt2img-samples / 目录中,就像这样:

如何用苹果扫出背面的芯片(苹果M1芯片上运行Stable)(3)

整个过程大约 15 秒就能生成 512x512 图像:

如何用苹果扫出背面的芯片(苹果M1芯片上运行Stable)(4)

一些链接:

云运行 Stable Diffusion:https://replicate.com/blog/run-stable-diffusion-with-an-api

stable-diffusion GitHub:https://github.com/magnusviri/stable-diffusion

本文参考链接:https://replicate.com/blog/run-stable-diffusion-on-m1-mac

,