MAC搭建M1环境的stable-diffusion

这篇具有很好参考价值的文章主要介绍了MAC搭建M1环境的stable-diffusion。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MAC M1 搭建 stable-diffusion 环境


苹果公司的程序员为 M1,M2 之类的ARM64芯片专门创建了一个 stable-diffusion 的仓库:

Run Stable Diffusion on Apple Silicon with Core ML

链接为: https://github.com/apple/ml-stable-diffusion

可以充分利用 M1 内置的人工智能芯片(神经网络芯片), 需要转换 PyTorch 模型为 Apple Core ML 模型。

本文基于这个仓库进行操作。

环境准备

1. 硬件环境

  • M1芯片的Apple MacBook Pro
  • 16G内存; 8G也可以, 但是需要一些额外的配置。

2. 系统环境

  • MAC OS 13.4; 至少得升级到 13 版本(Ventura); 参考: System Requirements

3. 基础软件环境

  • git: 下载仓库源码; 理论上需要更新到最新版
  • conda: 主要用来创建Python环境
  • Python: 需要3.8 版本, 高了低了都不行, 使用 conda 来安装即可。

conda下载页面为: https://docs.conda.io/en/latest/miniconda.html

主要参考资料

网上找了很多资料, 折腾了很多次, 发现这篇比较好:

  • 在搭载 M1 及 M2 芯片 MacBook 设备上玩 Stable Diffusion 模型 - 知乎

如果碰到问题, 请打开这个页面查看。

操作步骤

1. 下载git

参考官方网站: https://git-scm.com/downloads

下载或者安装好即可。

2. 下载conda

参考官方网站: https://docs.conda.io/en/latest/miniconda.html

下载 miniconda 并安装即可。

miniconda是一个简化版, 只内置了python。 其他什么 C++, Java什么的环境都暂时去除了。

3. 创建python环境

参考: https://zhuanlan.zhihu.com/p/590869015

对应的命令为:

# 创建和准备Python环境
conda create -n coreml_stable_diffusion python=3.8 -y

# 查看conda的环境列表
conda env list

# 激活特定环境
conda activate coreml_stable_diffusion

## 查看Python版本, 注意是大V
python -V

这些环境的作用域范围是操作系统用户级别的。 主要是shell中使用。

4. 下载仓库

使用的命令为:

git clone https://github.com/apple/ml-stable-diffusion.git

github支持下载zip包, 但身处天国的话得需要一些技巧才能下载成功。

如果速度过慢, 可能你需要一些下载技巧, 比如购买网络服务。

5. 安装依赖

# 进入仓库目录
cd ml-stable-diffusion

# 激活特定环境
conda activate coreml_stable_diffusion

# 安装python依赖; pip 是和 python 环境一起自动安装的;
pip install -r requirements.txt

如果速度过慢, 可能你需要一些下载技巧, 比如购买网络服务。

如果因为网速原因安装失败, 可以再次重复执行安装。

6. 转换模型

为了利用 M1 内置的人工智能芯片(神经网络芯片), 需要转换 PyTorch 模型为 Apple Core ML 模型。

转换模型对应的命令为:

# 进入仓库目录
cd ml-stable-diffusion

# 激活特定环境
conda activate coreml_stable_diffusion

# 模型转换; 需要下载几个GB的文件
# (默认值是脚本里面内置的1.4版本)
python -m python_coreml_stable_diffusion.torch2coreml --convert-unet --convert-text-encoder --convert-vae-decoder --convert-safety-checker -o ./models

如果内存不够的话, 尝试先关掉一些其他程序。

我这里在执行过程中报了一个错:

RuntimeError: PyTorch convert function for op 'scaled_dot_product_attention' not implemented.

解决办法, 参考: https://blog.csdn.net/cainiao1412/article/details/131204867

pip show torch # 查看torch版本
pip uninstall torch # 卸载torch版本
pip install torch==1.13.1 # 安装指定版本

报错的话, 切换 torch 版本, 然后再次执行模型转换的命令。

7. 验证和测试

使用的命令为:

python -m python_coreml_stable_diffusion.pipeline --prompt "magic book on the table" -i ./models -o ./output --compute-unit ALL --seed 93

