机器之心报道
机器之心编辑部
大火的Stable Diffusion,现在也能在苹果电脑上运行了。
最近由慕尼黑大学等机构新出的文本 - 图像模型 Stable Diffusion,可谓是火出了圈,生成的图片妥妥达到大片级别:
生物的进化
Stable Diffusion 可以在消费级 GPU 上的 10 GB VRAM 下运行,并在几秒钟内生成 512x512 像素的图像,无需预处理和后处理。
最重要的是,Stable Diffusion 是开源的,任何人都可以运行和修改它。
更是有研究者将其和 Web UI「拼在」一起,两者组合成绘画工具,让没有系统学习过 UI 知识的你,也可以上手操作。无需手动输入参数,调整滑块就可以了:
在城堡外面安排一名侍卫,并让一位骑马的战士奔向城堡
你可能也想上手体验一把 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 / 目录中,就像这样:
整个过程大约 15 秒就能生成 512x512 图像:
一些链接:
云运行 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
,