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

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

最近由慕尼黑大学等机构新出的文本 - 图像模型 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                                                                                       !11338Python 3.10.6


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



brew updatebrew install python


克隆存储库并安装依赖项

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




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


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



python3 -m pip install virtualenvpython3 -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-apistable-diffusion GitHub:https://github.com/magnusviri/stable-diffusion本文参考链接:https://replicate.com/blog/run-stable-diffusion-on-m1-mac


相关文章
|
存储 SQL Java
bigdata-18-Hive数据结构与存储格式
bigdata-18-Hive数据结构与存储格式
320 0
|
人工智能 机器人 测试技术
使用LM Studio在本地运行LLM完整教程
GPT-4被普遍认为是最好的生成式AI聊天机器人,但开源模型一直在变得越来越好,并且通过微调在某些特定领域是可以超过GPT4的。
6881 1
|
计算机视觉 iOS开发 MacOS
Alfred Clipboard History 回车自动粘贴失效
Alfred Clipboard History 回车自动粘贴失效
2118 0
Alfred Clipboard History 回车自动粘贴失效
|
安全 数据安全/隐私保护
【密码学】一文读懂线性反馈移位寄存器
在正式介绍线性反馈移位寄存器(LFSR)之前,先来看一个小故事,相传在遥远的古代,住着4个奇怪的人。
2082 0
【密码学】一文读懂线性反馈移位寄存器
|
2月前
|
前端开发
关于宜搭轻享版产品调整及升级优惠活动的通知
钉钉宜搭拟于2026年起逐步退出轻享版业务,1月1日起停止新购,4月1日起停止续约。老用户可享专业版升级优惠,仅需补差价40%,应用数据无缝迁移,无功能损失,助力低代码能力升级。
1123 3
|
网络协议 Linux
Centos IP、DNS设置
1、CentOS 修改DNS 修改对应网卡的DNS的配置文件# vi /etc/resolv.conf 修改以下内容 nameserver 8.8.8.8 #google域名服务器nameserver 8.8.4.4 #google域名服务器2、CentOS 修改网关 修改对应网卡的网关的配置文件[root@centos]# vi /etc/sysconfig/network 修改以下内容NETWORKING=yes(表示系统是否使用网络,一般设置为yes。
3575 0
|
机器学习/深度学习 虚拟化
|
2月前
|
存储 安全 数据安全/隐私保护
Joplin:一款真正属于你的开源笔记与待办事项应用
Joplin是一款免费开源的笔记工具,支持Markdown、多端同步与端到端加密,保障数据自主权。支持全平台使用,可同步至云存储,真正实现隐私安全与知识自由管理,是信息时代的理想笔记伴侣。(239字)
753 13
|
开发框架 供应链 JavaScript
一个简单、功能完整的开源WMS​仓库管理系统
一个简单、功能完整的开源WMS​仓库管理系统
1243 0
|
数据采集 XML 数据库
使用Python爬取网站数据并进行图像处理
在互联网时代,网站数据是一种宝贵的资源,可以用于分析、挖掘、展示等多种目的。但是,如何从海量的网页中提取我们需要的数据呢?Python是一种强大而灵活的编程语言,它提供了许多用于爬虫和图像处理的库和工具,可以帮助我们实现这一目标。本文将介绍如何使用Python爬取网站数据并进行图像处理的基本步骤和方法。
1058 0
使用Python爬取网站数据并进行图像处理

热门文章

最新文章