因为需要初始化环境, 加载模型和处理, 所以过程比较慢, 我这里需要好几分钟。

8. 构造Web界面

好处是不需要每次执行提示词 prompt 都去初始化一次环境。

安装gradio, 参考: https://www.gradio.app/quickstart/

对应的安装命令为:

pip install gradio

然后参考 https://zhuanlan.zhihu.com/p/590869015 专栏中提到的脚本:

  • python_coreml_stable_diffusion/web.py

web.py 文件准备完成后, 启动命令为:

# 进入仓库目录
cd ml-stable-diffusion

# 激活特定环境
conda activate coreml_stable_diffusion

# 启动WebUI
python -m python_coreml_stable_diffusion.web -i ./models --compute-unit ALL

启动需要加载环境, 会消耗一些时间。

启动完成后, 会看到命令行给出访问网址, 例如: http://0.0.0.0:7860

9. 测试WebUI

打开访问网址, 例如: http://0.0.0.0:7860

找一个支持的模板, 改造一下, 例如:

rabbit, anthro, very cute kid's film character, disney pixar zootopia character concept artwork, 3d concept, detailed fur, high detail iconic character for upcoming film, trending on artstation, character design, 3d artistic render, highly detailed, octane, blender, cartoon, shadows, lighting

输入词汇之后, 点击生成, 等待即可。

MAC搭建M1环境的stable-diffusion

可以看到, 这个配置, 使用WebUI界面只需要7秒左右即可出图, 文件大小在500KB左右。

这个 WebUI 还是有一些问题, 有时候会生成一张黑图, 碰到的话刷新页面重试即可。

网上有很多提示词模板, 著名的有: https://github.com/Dalabad/stable-diffusion-prompt-templates

当然, 模板的好处就是, 可以把 rabbit 换成 tiger 之类词汇的试试.

10. 关闭环境

webUI 开启的时候, python 会占用很多内存, 不需要时, 从控制台 CTRL+C 关闭即可, 或者粗暴一点直接杀进程。

11. 集成App

Windows系统下有很多一键安装脚本, 搜索关键字即可: windows stable diffusion 一键安装

找了一下, MAC系统中也有类似的, 支持 Intel 以及M1/M2芯片。

  • Diffusion Bee - Stable Diffusion GUI App for MacOS

踩坑日记

1. brew 更新不成功

原因是切换了国内的源。 但是, 国内的源比较坑, 经常不兼容或者报错。

重置 brew 源, 参考: 更换和重置Mac Homebrew的默认源

本质上 brew 就是依赖了几个 git 仓库, 所以有问题的话可以直接通过git处理一下对应的那几个目录。

2. 转换模型报错

报错信息为:

RuntimeError: PyTorch convert function for op 'scaled_dot_product_attention' not implemented.

解决办法, 参考: https://blog.csdn.net/cainiao1412/article/details/131204867

pip show torch # 查看torch版本
pip uninstall torch # 卸载torch版本
pip install torch==1.13.1 # 安装指定版本

OK, 1.3.1 版本可以成功处理。

3. 网络问题

强的厉害, 经常网络超时, 这时候就需要技巧了。

相关链接

  • 在搭载 M1 及 M2 芯片 MacBook 设备上玩 Stable Diffusion 模型 - 知乎

作者: 铁锚
日期: 2023年06月20日文章来源地址https://www.toymoban.com/news/detail-493071.html

