苹果M1芯片上运行Stable Diffusion,生成图片只需15秒,几步搞定

2022-09-06 12:12:48 浏览数 (2)

机器之心报道

机器之心编辑部

大火的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 查看:

代码语言:javascript复制
$ python3 -V                                                                                       !11338Python 3.10.6

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

代码语言:javascript复制
brew updatebrew install python

克隆存储库并安装依赖项

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

代码语言:javascript复制
git clone -b apple-silicon-mps-support https://github.com/bfirsh/stable-diffusion.gitcd stable-diffusionmkdir -p models/ldm/stable-diffusion-v1/

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

代码语言:javascript复制
python3 -m pip install virtualenvpython3 -m virtualenv venv

然后激活 virtualenv:

代码语言:javascript复制
source venv/bin/activate

激活后,安装依赖项:

代码语言:javascript复制
pip install -r requirements.txt

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

代码语言:javascript复制
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 就能运行起来了:

代码语言:javascript复制
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

掌握「声纹识别技术」:前20小时交给我,后9980小时……

《声纹识别:从理论到编程实战》中文课上线,由谷歌声纹团队负责人王泉博士主讲。

课程视频内容共 12 小时,着重介绍基于深度学习的声纹识别系统,包括大量学术界与产业界的最新研究成果。

同时课程配有 32 次课后测验、10 次编程练习、10 次大作业,确保课程结束时可以亲自上手从零搭建一个完整的声纹识别系统。

点击阅读原文,了解更多课程内容。

© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

0 人点赞