到了这里,关于MAC搭建M1环境的stable-diffusion的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 搭建环境AI画图stable-diffusion

    本文旨在记录过程,偶然看见一个AI画图的,体验看看。 stable-diffusion是一个输入简单图片,输出科幻性想象后的结果图。 上图! Github地址:https://github.com/CompVis/stable-diffusion 当然,如此梦幻的功能,也需要梦幻的机器条件,请确认你最少有10GB VRam 的GPU,因为最小的模型,也

    2024年02月02日
    浏览(53)
  • stable-diffusion项目环境配置

    python解释器 python要求python要求3.10以上的版本 本机物理环境不满足要求,建议使用anaconda创建虚拟环境 conda create – name diffusion python=3.10 退出 base环境 conda deactivate 进入diffusion环境 conda activate diffusion 验证python版本 python -V 安装git2 卸载老版本git yum remove git 安装新版本git yum inst

    2024年02月04日
    浏览(33)
  • Stable Diffusion AI绘画学习指南【本地环境搭建win+mac】

    一、硬件配配置要求 系统:windows 10  / Mac os 硬盘:C 盘预留 15GB 以上,其他盘 50GB 以上,Stable Ddiffusion的很多大模型都是以 GB 起步。 显卡:4GB 以上,建议 8GB, 效率高,能玩大尺寸的图 CPU:i5 CPU 以上 内存:16GB 以上 二、windows 环境搭建 python下载:https://www.python.org/downloads/  

    2024年02月14日
    浏览(50)
  • Stable-Diffusion+Window11 本地搭建

    我这边本地已经安装了python3.10.x,cuda,git,pytorch 首先是下载stablediffusion 然后是下载预训练模型 CompVis/stable-diffusion-v-1-4-original at main 然后就是启动, 这个时候会提示缺库,当然,不提示是最好的,如果缺的话可以留言,我这边压缩发送 就是这几个货,搞了我好久 然后就成

    2024年02月13日
    浏览(44)
  • Stable-Diffusion-webui mac m1安装

    推荐下载器:neat download manager 安装git python 3.10 下载地址:https://github.com/AUTOMATIC1111/stable-diffusion-webui 我这边是通过pycharm 通过git直接拉取到本地的,下载的,最好先建立个gitee仓库 下载迅速(考虑到网速问题) 在苹果终端输入sudo apt install wget git python3 python3-venv 通过brew inst

    2024年02月13日
    浏览(34)
  • stable-diffusion.cpp 一个文件解决stable diffusion所有环境,不需要python,stable-diffusion.dll动态库C#调用Demo

    stable-diffusion.cpp 一个文件解决stable-diffusion所有环境,不需要python,stable-diffusion.dll动态库C#调用Demo 目录 介绍 效果 Text To Image Image To Image Upscale 项目 代码 Native.cs SDHelper.cs MainForm.cs 下载  stable-diffusion.cpp 地址:https://github.com/leejet/stable-diffusion.cpp StableDiffusionSharp 地址:https://

    2024年04月14日
    浏览(48)
  • 免费搭建个人stable-diffusion绘画(干货教程)

    目前AI绘画主流的模型有Midjourney、Stable Diffusion、DALL·E,最火的当属Midjorney和Stable Diffusion,但是由于Midjourney没有开源且要付费,我今天主要分享Stable Diffusion的部署和使用方法的分享。 大家应该面对的一个不可避免的问题,就是本身电脑的局限性,比如显卡,比如GPU,比如磁盘

    2024年02月09日
    浏览(76)
  • mac(M1)芯片安装Stable-diffusion-webui

    背景:听同事说这个都是在GPU上跑的,cpu跑这个比较费劲。我本地mac跑这个,也是为了调试一些相关的插件和api。为了开发方便点。当然确实提吃内存的。 目录 一、Stable-diffusion-webui 项目地址和官方安装方式 二、自己的安装方式 2.1、更新一下自己的homebrew 2.2、安装相关依赖

    2024年02月10日
    浏览(50)
  • Stable-Diffusion AI画画本地搭建详细步骤

    ChatGPT出来后,第一次感觉到人工智能真的可能要来了,因此也顺便尝试了下开源AI画画的搭建。网络上写的教程总是不那么面面俱到,因此本文参考了3篇文章才成功把Stable-Diffusion 本地搭建搭建了起来。参考教程在文末。    本文是本地搭建AI画画,也就是用自己的显卡去进

    2024年02月09日
    浏览(44)
  • M1芯片Mac book pro部署stable diffusion模型

    使用的电脑配置: 本文中,我的实验环境是 Apple M1CPU 的 MacBook Pro,机器内存容量为 16GB。同样还能够运行本文的设备包含: 2022 年生产的MacBook Air (M2)、13寸的 MacBook Pro (M2)、Mac Studio (2022) 2021 年生产的 14寸和16寸的 MacBook Pro、24寸的 iMac (M1) 2020 年生产的 Mac mini (M1)、MacBook Air

    2024年02月15日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包